سؤال

أنا غير قادر على استعادة نافذة بعد "تقليل" نافذة للدرسة، عن طريق القيام بذلك في 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.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top