Win32: إرجاع نافذة صغيرة ومخفية إلى الأعلى
-
23-08-2019 - |
سؤال
أنا غير قادر على استعادة نافذة بعد "تقليل" نافذة للدرسة، عن طريق القيام بذلك في WNDProC:
case WM_SIZE:
if (wparam==SIZE_MINIMIZED) {
ShowWindow(hwnd,SW_HIDE);
}
break;
يبدو معالج رسالة صينية مثل هذا:
case TRAY_ICON_MESSAGE:
switch(lparam) {
case WM_LBUTTONDOWN:
ShowWindow(hwnd, SW_RESTORE);
BringWindowToTop(hwnd);
SetFocus(hwnd);
break;
// ...
لا تظهر النافذة، ولكنها مخفية دائما أسفل النوافذ الأخرى ولا تأتي إلى الأعلى. لا يبدو أن SetFocus () ولا الحواد () لديه أي تأثير.
المحلول
هل يمكن أن يكون لديك نظرة إذا كانت الوظائف ترجع أي أخطاء؟
هل يمكن أن يكون لديك إلقاء نظرة على SetForeGroundwindow.
نصائح أخرى
if (::IsIconic(hwnd))
ShowWindow(hwnd, SW_RESTORE);
::SetForegroundWindow(hwnd);
::BringWindowToTop(hwnd);
لا تستخدم SetForefround.
انظر ملاحظات MSDN.
لا تنتمي إلى StackOverflow