![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
GetPropInfo... [D6, Win95/98, Win2k, WinXP]
MetalFan © (2004-06-21 12:38:00)Доброе время дня, Мастера!
есть код, работающий через сабж, позволяющий учтановить св-во OnKeyPress у любого контрола...
function SetMyKeyPress(aControl: TObject): boolean;
var
lPropInfo: PPropInfo;
lMethod : TMethod;
begin
result := assigned(aControl);
if result then
begin
lPropInfo := GetPropInfo(aControl, 'OnKeyPress');
result := assigned(lPropInfo) and (lPropInfo^.PropType^^.Kind = tkMethod);
if result then
begin
//ЗДЕСЬ НИЧЕГО НЕ МЕНЯТЬ!
lMethod.Data := aControl;
iltLiters: lMethod.Code := @OnMyKeyPress;
SetMethodProp(aControl, lPropInfo, lMethod);
end;
end;
end;
...
procedure OnMyKeyPress(ASelf, ASender: TObject;var Key: Char);
begin
...
end;
а вопрос следующий: как мне запомнить (если он был назначен) предыдущий обработчик, и вызывать его в случае необходимости?
как я подозреваю, надо копать в сторону GetMethodProp...
жду совета)
MetalFan (2004-06-24 19:04:00) [1]
> Клади.
что-то много у меня кода получилось... не получится в форум выложить)
хотя можно было и по-проще сделать...
GrayFace (2004-06-22 19:04:00) [2]Клади.
MetalFan (2004-06-21 13:35:00) [3]все... хм) всем спасибо!
вроде разобрался!
кому интересно, пишите - выложу, что нашел!