Форум: "Основная";
Текущий архив: 2003.07.31;
Скачать: [xml.tar.bz2];
ВнизОпределние, что поступило сообщение Найти похожие ветки
← →
Endi (2003-07-18 15:35) [0]Уважаемые мастера!!!
Каким образом форма может определить, что дочернее окно получило сообщение?
← →
Юрий Федоров (2003-07-18 15:40) [1]подменить дочернему окну WindowProc.
Предварительно запомнить старый, вызвать его из нового
← →
-= Demon =- (2003-07-18 15:41) [2]Получив от него соответствующее сообщение :) ...
← →
Endi (2003-07-18 15:45) [3]На компоненте Panel1 лежит Edit1, как определить, что Panel1 получила сообщение WM_KEYDOWN?
← →
-= Demon =- (2003-07-18 15:52) [4]Обрабатывать ON_KEYDOWN в Edit1...
← →
Endi (2003-07-18 15:52) [5]А как это прописать?
← →
-= Demon =- (2003-07-18 15:54) [6]Выбираешь Edit1, на закладке Object Inspector закладка Events, идешь на OnKeyDown - все!...
← →
Endi (2003-07-18 16:23) [7]Каким образом можно применить WindowProc, я попробывал у меня она при создании формы посылает сообщение, а дальше молчание?
← →
Юрий Федоров (2003-07-18 16:40) [8]Уточни, что именно нужно, поподробнее
← →
Endi (2003-07-18 16:53) [9]Выглядит так:
procedure TForm1.WMCtlColorEdit(var Message : TMessage);
begin
if message.Msg = wm_CtlColorEdit then
SetBkMode(edit1.Handle, TRANSPARENT);
inherited;
end;
procedure Tform1.FormCreate(Sender: TObject);
begin
windowproc:=WMCtlColorEdit;
end;
причем так даже форма не прорисовывается.
← →
Юрий Федоров (2003-07-18 17:06) [10]TForm1 = class(TForm)
...
private
FOldEdit1WndProc : TWndMethod;
procedure NewEdit1WndMethod(var Message : TMessage);
....
procedure Tform1.FormCreate(Sender: TObject);
begin
FOldEditWndProc:=Edit1.WndMethod;
Edit1.WndMethod:=NewEdit1WndMethod;
end;
...
procedure TForm1.NewEdit1WndMethod(var Message : TMessage);
begin
if message.Msg = wm_CtlColorEdit
then SetBkMode(edit1.Handle, TRANSPARENT)
else FOldEditWndProc(Message);
end;
примерно так
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.07.31;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c