Visual studio C++ MFC之點擊按鈕(菜單欄)生成新窗口


背景

當前做的APP有菜單欄,菜單欄有一項需要對下位機相關參數進行設置,則必須彈出一個窗口來實現設置操作。本篇即對點擊菜單欄生成新的窗口,在新的窗口內完成相應計划后結束新窗口並返回原窗口的方法進行簡述。菜單欄的實現可見另一篇博客Visual studio C++ MFC之Menu editor

正文

  1. 創建一個新窗口
    在資源視圖右擊添加Dialog資源,會生成一個新的Dialog,該DialogID可自行定義,接着在該Dialog上右擊添加類,類名自定義,本次類名為CANInterface,之后會生成兩個文件ANInterface.cppANInterface.h,並且生成了新的窗口。

  2. 在原窗口生成菜單欄單擊事件
    另一篇博客Visual studio C++ MFC之Menu editor已詳述,生成的代碼如下:

void CMenueditortestDlg::OnSettingCaninterface()
{
// TODO: 在此添加命令處理程序代碼
// 定義一個新窗口的類
        CANInterface dlg;
// 調用此函數,則1步驟生成的窗口產生,若是新生成的窗口退出會有一個返回值
        INT_PTR nRet = dlg.DoModal();
        TRACE("nRet = %d\n", nRet);
        switch(nRet)
        {
            case 1: // do something
                break;
            case 11: // do something
                break;
            default: // do something
                break;
        }
}
  1. 在新窗實現控件操作並返回
    在新窗口類中完成一系列操作就和普通的窗口操作一樣,可以添加控件,也可以添加事件,此處即添加一個按鈕結束當前窗口,返回到原窗口,代碼如下:
void CANInterface::OnBnClickedButtonEnd()
{
// TODO: 在此添加控件通知處理程序代碼
// 此處的nRet既是上文所說的新生成的窗口退出的返回值
        int nRet = 11; // Just any value would do!
        EndDialog(nRet); // This value is returned by DoModal!	
// Do something
        return; // Dialog closed and DoModal returns only here!
}

參考鏈接

至此記錄完畢
記錄時間:2017-2-16
記錄地點:深圳WZ


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM