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

Вниз

А какое сообщение возникает когда...   Найти похожие ветки 

 
pushkin42 ©   (2008-11-07 12:28) [0]

происходит перемещение или изменение размера TPanel на форме?

Т.е.: Есть форма, на ней лежат 2 панельки, надо отловить момент, когда первая панелька станет Visible=False и сделать действие над второй панелькой.

Вопрос в том, какое сообщение получают контролы при таком событии? WM_PAINT и WM_SIZE пробовал; WM_PAINT отрабатывается только если форму заставить перерисоваться командой Repaint или что-то над ней пронести, чтобы она сама перерисовалась. Перерыл все сообщения - вышло так: форма получает сообщения 45131 и 33 (что они значат - я не нашел), но при этом если повесить обработчик на любое из них, он не срабатывает.


 
clickmaker ©   (2008-11-07 12:45) [1]

WM_SHOWWINDOW, WM_SIZE


 
pushkin42 ©   (2008-11-07 12:47) [2]

Не помогло.


 
pushkin42 ©   (2008-11-07 12:52) [3]

WM_WINDOWPOSCHANGING помогло вроде, но как мне получить Handle элемента, который был изменен? В какой переменной типа Msg: TMessage содержится это значение?


 
Сергей М. ©   (2008-11-07 12:57) [4]

Ну тогда тряси бубен.

Ибо справка неумолимо твердит, что

The WM_SHOWWINDOW message is sent to a window when the window is about to be hidden or shown


 
clickmaker ©   (2008-11-07 12:59) [5]

WM_WINDOWPOSCHANGING у формы?


 
pushkin42 ©   (2008-11-07 13:02) [6]

var TMyForm=class(TForm
[...]
 protected
   procedure AlertVisibility(var msg: TMessage); message WM_WINDOWPOSCHANGING;
[...]
end;

вот как-то так

Видимо WM_SHOWWINDOW обрабатывается только для формы, а не для контролов на ней...


 
clickmaker ©   (2008-11-07 13:06) [7]

> Видимо WM_SHOWWINDOW обрабатывается только для формы, а
> не для контролов на ней...

а как ты пробовал для контролов?


 
Сергей М. ©   (2008-11-07 13:13) [8]


> WM_SHOWWINDOW обрабатывается только для формы, а не для
> контролов на ней


Кому послано, тот и обрабатывает.
С какого перепугу оно будет послано форме, если ее видимость изменилась ?
Изменилась ведь видимость окна панели, а не окна формы ..


 
Сергей М. ©   (2008-11-07 13:14) [9]


> если ее видимость изменилась


если ее видимость не изменилась


 
DVM ©   (2008-11-07 21:22) [10]


> pushkin42 ©   (07.11.08 13:02) [6]

вспоминается анекдот про мужика который потерял в одном месте ключи, а искал их в другом месте под фонарем, т.к. там светлее.

Панель - это окно и сообщения приходят ей, а не тому окну-форме, на которой она(панель) лежит. Вот и лови их в оконной процедуре панели, а не формы.



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

Текущий архив: 2009.12.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.01 c
2-1257851009
Andrewtitoff
2009-11-10 14:03
2009.12.27
ADOTable позиция


2-1257580554
FIL-23
2009-11-07 10:55
2009.12.27
Трехмерное рисование графиков


8-1172599000
shart
2007-02-27 20:56
2009.12.27
Удаление шума на изображении


15-1256321944
POOP
2009-10-23 22:19
2009.12.27
=> *.eps


1-1230639805
du_hast
2008-12-30 15:23
2009.12.27
Как можно пулчить массив данных Excel chart -а?