MFC對話框中添加狀態(tài)欄的方法
更新時間:2015年07月21日 16:20:34 作者:華宰
這篇文章主要介紹了MFC對話框中添加狀態(tài)欄的方法,實例分析了MFC對話框添加狀態(tài)欄所涉及的相關(guān)成員變量與事件實現(xiàn)技巧,需要的朋友可以參考下
本文實例講述了MFC對話框中添加狀態(tài)欄的方法。分享給大家供大家參考。具體如下:
1.在對話框的dlg實現(xiàn)類里添加成員變量:
CXTPStatusBar m_wndStatusBar;
//狀態(tài)欄(或者是CStatusBar)
//在OnInitDialog方法中初始化:
static UINT indicators[] =
{
ID_SEPARATOR, // status line indicator
ID_INDICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
};
//添加狀態(tài)欄
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failed to create status bar\n");
return -1; // fail to create
}
2.添加OnKickIdle事件(在對話框的dlg的頭文件加上) :
afx_msg LRESULT OnKickIdle(WPARAM, LPARAM); afx_msg void OnUpdateKeyIndicator(CCmdUI* pCmdUI); DECLARE_MESSAGE_MAP()
3.在實現(xiàn)類中添加對應(yīng)的兩個方法:
LRESULT CDialogPanesDlg::OnKickIdle(WPARAM, LPARAM)
{
m_wndStatusBar.SendMessage(WM_IDLEUPDATECMDUI, TRUE);
return 0;
}
void CDialogPanesDlg::OnUpdateKeyIndicator(CCmdUI* pCmdUI)
{
UINT nVK;
UINT flag = 0×0001;
switch (pCmdUI->m_nID)
{
case ID_INDICATOR_CAPS:
nVK = VK_CAPITAL;
break;
case ID_INDICATOR_NUM:
nVK = VK_NUMLOCK;
break;
case ID_INDICATOR_SCRL:
nVK = VK_SCROLL;
break;
default:
TRACE1("Warning: OnUpdateKeyIndicator – unknown indicator 0x%04X.\n",
pCmdUI->m_nID);
pCmdUI->ContinueRouting();
return; // not for us
}
pCmdUI->Enable(::GetKeyState(nVK) & flag);
// enable static text based on toggled key state
ASSERT(pCmdUI->m_bEnableChanged);
}
4.運行發(fā)現(xiàn)看不見狀態(tài)欄,添加對話框的WM_SIZE事件:
void CDialogPanesDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
CRect rcClient(0, 0, cx, cy);
RepositionBars(0, 0xffff, AFX_IDW_PANE_FIRST, 0, 0, &rcClient);
RepositionBars(0, 0xffff, AFX_IDW_PANE_FIRST, reposQuery, &rcClient, &rcClient);
}
希望本文所述對大家的MFC程序設(shè)計有所幫助。
您可能感興趣的文章:
相關(guān)文章
C++默認(rèn)參數(shù)與函數(shù)重載及注意事項
這篇文章主要介紹了C++默認(rèn)參數(shù)與函數(shù)重載及注意事項包括語法與使用,通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值 ,需要的朋友可以參考下2020-03-03
C++?超詳細(xì)分析數(shù)據(jù)結(jié)構(gòu)中的時間復(fù)雜度
時間復(fù)雜度一般指時間復(fù)雜性。?在計算機(jī)科學(xué)中,時間復(fù)雜性,又稱時間復(fù)雜度,算法的時間復(fù)雜度是一個函數(shù),它定性描述該算法的運行時間2022-03-03
VS2022連接sqlserver數(shù)據(jù)庫教程
本文主要介紹了VS2022連接sqlserver數(shù)據(jù)庫教程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
c語言中實現(xiàn)數(shù)組幾個數(shù)求次大值
這篇文章主要介紹了c語言中實現(xiàn)數(shù)組幾個數(shù)求次大值,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12

