Главная страница
    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-1257618815
andrewtitoff
2009-11-07 21:33
2009.12.27
Как разбить строку


3-1227877267
Xmen
2008-11-28 16:01
2009.12.27
Таблица из текстового файла


2-1257909781
igan
2009-11-11 06:23
2009.12.27
Типы данных C, VB -> Delphi


15-1256543859
Kerk
2009-10-26 10:57
2009.12.27
Заметки посла США в СССР (1937-1938 гг.)


1-1231821699
CodeMaster
2009-01-13 07:41
2009.12.27
И снова Drag and Drop





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский