我的單檔案程式會在某些時候,點擊彈出多個對話框,每個對話框有不同功能。如何控制這些對話框的顯示順序?
例如,當我用滑鼠點擊A對話框的時候,A在最頂層,也就是所有對話框的最外面。而當我點擊B對話框的時候,此時B對話框切換到最頂層。
我現在的情況是,某個對話框一直在頂層,好像順序不變似的。
謝謝!
uj5u.com熱心網友回復:
使用非模態對話框
uj5u.com熱心網友回復:
你好
我現在使用的對話框 都是非模態對話框。只是這幾個非模態對話框的顯示順序有問題,不能通過點擊對話框調到最頂層
uj5u.com熱心網友回復:
是不是用了SetWindowPos ?uj5u.com熱心網友回復:
void CColorTakeDlg::OnOptionsStayontop()
{
// TODO: Add your command handler code here
bTopMost ^= TRUE;
if(bTopMost)
::SetWindowPos(m_hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
else
::SetWindowPos(m_hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
ToggleMenuItem(0, 1);
}
uj5u.com熱心網友回復:
void CZorderView::OnReverseOrder()
{
int jj;
if(! CMyWnd::m_ReverseOrder)
{// 1st reverse
for(jj=MAX_WINS-1;jj >= 0;jj--)
{
m_paWnd[jj]->SetWindowPos(&wndTop,0,0,0,0,SWP_SHOWWINDOW | SWP_NOSIZE | SWP_NOMOVE);
}
}
else
{//
for(jj=0;jj < MAX_WINS;jj++)
{
m_paWnd[jj]->SetWindowPos(&wndTop,0,0,0,0,SWP_SHOWWINDOW | SWP_NOSIZE | SWP_NOMOVE);
}
}
// tell CMyWnd
CMyWnd::m_ReverseOrder = ! CMyWnd::m_ReverseOrder;
}
uj5u.com熱心網友回復:
SetWindowPos(&wndTop,0,0,0,0,SWP_SHOWWINDOW | SWP_NOSIZE | SWP_NOMOVE)uj5u.com熱心網友回復:
用個TabCtrl來管理這些對話框視窗uj5u.com熱心網友回復:
模態對話框都是最后顯示的會在最頂層,你使用的非模態對話框
uj5u.com熱心網友回復:
你好
沒有使用,我直接用的是ShowWindow(True). 先create 然后 show的
uj5u.com熱心網友回復:
你好
這兩函式 是回應 什么訊息的?
uj5u.com熱心網友回復:
你好,由于布局 關系,這兩對話框不能放在一個tabctrl 里。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/99736.html
標籤:基礎類
