亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

關(guān)于菜單欄和狀態(tài)欄的使用

系統(tǒng) 2729 0

1.工具條

? ? ?假設(shè)已經(jīng)新建好了一個資源文件菜單欄(IDR_MENU1),現(xiàn)在需要將該菜單欄加載到我們的對話框中去,在OnInitDialog()函數(shù)內(nèi)添加,具體代碼如下:

    // TODO: 在此添加額外的初始化代碼
//ADD
//加載菜單
m_menu.LoadMenu( IDR_MENU1 );
SetMenu( &m_menu );
m_menu.Detach();//因為這里是類成員變量,可以不使用這句,但是局部變量的話必須要有這個
  

這樣的話就可以在運行界面中看到我們的菜單欄了。這里的m_menu我是聲明為CMenu的成員變量,這里可以不加最后一行代碼。

這樣做完后,可以看到菜單并操作,但是不能進行消息響應(yīng)。對菜單進行消息響應(yīng)的時候,據(jù)說可以使用響應(yīng)UPDATE_COMMAND_UI來實現(xiàn),但是我嘗試了下,發(fā)現(xiàn)沒有反應(yīng),最后我是使用了響應(yīng)消息WM_COMMAND來實現(xiàn)菜單響應(yīng)的。具體代碼如下:

    BOOL CImportTableDlg::OnCommand(WPARAM wParam, LPARAM lParam)
{
	// TODO: 在此添加專用代碼和/或調(diào)用基類
	int menuID = LOWORD(wParam);
	CAboutDlg dlgAbout;
	CFileDialog fdlg( TRUE, NULL, NULL, 6UL, _T("可執(zhí)行文件(*.exe)||動態(tài)鏈接庫(*.dll)||"), (CWnd *)this );
	TCHAR szFileName[MAX_PATH];
    switch(menuID)
	{
	case ID_ABOUT:
		dlgAbout.DoModal();
		break;
	case ID_OPEN:
		fdlg.DoModal();
		lstrcpy( szFileName, fdlg.GetPathName() );
		m_pro.ResetContent();
		m_pro.AddString( szFileName );
		ListImportTable( GetProHandle(szFileName, FALSE) );
		break;
	case ID_EXIT:
		this->EndDialog( IDOK );
		break;
	default:
		break;
	}

	return CDialogEx::OnCommand(wParam, lParam);
}
  
附上圖片:

關(guān)于菜單欄和狀態(tài)欄的使用


2.狀態(tài)欄

? ? 這個糾結(jié)了很久,開始使用CStatusBar的時候搞了好久也沒顯示,最后只好轉(zhuǎn)向CStatusBarCtr了。

? ? 這個用法比較簡單,先貼代碼:

?初始化代碼:

    //設(shè)置狀態(tài)欄
this->m_statebar.Create( WS_CHILD|WS_VISIBLE|SBS_SIZEGRIP, CRect(0, 0, 0, 0), this, ID_BAR );
CRect rt;
this->GetClientRect( &rt );
int pnWidth[2] = { rt.Width()/2, -1};
this->m_statebar.SetParts( 2, pnWidth );

SYSTEMTIME t;
GetLocalTime(&t);
CString str;
CClientDC dc(this);
str.Format( _T("當前時間為:%d年%d月%d日%d時%d分%d秒"), t.wYear, t.wMonth, t.wDay, t.wHour, t.wMinute, t.wSecond );
CSize sz;
sz = dc.GetTextExtent( str );
this->m_statebar.SetText( str, 200, 0 );
this->m_statebar.SetText( _T("準備中..."), 0, 0 );
SetTimer( ID_BAR, 10, NULL );//ID_BAR是自定義的一個整數(shù)值,用來識別狀態(tài)欄
  

狀態(tài)欄更新代碼:

    void CImportTableDlg::OnTimer(UINT_PTR nIDEvent)
{
	// TODO: 在此添加消息處理程序代碼和/或調(diào)用默認值
	SYSTEMTIME t;
	GetLocalTime(&t);
	CString str ;
	CClientDC dc(this);
	CSize sz;
	switch( nIDEvent )
	{
	case ID_BAR:
		str.Format( _T("當前時間為:%d年%d月%d日%d時%d分%d秒"), t.wYear, t.wMonth, t.wDay, t.wHour, t.wMinute, t.wSecond );
		sz = dc.GetTextExtent( str );
		this->m_statebar.SetText( str, 1, 0 );
		break;
	default:
		break;
	}
	CDialogEx::OnTimer(nIDEvent);
}
  

效果的話,1中的圖片已經(jīng)有了。


關(guān)于菜單欄和狀態(tài)欄的使用


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产精品久久久亚洲第一牛牛 | 性色视频| 国产精品亚洲欧美日韩一区在线 | 欧美影视一区 | 伊香蕉大综综综合久久 | 国产精品免费观看 | 99精品国产成人一区二区 | 香蕉视频在线观看视频 | 美国毛片一级视频在线aa | 一区二区三区日韩精品 | 97在线公开视频 | 99热久久这里只有精品6国产网 | 久久不卡免费视频 | 亚洲a毛片| 国产精品天天看 | 不卡一区在线观看 | 久久天天躁狠狠躁夜夜2020一 | 成人国产mv免费视频 | 操操操人人 | 欧美 亚洲 一区 | 久久精品国产一区二区三区不卡 | 四虎永久在线精品视频免费观看 | 国产线路一 | 久久99精品久久久久久综合 | 亚洲成人综合视频 | 国产观看精品一区二区三区 | 免费日本黄色网址 | 欧美成人猛男性色生活 | 亚洲精品亚洲人成在线播放 | 亚洲另类网 | 一级成人毛片免费观看 | www深夜视频在线观看高清 | 麻豆成人久久精品二区三区小说 | 欧美黄色a | 成人性生免费视频 | 国产精品久久久久9999高清 | 超级97碰碰碰碰久久久久最新 | 亚洲欧美综合国产精品一区 | 亚洲国产中文字幕在线观看 | 国产日产久久高清欧美一区 | 国产精品久久久久久永久牛牛 |