Вниз
Скачать: CL | DM;

анализировать код нажатой клавиши   Найти похожие ветки 

 
denary   (2003-03-18 01:41) [0]

Уважаемые мастера, помогите начинающему!
Как в этой процедуре нужно анализировать код нажатой клавиши:

procedure TForm4.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if (Key=VK_F5) then
TDBGrid(Sender).Canvas.Brush.Color := RGB($fc,$83,$bc)

else if (Key=VK_F6) then
TDBGrid(Sender).Canvas.Brush.Color := RGB($ff,$ff,$ff);
TDBGrid(Sender).DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;

Key не найдено, есссно. Можно ли вообще здесь так делать?

или тогда как в этой процедуре правильно вызвать предыдущую?

procedure TForm4.DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=VK_F5) then
TDBGrid(Sender).Canvas.Brush.Color := RGB($fc,$83,$bc)
else if (Key=VK_F6)then
TDBGrid(Sender).Canvas.Brush.Color := RGB($ff,$ff,$ff);

DBGrid1DrawColumnCell(Sender,Rect,DataCol,Column,State);
end;

[Error] Unit4.pas(850): There is no overloaded version of "Rect" that can be called with these arguments
[Error] Unit4.pas(850): Incompatible types: "TColumn" and "TGUID"

Нужно просто-напросто красить ячейку по нажатию F5 и снимать раскраску по F6. Не могу никак добиться. Помогите, пожалуйста.


 
Desdechado ©   (2003-03-24 21:43) [1]

это не так просто. нужно где-то завести флаг, кот. устанавливается в KeyDown По нажатию клавиши, а в DrawCell анализируется и соотв-но обрабатывается. флаг может быть переменной или временным полем в датасете



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
1-44186
Yuraz
2003-04-01 09:48
2003.04.14
Технология написания ScreenSaver


7-44465
Mehal'
2003-02-18 15:45
2003.04.14
Как напечатать содержимое WebBrowser ???


1-44233
travnikOFF
2003-04-02 05:20
2003.04.14
Плейлист


3-44033
Жук
2003-03-25 08:21
2003.04.14
Отбор записей в справочник


1-44247
Tayfun
2003-04-02 13:08
2003.04.14
Как из сроки S вырезать символы




   Наверх