MFC基于對(duì)話框——右鍵彈出菜單,并響應(yīng)函數(shù)。 1、新建一個(gè)菜單資源,比如把菜單的ID號(hào)為IDR_MENU1。 2、在ClassWizard中 void CArcSoft_EffectDlg::OnRButtonDown(UINT nFlags, CPoint point) {// TODO: Add your message handler code here and/
介紹在Visual Studio 2017中創(chuàng)建基于對(duì)話框的MFC應(yīng)用程序的圖文教程。
材料/工具
Visual Studio 2017開發(fā)環(huán)境; VS2017桌面開發(fā)組件;
你可以嘗試將構(gòu)造函數(shù)和析構(gòu)函數(shù)一起導(dǎo)出,并且,將編譯DLL文件時(shí)生成的LIB文件添加到調(diào)用DLL的項(xiàng)目中. 如果還不行,請(qǐng)將定義DLL的頭文件貼出來分析. ------------------------------------------------------------------ 補(bǔ)充: MFC擴(kuò)展DLL只能由M
方法
啟動(dòng)Visual Studio 2017軟件,在彈出的“Visual Studio 2017主窗口”中,點(diǎn)擊菜單欄上的“文件->新建->項(xiàng)目”(或使用快捷鍵Ctrl + Shift + N)創(chuàng)建一個(gè)新的開發(fā)項(xiàng)目;
解決思路,用SQL語言檢索出數(shù)據(jù)表某一字段下的全部?jī)?nèi)容,然后用VBA代碼(ACCESS自帶的編程語言)逐條將相應(yīng)內(nèi)容輸入到窗體文本框內(nèi)。
在彈出的“新建項(xiàng)目窗口”中,選中左側(cè)列表中“Visual C++”下面“MFC”,然后在項(xiàng)目模板列表中選擇“MFC應(yīng)用程序”。接著,可以根據(jù)需要設(shè)置MFC應(yīng)用程序項(xiàng)目的名稱和存儲(chǔ)位置以及解決方案的名稱。設(shè)置完畢后,點(diǎn)擊“確定按鈕”確定項(xiàng)目創(chuàng)建;
VS2017有一個(gè)版本是有這個(gè)問題, 升級(jí)一下, 現(xiàn)在已經(jīng)沒問題了, 其實(shí)手動(dòng)添加也可以的
在彈出的“應(yīng)用程序類型界面”中,選擇應(yīng)用程序類型為“基于對(duì)話框”,然后點(diǎn)擊“下一步按鈕”進(jìn)入下一步;
找到資源文件 然后雙擊IDD開頭的那個(gè)就有了 拓展資料 Visual Studio是微軟公司推出的開發(fā)環(huán)境。是最流行的Windows平臺(tái)應(yīng)用程序開發(fā)環(huán)境。2012年9月12日微軟在西雅圖發(fā)布Visual Studio 2012。其實(shí)早在8月16日Visual Studio 2012和.NET Framework4
在出現(xiàn)的“文檔模板屬性界面”中,可以調(diào)整文檔模板的各種屬性,對(duì)于對(duì)話框而言通常用不上,直接點(diǎn)擊“下一步按鈕”進(jìn)入下一步;
其實(shí)也不用設(shè)置滾動(dòng)條,重點(diǎn)在于設(shè)置你Edit控件或者Listbox控件的當(dāng)前行。 m_EditReceive += _T("rn");//這里加換行 GetDlgItem(IDC_EDIT3)->SetWindowText(m_EditReceive); //IDC_EDIT3是編輯框名,m_EditReceive是編輯框的value型變量 m_edt
在出現(xiàn)的“用戶界面功能界面”中,可以定義對(duì)話框窗口的外觀樣式。通常沒有特定要求的情況下,直接采用默認(rèn)即可。直接點(diǎn)擊“下一步按鈕”進(jìn)入下一步;
可以不用UpdateData獲取數(shù)據(jù) 。 直接用GetDlgItemInt()獲取
在出現(xiàn)的“高級(jí)功能界面”中,可以根據(jù)需要勾選對(duì)話框中需要支持的功能。在生成MFC項(xiàng)目時(shí),VS2017會(huì)根據(jù)你選擇的功能自動(dòng)向項(xiàng)目中添加相關(guān)的代碼。設(shè)置完畢后,點(diǎn)擊“下一步按鈕”進(jìn)入下一步;
共享dll方式,你的程序用到的MFC中的執(zhí)行代碼(指目標(biāo)代碼,二進(jìn)制指令)不會(huì)被編譯進(jìn)exe中,當(dāng)exe執(zhí)行時(shí)會(huì)加載mfc中的dll。靜態(tài)庫中使用,編譯時(shí)會(huì)將用到的mfc dll中的代碼編譯進(jìn)exe中,exe運(yùn)行時(shí)不在需要mfc的dll
在出現(xiàn)的“生成的類界面”中,直接點(diǎn)擊“完成按鈕”完成項(xiàng)目設(shè)置。對(duì)于對(duì)話框項(xiàng)目而言,這些視圖類并不會(huì)生成,它們是用在單文檔/多文檔項(xiàng)目中的;
應(yīng)該是VS2017更新后帶來的一個(gè)BUG,可能目前無解,坐等Microsoft發(fā)布更新。我的做法是臨時(shí)用VS2015添加完類后,再回來用VS2017。
MFC應(yīng)用程序項(xiàng)目創(chuàng)建完畢后,可以在VS2017的解決方案管理器中見到VS自動(dòng)生成的項(xiàng)目文件(代碼和資源)。直接點(diǎn)擊“本地Windows調(diào)試器按鈕”編譯運(yùn)行新創(chuàng)建的項(xiàng)目;
1、首先你需要在電腦全局搜索,rcdll.dll 此文件。建議使用工具Everything查找工具。 2、其實(shí)電腦上很多有這個(gè)文件的,rcdll.dll。但是當(dāng)我們拷貝到正確目錄下,C:program files (x86)Microsoft SDKsWindowsv7.0ABin。發(fā)現(xiàn)其實(shí)并沒有解決問
項(xiàng)目編譯成功并運(yùn)行后,可以見到一個(gè)對(duì)話框出現(xiàn),表示新創(chuàng)建的基于對(duì)話框的MFC應(yīng)用程序一切正常,可以繼續(xù)進(jìn)行后續(xù)開發(fā)。關(guān)閉彈出的對(duì)話框,可以結(jié)束程序執(zhí)行。
因?yàn)閂C++就是為MFC打造的開發(fā)平臺(tái),所以要在Windows 下寫圖形界面還是MFC比較主流吧,除非你不選擇VC++。其實(shí)沒必要害怕MFC的復(fù)雜性,因?yàn)槟愕綍r(shí)候只用最常見的功能,并不困難,依樣畫葫蘆就會(huì)了。如果不用MFC可以直接調(diào)用WIN API,純C語言編寫,
擴(kuò)展閱讀,以下內(nèi)容您可能還感興趣。
我安裝vs2017時(shí)安裝的c++沒安mfc請(qǐng)問怎么單獨(dú)添加這個(gè)組件
工具-》獲取工具和功能-》單個(gè)組件-》選擇你少的組件就行了
VS2017MFC滑塊控件
其實(shí)也不用設(shè)置滾動(dòng)條,重點(diǎn)在于設(shè)置你Edit控件或者Listbox控件的當(dāng)前行。
m_EditReceive += _T("\r\n");//這里加換行
GetDlgItem(IDC_EDIT3)->SetWindowText(m_EditReceive); //IDC_EDIT3是編輯框名,m_EditReceive是編輯框的value型變量
m_edt.LineScroll(m_edt.GetLineCount()-1,0);//m_edt是編輯框的control型變量,將垂直滾動(dòng)條滾動(dòng)到最后一行更多追問追答追問你用的是VS幾的,你試過沒你的這個(gè)代碼沒追答2010 肯定試過啊 能用了才發(fā)給你的
別跟我扯什么版本問題,MFC早就已經(jīng)發(fā)展的穩(wěn)定的不得了了,信不信由你追問不是穩(wěn)不穩(wěn)定,版本之間代碼是有微小的區(qū)別的,我用了你帶代碼是編譯錯(cuò)誤的,還有我說的是滑塊控件slider control和編譯框有有啥關(guān)聯(lián)?
vs2017 MFC 加法計(jì)算器
可以不用UpdateData獲取數(shù)據(jù) 。
直接用GetDlgItemInt()獲取更多追問追答追問那里面的參數(shù)我應(yīng)該怎么寫呢追答int a=GetDlgItemInt(IDC_EDIT1);
int b=GetDlgItemInt(IDC_EDIT2);
int c= a+b;
SetDlgItemInt(IDC_EDIT3,c);追問現(xiàn)在可以了,謝謝,但是我想問一下為什么用UpdateData獲取數(shù)據(jù)不可以呢?網(wǎng)上和好多書籍上都是用的這種方法,用這種方法VC6也能正常運(yùn)行。麻煩了,謝謝!
在VS2017怎樣在共享DLL中使用MFC
共享dll方式,你的程序用到的MFC中的執(zhí)行代碼(指目標(biāo)代碼,二進(jìn)制指令)不會(huì)被編譯進(jìn)exe中,當(dāng)exe執(zhí)行時(shí)會(huì)加載mfc中的dll。靜態(tài)庫中使用,編譯時(shí)會(huì)將用到的mfc dll中的代碼編譯進(jìn)exe中,exe運(yùn)行時(shí)不在需要mfc的dll追問那么怎樣在VS中使用MFC編程呢
vs2017 mfc右鍵添加類為灰色
應(yīng)該是VS2017更新后帶來的一個(gè)BUG,可能目前無解,坐等Microsoft發(fā)布更新。我的做法是臨時(shí)用VS*添加完類后,再回來用VS2017。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com