![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с Unit [D7, XP]
romanln © (2010-07-03 12:31:00)Есть форма Form1: TForm1;
На ней объект MATRIX1: TStringGrid;
Убираю выделение на MATRIX1
procedure TForm1.MATRIX_1(Sender: TObject; ACol, ARow: Integer; Rect: TRect;
State: TGridDrawState);
begin
with MATRIX1 do
begin
if gdSelected in state then
begin
Canvas.Brush.Color:=clwhite;
Canvas.FillRect(Rect);
Canvas.Font:=Font;
DrawText(canvas.Handle, PChar(Cells[ACol, ARow]), -1, Rect,
DT_NOPREFIX or DT_SINGLELINE);
end;
end;
end;
добавил новый файл:StringGrid.pas
uses
Forms,
matrix in 'matrix.pas' {Form1},
StringGrid in 'StringGrid.pas';
Цель: сделать оформление объектов формы в новом файле, в данном случае убирать выделение с StringGrid в файле StringGrid.pas, как это сделать?
Германн (2010-07-05 01:22:00) [1]
> Цель: сделать оформление объектов формы в новом файле
Ищи в Гугле plugins, плагины и т.п. В противном случае вопрос не имеет смысла.
romanln (2010-07-04 20:08:00) [2]Спасибо
Жаль что воплатить в код я это врятли смогу )
Leonid Troyanovsky (2010-07-04 11:00:00) [3]
> romanln (03.07.10 12:31)
> Цель: сделать оформление объектов формы в новом файле, в
> данном случае убирать выделение с StringGrid в файле StringGrid.
Для того, чтобы снабдить класс дополнительной функциональностью
создают потомка: TMyStringGrid = class(TStringGrid), перекрывая (override) нужный метод класса, в данном случае - procedure DrawCell.
Потомка описывают в отдельном модуле (юните, pas), который включают
(uses) в нужных местах. При желании можно установить новый контрол
в палитру компонентов.
> DrawText(canvas.Handle, PChar(Cells[ACol, ARow]), -
> 1, Rect,
> DT_NOPREFIX or DT_SINGLELINE);
Здесь достатчно Canvas.TextOut.
--
Regards, LVT.