个人将应用程序最小化的方法是
ShowWindow(SW_HIDE);
最大化的时候发现有个程序老是显示不正常,只有任务栏那一块paint出来了,点击任务栏后才全部出来
InitInstance()中相关代码:
HWND hWnd=::FindWindow(0, TEXT("TCMusicManager"));
if( hWnd )
{
::ShowWindow(hWnd, SW_SHOW);
::BringWindowToTop(hWnd);
return FALSE;
}
/*CWnd *pWndPrev;
if(pWndPrev = CWnd::FindWindow(0,L"TCMusicManager"))
{
pWndPrev->ShowWindow(SW_SHOW);
pWndPrev->SetForegroundWindow();
return FALSE;
}*/
API那段就会出现问题 ,MFC那段正常显示。开始一直搞的稀里糊涂的。
贴上正解:
Use the BringWindowToTop function to uncover any window that is partially or completely obscured by other windows.
Calling this function is similar to calling the SetWindowPos function to change a window's position in the z-order. BringWindowToTop does not make a window a top-level window.
If an application is not in the foreground and wants to be in the foreground, it should call the SetForegroundWindow function.
顺便让群主露个面,O(∩_∩)O哈哈~
将API的::BringWindowToTop(hWnd); 改为::SetForegroundWindow(hWnd);也可以正常显示