隱藏基於對話方塊程式

2021-04-12 18:58:39 字數 1318 閱讀 9646

定義托盤響應訊息:

#define wm_systray wm_user + 120

在標頭檔案中定義變數:

windowplacement m_wp;

// 以便在恢復時使用

notifyicondata m_tmid;

// 托盤結構

crect

m_rectwnd;       // 儲存視窗區域

在初始化函式中加入:

getwindowrect(&m_rectwnd); // 恢復時使用

getwindowplacement(&m_wp); //恢復時用

windowplacement wp;

wp.length = sizeof(windowplacement);

wp.flags = wpf_restoretomaximized;

wp.showcmd = sw_hide;

setwindowplacement(&wp);

m_tmid.cbsize = sizeof (notifyicondata);

m_tmid.hwnd = this->m_hwnd;

m_tmid.uflags = nif_message | nif_icon | nif_tip;

m_tmid.ucallbackmessage = wm_systray;

m_tmid.uid = idr_mainframe;

cstring sz = _t("");

strcpy(m_tmid.sztip, "");

hicon hicon;

m_tmid.hicon = hicon;

pnotifyicondata m_ptnid = &m_tmid;

::shell_notifyicon(nim_add, m_ptnid);

if (hicon)

::destroyicon(hicon);

增加視窗訊息函式 wm_destroy 增加如下

void cclientdlg::ondestroy()

響應windowproc訊息

lresult cclientdlg::windowproc(uint message, wparam wparam, lparam lparam)

break;

case wm_syscommand:

if (wparam == sc_minimize)

if (wparam == sc_close)

break;

}return cdialog::windowproc(message, wparam, lparam);

}

MFC基於對話方塊程式

001 020 else if nresponse idcancel 如果對話方塊是用取消來關閉的,則 021 025 026 由於對話方塊已關閉,所以將返回 false 以便退出應用程式,027 而不是啟動應用程式的訊息幫浦。028 return false 029 因為initinstance ...

mfc對話方塊隱藏

有很多應用程式要求一起動就隱藏起來,這些程式多作為後台程式執行,希望不影響其他視窗,往往只在托盤區顯示乙個圖示。這些程式通常都是對話方塊程式,而對話方塊在初始化的過程上與sdi mdi的初始化是不同的,對話方塊只需要domodule或者是createdialog等等對話方塊函式呼叫一次便可,sdi ...

MFC 對話方塊 隱藏 關閉

1.隱藏當前對話方塊 showwindow this m hwnd,false 2.關閉當前對話方塊 首先在對話方塊訊息函式中新增 wm close訊息,然後在自己的類中,過載onclose 函式 關閉當前對話方塊語句為 關閉當前對話方塊 cdialog onclose 3.關閉主對話方塊 向主對話...