Вниз
Скачать: 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-1118691044
Knoxville
2005-06-13 23:30
2005.07.11
Delphi и Photoshop


1-1118813345
Layner
2005-06-15 09:29
2005.07.11
А как узнать название формы на которой лежит компанент?


3-1117201369
Lex_!
2005-05-27 17:42
2005.07.11
SQL - запрос с параметрами


6-1112684994
lin
2005-04-05 11:09
2005.07.11
TService + TClientSocket + TServerSocket


3-1117527568
Леонид
2005-05-31 12:19
2005.07.11
Удаление записи на которой находится курсор




   Наверх