Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

FAQ - События нажатия на системные кнопки формы (минимизация, закрытие...)

© Зайцев Олег
http://z-ol.chat.ru/

Хотелось бы чтобы при нажатии на кнопку MINIMIZE программа исчезала из таскбара.

При нажатии на эти кнопки происходит сообщение WM_SYSCOMMAND, его то и надо перехватить. При этом:

  • UCMDTYPE = WPARAM; // TYPE OF SYSTEM COMMAND REQUESTED
  • XPOS = LOWORD(LPARAM); // HORIZONTAL POSTION, IN SCREEN COORDINATES
  • YPOS = HIWORD(LPARAM); // VERTICAL POSTION, IN SCREEN COORDINATES
    Пример:
    
    TYPE TMAIN = CLASS(TFORM)
     ....
     PROTECTED
      PROCEDURE WMGETSYSCOMMAND(VAR MESSAGE :TMESSAGE); MESSAGE WM_SYSCOMMAND;
     END;
     .....
    //------------------------------------------------------------------------
    //   Обработка сообщения WM_SYSCOMMAND (перехват минимизации окна)
    //------------------------------------------------------------------------
    PROCEDURE TFORM1.WMGETSYSCOMMAND(VAR MESSAGE : TMESSAGE) ;
    BEGIN
     IF (MESSAGE.WPARAM = SC_MINIMIZE) THEN FORM1.VISIBLE:=FALSE
     ELSE INHERITED;
    END;
    
    Остальные Вопросы
  • Оставить комментарий

    Комментарий:
    можно использовать BB-коды
    Максимальная длина комментария - 4000 символов.
     
    Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
    Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог