資源描述:
《VC界面編程入門(mén).ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、VC界面編程入門(mén)余翔涉及的內(nèi)容工具條(菜單不適合觸摸屏)文本框、單選框、進(jìn)度條、表格等控件串口通信窗口之間的信息交換模態(tài)/非模態(tài)對(duì)話框文件處理圖形處理起步:建立工程文件MFC程序派生的類(lèi)CWinApp應(yīng)用程序類(lèi),初始化和運(yùn)行程序。CFrameWnd框架類(lèi),搜尋和銷(xiāo)售用戶命令。CDocument文檔類(lèi),裝載、維護(hù)文檔。CView視圖類(lèi),視圖顯示。選擇建立基于對(duì)話框的應(yīng)用程序基于文檔的應(yīng)用程序不適合界面使用。因?yàn)榻缑嬉话悴恍枰臋n背景。僅有CxxApp和CxxDlg兩個(gè)類(lèi)。下一步選項(xiàng)關(guān)于DLL的選項(xiàng)SharedDLL
2、小巧的exe文件。Staticallylinkedlibexe文件較大,可直接運(yùn)行。建立的對(duì)話框基于MFC的程序VC已經(jīng)搭建了程序的框架,無(wú)需加入任何代碼就可以直接編譯運(yùn)行。和常規(guī)C語(yǔ)言不同,main/winmain函數(shù)已經(jīng)封裝,只需要在程序中加入自己的響應(yīng)函數(shù)。1.如何退出程序DestroyWindow()在子窗口退出會(huì)報(bào)故障并退出程序。EndDialog(IDOK)/EndDialog(IDCANCEL)內(nèi)置的響應(yīng)對(duì)話框的確定/取消的函數(shù)。exit(0)故障退出函數(shù)。2.窗口的部分設(shè)置在OnInitDialo
3、g函數(shù)添加工具條初始化代碼。主窗口已啟用此函數(shù),子窗口需要類(lèi)模板(ctrl+w或View→ClassWizard→CxxDlg的消息里面選擇WM_INITDIALOG,再添加函數(shù))設(shè)置窗口頂部文本SetWindowText窗口大小、風(fēng)格及位置SetWindowPos窗口圖標(biāo)AfxGetApp()->LoadIcon3.工具條Insert→Resource(或Ctrl+R)選擇toolbar點(diǎn)擊new按鈕添加按鈕,逐個(gè)修改按鈕圖案,設(shè)置按鈕ID。初始化工具條在對(duì)話框類(lèi)的頭文件定義一個(gè)工具條CToolBarm_too
4、l;//假定工具條ID為IDR_TOOLBAR1在初始化函數(shù)中m_tool.Create(this);//創(chuàng)建工具條m_tool.LoadToolBar(IDR_TOOLBAR1);//載入資源RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);//顯示工具條工具條按鈕的響應(yīng)工具條按鈕的ID在資源窗口雙擊工具條按鈕,彈出窗口顯示了按鈕的ID,可以修改成有實(shí)際意義的名稱(chēng),以免混淆。工具條按鈕的響應(yīng)函數(shù)進(jìn)入類(lèi)模板(ctrl+w或View
5、→ClassWizard),彈出窗口提示為工具條建立新的類(lèi)建立工具條的類(lèi)(不建不影響使用)選擇工具條按鈕消息工具條按鈕的響應(yīng)函數(shù)選擇消息后,選擇增加函數(shù)后再選擇編輯函數(shù)代碼,如某工具條按鈕ID_BUTTON_EXIT用于退出窗口。voidCMy1Dlg::OnButtonExit(){//TODO:AddyourcommandhandlercodehereEndDialog(IDOK);}常規(guī)工具條的缺陷使用VC自帶的資源模板建立的常規(guī)工具條只支持16色(如Word的工具條),即使載入了真彩圖標(biāo)也會(huì)轉(zhuǎn)為16色顯示
6、。真彩工具條的使用將工具條所需的真彩圖標(biāo)加入VC資源使用ImageList接收真彩圖標(biāo)創(chuàng)建工具條并載入資源窗口生成的工具條將ImageList設(shè)置給工具條,替代原有圖標(biāo)真彩工具條的實(shí)現(xiàn)(1)加入成員變量,在對(duì)話框的頭文件直接加入,或者在類(lèi)窗口右擊窗口類(lèi)添加CToolBarm_ToolBar;CImageListm_ImageList;在OnInitDialog函數(shù)初始化工具條m_ToolBar.Create(this);m_ToolBar.LoadToolBar(IDR_TOOLBAR1);初始化ImageLis
7、t//創(chuàng)建真彩圖集,ILC_COLOR32:32位色m_ImageList.Create(32,32,ILC_COLOR32,6,4);//載入圖標(biāo)m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1));……m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON6));//設(shè)置為工具條圖集m_ToolBar.GetToolBarCtrl().SetImageList(&m_ImageList);真彩工具條的實(shí)現(xiàn)(2)設(shè)置工具條按鈕文
8、本m_ToolBar.SetButtonText(0,"系統(tǒng)圖");設(shè)置工具條按鈕大小CSizeTextButtonSize,ImageSize;ImageSize.cx=32;ImageSize.cy=32;m_ToolBar.SetSizes(TextButtonSize,ImageSize);顯示工具條RepositionBars(AFX_IDW_CONTROLBA