Вниз
Скачать: 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.012 c
14-44424
Феликс
2003-03-28 20:58
2003.04.14
Программа по бухгалтерскому учету?


6-44303
Translator
2003-02-21 11:44
2003.04.14
связь Delphi с Excel


1-44155
lex01
2003-04-03 16:00
2003.04.14
как получить значение ключа реестре


14-44449
Vlad Oshin
2003-03-17 12:42
2003.04.14
Воспоминания


3-43998
Шоломицкий
2003-03-23 18:27
2003.04.14
Из базы выбрать




   Наверх