Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
2-1257856549
Kolan
2009-11-10 15:35
2009.12.27
Самодельная отрисовка мигает


2-1257782558
Nutz
2009-11-09 19:02
2009.12.27
out of memory


1-1215982046
Stan
2008-07-14 00:47
2009.12.27
Кириллица отображается неверно.


1-1230592103
ivanoff
2008-12-30 02:08
2009.12.27
Форма MDIChild не разворачвается полностью


2-1257412567
kyn66
2009-11-05 12:16
2009.12.27
Сохранение параметров программы одним числом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский