Окно не отображается (развернуто) после сворачивания - PullRequest
2 голосов
/ 24 января 2011

У меня есть приложение Windows CE, которое регистрирует нажатия клавиш мобильного устройства. Есть кнопка для инициализации функциональности записи, которая заставляет главное окно свернуться, вызывая:

ShowWindow (hWnd, SW_MINIMIZE);

Прежде чем свернуть окно, я регистрируюсь на событие кнопки триггера (через пользовательский API). Пока приложение свернуто, я нажимаю несколько кнопок и нажимаю кнопку запуска, чтобы завершить сеанс. Когда я получаю событие триггерной кнопки, я звоню:

ShowWindow (hWnd, SW_MAXIMIZE);

Проблема в том, что окно не развернуто. Если я отлаживаю приложение, я вижу, что вызывается функция ShowWindow. Я мог бы вывести его на передний план через TaskManager, переключившись на приложение.

Может кто-нибудь объяснить причину этого и предложить какое-либо решение, которое я могу принять?

EDIT: Решение: Вызовите «SetForegroundWindow» перед вызовом ShowWindow и используйте SW_RESTORE вместо SW_MAXIMIZE. SW_MAXIMIZE не работает.

SetForegroundWindow (g_hWndMain);
ShowWindow (g_hWndMain, SW_RESTORE);

Ответы [ 3 ]

5 голосов
/ 24 января 2011

Showwindow может произойти сбой по нескольким причинам.

Вы можете попробовать:

1) Установить передний план

SetForegroundWindow

Подробнее о WinCE см. В следующей статье MSDN.
http://msdn.microsoft.com/en-us/library/ms940024.aspx

SetForegroundWindow((HWND)(((ULONG) hwnd) | 0x01) );

2) Вывести на фронт

BringWindowToTop
http://msdn.microsoft.com/en-us/library/ee504610.aspx

3 голосов
/ 24 января 2011

Второй параметр в ShowWindow(HWND hWnd, int nCmdShow) может принимать значение:

SW_HIDE, SW_SHOW, SW_SHOWNA, SW_SHOWNORMAL

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

О функциях Windows в WinCE вы можете прочитать на MSDN .

1 голос
/ 24 января 2011

Попробуйте сначала восстановить окно, а затем развернуть.

У меня нет Windows CE, поэтому я не могу проверить, но это должно сработать.

Приветствия & hth.,

...