Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.31;
Скачать: CL | DM;

Вниз

Определние, что поступило сообщение   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
4-101022
pirat
2003-05-27 21:14
2003.07.31
Как получить число секунд с 1 января 1970 года ?


14-100919
zolotov
2003-07-14 19:19
2003.07.31
Как переводится слово Enhanced?


3-100560
Вован
2003-07-07 12:35
2003.07.31
Добавляю динамически поле в DataSet а при его открытии


1-100719
Calm
2003-07-18 17:12
2003.07.31
Может ли сервис поставить Hook?


14-100931
Ткаченко Сергей
2003-07-15 09:33
2003.07.31
Подсчет суммы поля из SQL запроса.