『壹』 怎樣在VS2010的基於MFC對話框程序中添加菜單欄
VS2010的MFC對話框程序中添加菜單欄的過程,我大致分了這五步。
一、將Menu加入Resource視圖中
在WorkSpace中的Resource視圖下,在任意一個文件夾圖標上,右擊選擇Insert(插入)選項,在彈出的對話框中選擇Menu以後,再點擊,new按鈕,菜單就會添加成功了,但是現在還沒有完成,還不能進行編譯,因為現在的菜單時空的,在編譯的時候會被清除的。
二、用菜單編輯器添加菜單欄及菜單項
菜單添加成功後,菜單編輯器自動打開,可以在其中添加菜單欄及菜單項,比較簡單。
三、將菜單載入到你的對話框
第一步中添加一個菜單項,這是菜單就真正的加到了你的工程中了,接下來就是如何將菜單載入到你的對話框中了。
打開你新加入的菜單項,單擊「項目」-->「添加現有項」,在這里選擇已有的類,就是你要為其添加菜單的對話框的類,例如,***Dlg.cpp。然後確定。
四、在相應的文件中添加代碼
打開對話框頭文件***Dlg.h,聲明CMenu 變數,例如m_Menu;
打開***Dlg.cpp 文件,在***Dlg::OnInitDlg()中加入如下語句:
m_Menu.LoadMenu(IDR_MENU1); // IDR_MENU1為你加入的菜單的ID,在Resource視圖的Menu文件夾下可以找到
SetMenu(&m_Menu);
這樣就OK了,調試一下,菜單就已經出現在對應的對話框中。
五、利用向導生成菜單消息響應函數
選擇項目下的類向導,選擇類名為」***Dlg.cpp」,在「命令」選項卡下的「對象ID(B)」中,選擇各子菜單項的對應的ID,然後在「消息(S)」中雙擊COMMAND消息。
這時會彈出對話框類,你可以更改對應子菜單項的函數處理名,然後點擊確定。菜單消息響應函數生成完畢,加入你需要的代碼。
『貳』 如何在VS2010中添加ActiveX控制項及使用方法
方法1:
1、首先在在項目上面右擊添加類,如下圖所示:
image
2、點擊添加ActiveX控制項中的MFC類
image
3、找到需要添加的ActiveX類。
image
4、點擊完成即可。
image
5、此時轉到資源視圖,打開如下視圖。可能工具箱中並沒有我們剛剛添加的控制項。這時,需要我們收到載入。
image
6、右擊工具箱中的選擇項按鈕:
image
7、在選擇工具箱項中找到剛剛添加的組件即可。(註:ActiveX組件它是建立在OLE於COM技術基礎之上的技術)
image
8、右擊項目,使用類向導,添加變數以及事件映射。
image
方法2:
上面介紹的方法過於臃腫,其實還有簡單的方法。
1、直接右擊,選擇添加ActiveX控制項即可。
image
2、然後找到自己需要添加的控制項名稱
image
3、完成後,右擊,可以為控制項添加變數以及添加事件處理程序與Dlg類建立聯系。
imageimage
註:選擇自定義的控制項。即ActiveX控制項會自動添加對應的類。這樣就可以使用了。不過,這種方法需要重復使用。
還有就是這種方法與上面方法添加的類,有點小區別,但建立的類,無論是.h文件還是.CPP文件內容差不多。
對比以下兩張圖,分別是對同一個控制項添加成員變數以及事件處理程序。
對於第一張圖,它會在Cdemo4Dlg類中生成定義好的成員變數,以及控制項本身生成的類。
註:類的生成要看控制項的種類,自定義的控制項,比如說ActiveX控制項它會自動生成一個單獨的類,而系統本身自帶的控制項並不會生成一個單獨的類。
對於第二張圖,它是針對Cdemo4Dlg類中生成的方法。
1: BEGIN_EVENTSINK_MAP(Cdemo4Dlg, CDialogEx) //表示時間映射的開始
2: ON_EVENT(Cdemo4Dlg, IDC_MONTHVIEW1, 4, Cdemo4Dlg::SelChangeMonthview1, VTS_DATE VTS_DATE VTS_PBOOL)
3: END_EVENTSINK_MAP() //表示時間映射的結束
4:
5:
6: void Cdemo4Dlg::SelChangeMonthview1(DATE StartDate, DATE EndDate, BOOL* Cancel)
7: {
8: // TODO: 在此處添加消息處理程序代碼
9: //int iYear = m_Month.get_Year(); //此m_Month為我們定義的成員變數。
10:
11: }
image
『叄』 VS2010中MFC工程有關資料庫的操作。
有很多辦法了
我常用的兩種辦法,一個是用cdatabase類建一個對象,調用成員函數open函數可以連接到數據源了,用crecordset對象將前面的database對象傳給他,然後調用crecordset對象的open函數,可以連接具體表
還有一個辦法初學者好直接用,就是直接創建一個類繼承crecordset對象,然後會提示你連接數據源和默認表,後頭建一個該類對象就可以用他的成員函數直接調用了,用open重新打開某個表,movefirst和movenext,getfieldvalue來取值
你可以去網上下個程序看看