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

Компонент и WM_DISPLAYCHANGE   Найти похожие ветки 

← →
FX ©   (2004-07-02 18:45) [0]

Здравствуйте. Как заставить компонент, наследник TCustomControl, получать сообщения WM_DISPLAYCHANGE?
Спасибо.


← →
Mim1 ©   (2004-07-02 21:11) [1]

Написав метод
   procedure mymsg(var msg:Tmessage); message wm_user+10;
вы сможете передать в него при помоши perform нужное событие.
Так же можно изменить предка вашего компонента на TWinControl и тогда указанный выше метод (mymsg) сработает наверняка.
Если же это невозможно, то можно сделать так же, как это реализовано в таймере. Т.е. создать невидимое окно allocatehwnd.
Возможно можно как то подписаться на получение этого сообщения от parent"a, к сожалению мне такого способа неитзвестно.


← →
FX ©   (2004-07-05 11:48) [2]

1) TCustomControl является потомком TWinControl
2) Не работает код:

type
 TMyComponent = class(TCustomControl)
 private
   { Private declarations }
 protected
   { Protected declarations }
   procedure WMDisplayChange(var Msg: TWMDisplayChange); message WM_DISPLAYCHANGE;

...

implementation

procedure TMyComponent.WMDisplayChange(var Msg: TWMDisplayChange);
begin
 Windows.Beep(500, 500);
end;

...

Почему?

Спасибо.


← →
Григорьев Антон ©   (2004-07-05 13:40) [3]

Ответил здесь: http://www.delphikingdom.com/asp/answer.asp?IDAnswer=23537


← →
Mim1 ©   (2004-07-05 17:57) [4]


> TCustomControl является потомком TWinControl


Точно, я почемуто подумал что это предок TControl. По аналогии с TPanel -> TCustomPanel, TEdit->TCustomEdit и п.д.



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

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



Память: 0.45 MB
Время: 0.025 c
1-1118776999
Knoxville
2005-06-14 23:23
2005.07.11
Поиск папок


4-1116075085
Дельфин
2005-05-14 16:51
2005.07.11
Цвет текста в консольных приложениях


14-1118208485
Cosinus
2005-06-08 09:28
2005.07.11
Подскажите, как освободить виртуальную память


10-1095927781
AntonSh
2004-09-23 12:23
2005.07.11
COM сервер


1-1118916761
Aaz
2005-06-16 14:12
2005.07.11
Математические основы шифрования




   Наверх