Чтение онлайн

на главную - закладки

Жанры

Советы по Delphi. Версия 1.0.6

Озеров Валентин

Шрифт:

Копирование в буфер обмена

Две вспомогательных процедуры:

procedure CopyButtonClick(Sender: TObject);

begin

 If ActiveControl is TMemo then TMemo(ActiveControl).CopyToClipboard;

 If ActiveControl is TDBMemo then TDBMemo(ActiveControl).CopyToClipboard;

 If ActiveControl is TEdit then TEdit(ActiveControl).CopyToClipboard;

 If ActiveControl is TDBedit then TDBedit(ActiveControl).CopyToClipboard;

end;

procedure PasteButtonClick(Sender: TObject);

begin

 If ActiveControl is TMemo then TMemo(ActiveControl).PasteFromClipboard;

 If ActiveControl is TDBMemo then TDBMemo(ActiveControl).PasteFromClipboard;

 If ActiveControl is TEdit then TEdit(ActiveControl).PasteFromClipboard;

 If ActiveControl is TDBedit then TDBedit(ActiveControl).PasteFromClipboard;

end;

Форма

как графический объект

Каким образом можно скопировать форму в буфер обмена в виде графического изображения?

uses clipbrd;

procedure TShowVRML.Kopieren1Click(Sender: TObject);

var bitmap:tbitmap;

begin

 bitmap:=tbitmap.create;

 bitmap.width:=clientwidth;

 bitmap.height:=clientheight;

 try

with bitmap.Canvas do CopyRect (clientrect,canvas,clientrect);

clipboard.assign(bitmap);

 finally

bitmap.free;

 end;

end;

Компоненты

BitBtn

Смена иконки BitBtn во время работы приложения

Иконка компонента является инкапсулированным объектом, требующим для хранения изображения некоторый участок памяти. Следовательно, при замене иконки, память, связанная с первоначальной иконкой, должна возвратиться в кучу, а для новой иконки требуется новое распределение памяти. По правилам Delphi, этим должен заниматься метод "Assign". Ниже приведен код всей процедуры замены иконки.

implementation

{$R *.DFM}

var n: integer; // При инициализации программы данное значение будет равным нулю

procedure TForm1.Button1Click(Sender: TObject);

var Image: TBitmap;

begin // Изменение иконки в bitbtn1

 Image:= TBitmap.Create;

 if n < ImageList1.Count then ImageList1.GetBitmap(n, Image); {end if}

 BitBtn1.Glyph.Assign(Image) // Примечание: Для изменения свойств объекта используется метод Assign

 inc(n,2); //
В данный момент кнопка содержит две иконки!

 if n > ImageList1.Count then n:= 0; {end if}

 Image.Free;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin // добавляем новую иконку кнопки в список imagelist1

 if OpenDialog1.Execute then ImageList1.FileLoad(rtBitMap,OpenDialog1.FileName,clBtnFace);

 label1.Caption:= 'Количество иконок = ' + IntToStr(ImageList1.Count);

end;

DBGrid

Использование опции MultiSelect в DBGRID

Есть пример в Delphi Technical Information… Его можно посмотреть по адресу http://loki.borland.com/winbin/bds.exe?getdoc+2976+Delphi

{*

 Данный пример позволяет производить множественный выбор записей

 в табличной сетке и отображать второе поле

 набора данных.

 Метод DisableControls применяется для того, чтобы

 DBGrid не обновлялся во время изменения набора данных.

 Последняя позиция набора данных сохраняется как

 TBookmark.

 Метод IndexOf вызывается для проверки

 существования закладки.

 Решение использовать метод IndexOf, а не метод

 Refresh должно определяться

 спецификой приложения.

*}

procedure TForm1.SelectClick(Sender: TObject);

var

 x: word;

 TempBookmark: TBookMark;

begin

 DBGrid1.Datasource.Dataset.DisableControls;

 with DBgrid1.SelectedRows do if Count <> 0 then begin

TempBookmark:= DBGrid1.Datasource.Dataset.GetBookmark;

for x:= 0 to Count - 1 do begin

if IndexOf(Items[x]) > –1 then begin

DBGrid1.Datasource.Dataset.Bookmark:= Items[x];

showmessage(DBGrid1.Datasource.Dataset.Fields[1].AsString);

end;

end;

 end;

 DBGrid1.Datasource.Dataset.GotoBookmark(TempBookmark);

 DBGrid1.Datasource.Dataset.FreeBookmark(TempBookmark);

 DBGrid1.Datasource.Dataset.EnableControls;

end;

Edit

Поделиться:
Популярные книги

Черный дембель. Часть 5

Федин Андрей Анатольевич
5. Черный дембель
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Черный дембель. Часть 5

30 сребреников

Распопов Дмитрий Викторович
1. 30 сребреников
Фантастика:
попаданцы
альтернативная история
фэнтези
фантастика: прочее
5.00
рейтинг книги
30 сребреников

Жребий некроманта 2

Решетов Евгений Валерьевич
2. Жребий некроманта
Фантастика:
боевая фантастика
6.87
рейтинг книги
Жребий некроманта 2

Охота на разведенку

Зайцева Мария
Любовные романы:
современные любовные романы
эро литература
6.76
рейтинг книги
Охота на разведенку

Чужбина

Седой Василий
2. Дворянская кровь
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Чужбина

Возвышение Меркурия. Книга 4

Кронос Александр
4. Меркурий
Фантастика:
героическая фантастика
боевая фантастика
попаданцы
5.00
рейтинг книги
Возвышение Меркурия. Книга 4

Надуй щеки! Том 3

Вишневский Сергей Викторович
3. Чеболь за партой
Фантастика:
попаданцы
дорама
5.00
рейтинг книги
Надуй щеки! Том 3

Идеальный мир для Лекаря 16

Сапфир Олег
16. Лекарь
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 16

По воле короля

Леви Кира
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
По воле короля

Он тебя не любит(?)

Тоцка Тала
Любовные романы:
современные любовные романы
7.46
рейтинг книги
Он тебя не любит(?)

Курсант: назад в СССР 9

Дамиров Рафаэль
9. Курсант
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Курсант: назад в СССР 9

Штуцер и тесак

Дроздов Анатолий Федорович
1. Штуцер и тесак
Фантастика:
боевая фантастика
альтернативная история
8.78
рейтинг книги
Штуцер и тесак

Камень Книга седьмая

Минин Станислав
7. Камень
Фантастика:
фэнтези
боевая фантастика
6.22
рейтинг книги
Камень Книга седьмая

Хозяйка дома в «Гиблых Пределах»

Нова Юлия
Любовные романы:
любовно-фантастические романы
5.75
рейтинг книги
Хозяйка дома в «Гиблых Пределах»