【MFC】在工具栏中添加编辑框
00. 目錄
文章目錄
- 00. 目錄
- 01. 案例概述
- 02. 開發(fā)環(huán)境
- 03. 關鍵技術
- 04. 程序設計
- 05. 秘笈心法
- 06. 源碼下載
- 07. 附錄
01. 案例概述
在工具欄中添加編輯框可以使用戶在工具欄上進行輸入操作,從而簡化用戶的操作,可以通過Create方法創(chuàng)建編輯框控件,并將編輯框控件的父窗口設為工具欄,在工具欄上顯示編輯框。效果如下圖所示。
02. 開發(fā)環(huán)境
系統(tǒng)環(huán)境:Windows 10
開發(fā)環(huán)境:Visual Studio 2019
03. 關鍵技術
要在工具欄上繪制編輯框,需要在工具欄按鈕的位置使用Create方法動態(tài)創(chuàng)建,Create是CEdit的成員函數(shù),實現(xiàn)編輯框的動態(tài)創(chuàng)建,語法如下:
BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID ); 參數(shù)說明dwStyle 設置編輯框的樣式 rect 設置編輯框的顯示位置pParentWnd 設置編輯框的父類nID 設定一個編輯框的ID資源值04. 程序設計
(1)新建一個基于單文檔視圖結構的應用程序。
(2)在CMainFrame類的OnCreate函數(shù)中創(chuàng)建工具欄,函數(shù)實現(xiàn)代碼如下。
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) {if (CFrameWnd::OnCreate(lpCreateStruct) == -1)return -1;if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||!m_wndToolBar.LoadToolBar(IDR_MAINFRAME)){TRACE0("未能創(chuàng)建工具欄\n");return -1; // 未能創(chuàng)建}if (!m_wndStatusBar.Create(this)){TRACE0("未能創(chuàng)建狀態(tài)欄\n");return -1; // 未能創(chuàng)建}m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT));// TODO: 如果不需要可停靠工具欄,則刪除這三行m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);EnableDocking(CBRS_ALIGN_ANY);DockControlBar(&m_wndToolBar);RECT rect;//創(chuàng)建編輯框m_Edit.Create(WS_CHILD | WS_CLIPSIBLINGS | WS_EX_TOOLWINDOW |WS_BORDER, CRect(0, 0, 10, 10), this, 1200);//獲取工具欄指定按鈕的區(qū)域m_wndToolBar.GetItemRect(9, &rect);//設置編輯框的父窗口是工具欄m_Edit.SetParent(&m_wndToolBar);//改變編輯框的大小m_Edit.MoveWindow(&rect);//顯示編輯框m_Edit.ShowWindow(SW_SHOW);return 0; }05. 秘笈心法
動態(tài)創(chuàng)建編輯框
實例中的編輯框控件是動態(tài)創(chuàng)建的。MFC中任何窗體類的控件都可以動態(tài)創(chuàng)建,動態(tài)創(chuàng)建控件會占用程序的啟動時間,當增加了程序的靈活性,應用程序中的控件可以根據(jù)一定的配置信息創(chuàng)建,進而達到通過改變配置信息,就可以改變界面的效果。
06. 源碼下載
下載:【MFC】在工具欄中添加編輯框.rar
07. 附錄
參考: 《Visual C++從入門到精通(項目案例版)》
總結
以上是生活随笔為你收集整理的【MFC】在工具栏中添加编辑框的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【MFC】具有提示功能的工具栏
- 下一篇: 【MFC】带组合框的工具栏