Форум: "WinAPI";
Текущий архив: 2009.12.27;
Скачать: [xml.tar.bz2];
ВнизА какое сообщение возникает когда... Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2009.12.27;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c