Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.09.11;
Скачать: [xml.tar.bz2];

Вниз

Поймать событие сворачивания/разворачивания окна   Найти похожие ветки 

 
Creep1   (2005-07-21 21:33) [0]

Здраствуйте мастера.
Помогите пожалуйста обработать клик по кнопке сворачивание/разворачивание окна.


 
begin...end ©   (2005-07-21 21:36) [1]

WM_SYSCOMMAND


 
Creep1   (2005-07-21 21:47) [2]

Пожалуйста чуть по подробней, а то я не въезжаю.


 
begin...end ©   (2005-07-21 21:54) [3]

> Creep1   (21.07.05 21:47) [2]

ОК. Но сначала ответьте на несколько уточняющих вопросов:

1. Нужно перехватить именно КЛИК НА КНОПКЕ "Свернуть", или нужно просто ОТЛОВИТЬ СОБЫТИЕ свёртывания окна? Это я к тому, что окно может быть свёрнуто и без нажатия на кнопку "Свернуть" -- например, выбором соответствующего пункта в системном меню.
2. Речь идёт об окне (которое создано Вами на API) или о форме?


 
Creep1   (2005-07-21 22:05) [4]

Мене нужно что когда пользователь кликал на свернуть/развернуть,
запускалась моя процедура.
Например когда форма создается есть событие onCreate,
вот мне надо тоже только с сверуть/развернуть.
Я конечно фигово выразился :) ну надеюсь что хоть чучуть понятно.


 
begin...end ©   (2005-07-21 22:15) [5]

> Creep1   (21.07.05 22:05) [4]

Единственное, что я понял -- речь идёт всё же о форме.
Вот пример для сворачивания:

type
 TForm1 = class(TForm)
 private
   procedure WMSysCommand(var Message: TMessage); message WM_SYSCOMMAND;
 ...
 end;

procedure TForm1.WMSysCommand(var Message: TMessage);
begin
 if Message.WParam and $FFF0 = SC_MINIMIZE then
   // Если неважно, ЧТО вызвало сворачивание окна -- нажатие кнопки
   // "Свернуть" или что-либо другое, то следующую строку нужно убрать
   if SendMessage(Handle, WM_NCHITTEST, 0, Message.LParam) = HTMINBUTTON then
     // Тут -- код по обработке события  
 inherited
end


Для разворачивания -- то же самое, только с SC_MAXIMIZE и HTMAXBUTTON.


 
Creep1   (2005-07-21 22:34) [6]

Большое спасибо! вроде все работает.



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

Форум: "WinAPI";
Текущий архив: 2005.09.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.017 c
3-1122729432
r2d2
2005-07-30 17:17
2005.09.11
как обнулить автоикрементное поле в таблице Paradox?


14-1124199196
Vlad Oshin
2005-08-16 17:33
2005.09.11
Как думаете, кто глючит: принтер или FastReport?


14-1124040148
Иксик
2005-08-14 21:22
2005.09.11
Я просто не выдержал...


10-1101836168
Shopot
2004-11-30 20:36
2005.09.11
OLE. Создание отчета


9-1115463075
Кефир87
2005-05-07 14:51
2005.09.11
OpenGL : glBlengFunc : Текстура БЕЗ альфа канала...





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