Вниз
Скачать: 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.027 c
14-1118605421
Просто Джо
2005-06-12 23:43
2005.07.11
Обработка file upload в PHP


1-1119513253
TAN_K
2005-06-23 11:54
2005.07.11
Фреймы


1-1118749464
GEEK
2005-06-14 15:44
2005.07.11
В чем ошибка? Можно ли сравнить две TPoint?


1-1118909367
Elena_
2005-06-16 12:09
2005.07.11
Помогите скопировать Image


6-1112683463
doktor
2005-04-05 10:44
2005.07.11
как узнать все IP в локальной сети




   Наверх