Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не разворачивается окно, Не приходит сообщение WM_SYSCOMMAND 
:(
    Опции темы
Vstanka
Дата 19.11.2013, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.8.2013
Где: Мурманск

Репутация: нет
Всего: нет



Имеется приложение, проблема в том, что после сворачивания в панель задач не приходит сообщение "развернуть"
Код

// Карта сообщений   
BEGIN_MESSAGE_MAP 
 VCL_MESSAGE_HANDLER(WM_SYSCOMMAND, TMessage, SysCommand); 
 END_MESSAGE_MAP(TForm); 


Код

void __fastcall TfrmMain::SysCommand(TMessage &Msg) 
 { 
     switch ( Msg.Msg ) 
     { 
         case WM_SYSCOMMAND: 
             switch ( Msg.WParam & 0xFFF0 ) 
             { 
                 case SC_MINIMIZE: 
                     switch ( WindowState ) 
                     { 
                         case wsMinimized: 
                             SendMessage(Application->Handle, WM_SYSCOMMAND, SC_RESTORE, 0); 
                         break; 
   
                         case wsMaximized: 
                         case wsNormal: 
                             SendMessage(Application->Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0); 
                         break; 
                     } 
                 break; 
   
                 case SC_RESTORE: 
                     if ( WindowState != wsNormal ) 
                     { 
                         SendMessage(Application->Handle, WM_SYSCOMMAND, SC_RESTORE, 0); 
                     } 
                     TForm::Dispatch(&Msg); 
                 break; 
   
                 default: 
                     TForm::Dispatch(&Msg); 
             } 
         break; 
     } 
 } 


Форма сворачивается, но назад не восстанавливается. Даже не заходит в SysCommand. Что не так? Интересно то, что при клике на кнопку формы на панели задач приходит сообщение WM_ACTIVATEAPP, но состояние формы wsNormal. И даже если при приходе сообщения WM_ACTIVATEAPP просто тупо посылать 
Код

SendMessage(Application->Handle, WM_SYSCOMMAND, SC_RESTORE, 0);

все равно, в SysCommand не заходит
PM MAIL   Вверх
Vstanka
Дата 30.12.2013, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.8.2013
Где: Мурманск

Репутация: нет
Всего: нет



Оказывается, что проблема не в сообщениях, а в чем-то другом. Дело в том, что приложение представляет собой библиотеку и ее загрузчик. 
Создала простое приложение с одной (пустой) формой и простую библиотеку с формой (тоже пустая). Если просто вызываю приложение, то сворачивание\разворачивание проходит нормально. Но как только вставляю в него вызов библиотеки, то форма либо сворачивается в левый нижний угол рабочего стола, либо зависает..

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  _project.rar 215,85 Kb
PM MAIL   Вверх
SVN74
Дата 8.1.2014, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 5.5.2008
Где: Комсомольск на Дн епре

Репутация: 11
Всего: 18



Попробуйте это, срабатывает лучше.
ShowWindow(Application->Handle, SW_MINIMIZE);
ShowWindow(Application->Handle, SW_RESTORE);
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0551 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.