C實驗四情況總結報告_第1頁
C實驗四情況總結報告_第2頁
C實驗四情況總結報告_第3頁
C實驗四情況總結報告_第4頁
C實驗四情況總結報告_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

-!實驗十常用控件(1)實驗目的和要求(1)創(chuàng)建一個默認的對話框應用程序Ex_Ctrls,如圖2.1所示。感謝閱讀(2)設計一個如圖2.2所示的“課程信息”對話框。感謝閱讀圖2.1 Ex_Ctrls對話框 圖2.2 “課程信息”對話框精品文檔放心下載(3)實現(xiàn)功能:單擊圖2.1中的“課程信息”按鈕,彈出“學生基本信息”對話框,單擊“添加”按鈕,對話框內容顯示在圖2.1中的列表框中。謝謝閱讀實驗準備和說明(1)具備知識:靜態(tài)控件、按鈕、編輯框、旋轉按鈕控件、列表框和組合框控件。精品文檔放心下載(2)創(chuàng)建本次實驗工作文件夾“…\VisualC++程序\實驗\實驗2”。感謝閱讀實驗內容和步驟1.啟動VisualC++6.0打開計算機,啟動VisualC++6.0系統(tǒng)。精品文檔放心下載2.創(chuàng)建一個默認的對話框應用程序Ex_Ctrls選擇“文件”→“新建”菜單,在彈出的“新建”對話框中選擇“工程”頁面,選擇MFCAppWizard(exe),在工程框中輸入Ex_Ctrls,并將工程文件夾定位到“…\VisualC++程序\實驗\實驗2”。謝謝閱讀②單擊“確定”按鈕,在出現(xiàn)的Step1對話框中選擇“基本對話(框)”應用程序類型,單擊“完成”按鈕。感謝閱讀③在對話框編輯器中,單擊對話框工具欄上的切換網(wǎng)格按鈕,顯示對話框網(wǎng)格,將對話框標題改為“使用控件”。感謝閱讀④調整對話框的大小,刪除對話框中間的“TODO:在這里設置對話控制?!膘o態(tài)文本控件和“確定”按鈕控件,將“取消”按鈕標題改為“退出”,并移至對話框的下方。精品文檔放心下載⑤向對話框中添加組框(Group)控件,標題設為“添加”,然后調整其大小和位置。精品文檔放心下載⑥添加一個按鈕,標題設為“課程信息”,ID設為IDC_BUTTON_COURSE。感謝閱讀⑦添加一個列表框,取其默認ID號,去掉Sort風格屬性。精品文檔放心下載3.添加并設計“課程信息”對話框按Ctrl+R快捷鍵,彈出“插入資源”對話框,在資源類型列表中選擇Dialog,單擊“新建”按精品文檔放心下載鈕。-!將該對話框資源的ID設為IDD_COURSE,標題設為“課程信息”,字體設為“宋體,9號”。感謝閱讀③將OK和Cancel按鈕的標題改為“添加”和“取消”。謝謝閱讀④打開對話框網(wǎng)格,參看圖2.2的控件布局,為對話框添加如表2.1所示的一些控件。謝謝閱讀添加的控件

表2.1 課程信息對話框添加的控件標ID號 其他屬性題編輯框(課程號)編輯框(課程名稱)組合框(所屬專業(yè))組合框(課程類型)編輯框(開課學期)旋轉按鈕編輯框(課時數(shù))編輯框(學分)

IDC_EDIT_COURSENOIDC_EDIT_COURSENAMEIDC_COMBO_SPECIALIDC_COMBO_TYPEIDC_EDIT_OPEN謝謝閱讀IDC_SPIN1IDC_EDIT_COURSEHOURSIDC_EDIT_CREDIT感謝閱讀

——默認——默認——默認——默認——默認Autobuddy、Setbuddyinteger、感謝閱讀——Right對齊,其余默認——默認——默認右擊添加的課程類型的組合框控件,從彈出的快捷菜單中選擇“屬性”命令,將其屬性對話框切換到Data頁面,直接輸入內容,輸入一行后按Ctrl+回車鍵添加另一行。同樣對另一個組合框控件也進行修改。結果如圖2.3所示。感謝閱讀圖2.3 課程類型組合框內容輸入⑥按Ctrl+W快捷鍵或雙擊對話框資源模板的空白處,為IDD_COURSE創(chuàng)建一個對話框CCourseDlg。精品文檔放心下載打開ClassWizard的MemberVariables頁面,看Classname是否是CCourseDlg,選中所需的控感謝閱讀ID號,雙擊鼠標。依次為表2.2控件增加成員變量。感謝閱讀表2.2控件變量控件ID號變量類別變量類型變量名范圍和大小IDC_EDIT_COURSENOValueCStringm_strNOIDC_EDIT_COURSENAMEValueCStringm_strNameIDC_COMBO_SPECIALValueCStringm_strSpecialIDC_COMBO_SPECIALControlCComboBoxm_comboSpecial——IDC_COMBO_TYPEValueCStringm_strTypeIDC_EDIT_OPENValueBYTEm_nOpenIDC_SPIN1ControlCSpinButtonCtrlm_spinOpen——IDC_EDIT_COURSEHOURSValueintm_nHoursIDC_EDIT_CREDITValuefloatm_fCredit-!4.添加CCourseDlg類代碼①用MFCClassWizard為CCourseDlg類添加WM_INITDIALOG消息映射,并添加下列初始化代精品文檔放心下載碼:BOOLCCourseDlg::OnInitDialog()感謝閱讀{CDialog::OnInitDialog();m_spinOpen.SetRange(1,8);感謝閱讀m_nHours=60;m_fCredit=2.0;m_nOpen=1;m_strType="專修";m_strSpecial="機械工程及其自動化"; //有改動謝謝閱讀UpdateData(FALSE);returnTRUE; //returnTRUEunlessyousetthefocustoacontrol謝謝閱讀}②用MFCClassWizard為按鈕IDOK添加BN_CLICKED的消息映射,并增加下列感謝閱讀

代碼:voidCCourseDlg::OnOK(){UpdateData();m_strNO.TrimLeft();if(m_strNO.IsEmpty())

{MessageBox("課程號不能為空!"); return;謝謝閱讀}m_strName.TrimLeft();if(m_strName.IsEmpty()) {精品文檔放心下載MessageBox("課程名稱不能為空!"); return;感謝閱讀}CDialog::OnOK();}5.添加CEx_CtrlsDlg程序代碼①按Ctrl+W快捷鍵,打開MFCClassWizard對話框,為列表框控件IDC_LIST1添加控件變量m_List,類型為CListBox。謝謝閱讀②用MFCClassWizard為按鈕IDC_BUTTON_COURSE添加BN_CLICKED消息映射,并添加下列代碼:謝謝閱讀voidCEx_CtrlsDlg::OnButtonCourse()精品文檔放心下載{CCourseDlgdlg;if(IDOK!=dlg.DoModal())return;感謝閱讀清除列表框原來的顯示內容while(m_List.GetCount()!=0)m_List.DeleteString(0);感謝閱讀m_List.AddString("課程號:"+dlg.m_strNO);感謝閱讀m_List.AddString("課程名稱:"+dlg.m_strName);精品文檔放心下載m_List.AddString("所屬專業(yè):"+dlg.m_strSpecial);謝謝閱讀m_List.AddString("課程類型:"+dlg.m_strType);精品文檔放心下載-!CStringstr;str.Format("開課學期:%d",dlg.m_nOpen);精品文檔放心下載m_List.AddString(str);str.Format("課時數(shù):%d",dlg.m_nHours);謝謝閱讀m_List.AddString(str);str.Format("學 分:%3.1f",dlg.m_fCredit);感謝閱讀m_List.AddString(str);}在Ex_CtrlsDlg.cpp文件的前面添加CInputDlg的頭文件包含:精品文檔放心下載#include"Ex_CtrlsDlg.h"#include"CourseDlg.h" //在“工程”—》“設置”常規(guī)選項里,選擇使用MFC作為靜態(tài)鏈接庫感謝閱讀編譯運行并測試。6.寫出實驗報告分析上述運行結果以及思考與練習,寫出實驗報告。思考與練習(1)為CCourseDlg類添加一個公有型CString成員變量m_strOKText,當通過CCourseDlg類對象感謝閱讀m_strOKText設為“修改”,CCourseDlg對話框中的“添加”按鈕標題變成“修改”,試編程實現(xiàn)。(2)由于每學期的一門課程學分一般不超過6個學分,因此若將學分編輯框改為組合框,應如何修謝謝閱讀改和編程?實驗十一常用控件(2)實驗目的和要求(1)設計一個如圖3.1所示的“學生基本信息”對話框。感謝閱讀(2)在實驗2的基礎上,實現(xiàn)功能:在圖2.1中的“課程信息”按鈕下方添加一個“學生基本信息”按鈕,單擊該按鈕,彈出“學生基本信息”對話框,單擊“添加”按鈕,學生基本信息顯示在列表框中。(3)在CEx_CtrlsDlg對話框中添加一個滾動條和兩個滑動條來調整對話框的背景顏色的3個分量:精品文檔放心下載R(紅色分量)、G(綠色分量)和B(藍色分量),結果如圖3.2所示。謝謝閱讀圖3.1“學生基本信息”對話框 圖3.2 設置對話框背景顏色感謝閱讀-!實驗準備和說明(1)具備知識:滾動條、進展條、滑動條、時間和日歷控件。感謝閱讀(2)創(chuàng)建本次實驗工作文件夾“…\VisualC++程序\實驗\實驗3”。謝謝閱讀實驗內容和步驟1.在實驗3的工作文件夾中復制Ex_Ctrls文件夾感謝閱讀將本書實驗2中的Ex_Ctrls文件夾復制到實驗3的工作文件夾中。感謝閱讀2.啟動VisualC++6.0啟動VisualC++6.0系統(tǒng)。3.創(chuàng)建并添加“學生基本信息”對話框選擇“文件”→“打開工作區(qū)”菜單,將“…\VisualC++程序\實驗\實驗3\Ex_Ctrls”文件夾中感謝閱讀Ex_Ctrls項目打開。添加一個新的對話框資源,將ID號改為IDD_INPUT,標題為“學生成績輸入”,將對話框字體改為“宋體,9號”。將OK和Cancel按鈕標題改為“確定”和“取消”。感謝閱讀③調整對話框的大小,將“確定”和“取消”按鈕移至對話框的下方,然后顯示對話框網(wǎng)格。感謝閱讀參看圖3.1,向對話框添加如表3.1所示的控件。添加兩個“單選按鈕”精品文檔放心下載并在第一個按鈕“男”的屬性—》常規(guī)選項勾選“組”,并對第一個按鈕增加成員變量int型m_bMale。第二個按鈕不用勾選和增加。謝謝閱讀表3.1學生基本信息對話框添加的控件添加的控件ID號標題其他屬性編輯框IDC_EDIT_NAME——默認編輯框IDC_EDIT_NO——默認編輯框IDC_EDIT_S1——默認旋轉按鈕控件IDC_SPIN_S1——Autobuddy、Right對齊編輯框IDC_EDIT_S2——默認旋轉按鈕控件IDC_SPIN_S2——Autobuddy、Setbuddyinteger、Right對齊編輯框IDC_EDIT_S3——默認旋轉按鈕控件IDC_SPIN_S3——Autobud0dy、Setbuddyinteger、Right對齊編輯框IDC_SPECIAL——默認雙擊對話框模板空白處,為該對話框模板創(chuàng)建一個對話框類CInputDlg。謝謝閱讀在MFCClassWizard的MemberVariables頁面中,確定Classname中是否已選擇了CInputDlg,精品文檔放心下載選中所需的控件ID號,雙擊鼠標或單擊AddVariables按鈕。依次為表3.2控件增加成員變量。精品文檔放心下載表3.2控件變量控件ID號變量類別變量類型變量名范圍和大小IDC_EDIT_NAMEValueCStringm_strName20IDC_EDIT_NOValueCStringm_strNo20IDC_EDIT_S1Valueintm_fScore10.0~100.0IDC_SPIN_S1ControlCSpinButtonCtrlm_spinScore1——IDC_EDIT_S2Valueintm_fScore20.0~100.0IDC_SPIN_S2ControlCSpinButtonCtrlm_spinScore2——IDC_EDIT_S3Valueintm_fScore30.0~100.0IDC_SPIN_S3ControlCspinButtonCtrlm_spinScore3——IDC_SPECIALValueCStringm_strSpecial——-!在MFCClassWizard的MesssageMaps頁面中,為CInputDlg添加WM_INITDIALOG消息映射,并添加下列代碼:感謝閱讀BOOLCInputDlg::OnInitDialog()謝謝閱讀{CDialog::OnInitDialog();m_spinScore1.SetRange(0,100); //設置旋轉按鈕控件范圍感謝閱讀m_spinScore2.SetRange(0,100);精品文檔放心下載m_spinScore3.SetRange(0,100);謝謝閱讀returnTRUE; //returnTRUEunlessyousetthefocustoacontrol謝謝閱讀}用MFCClassWizard為CInputDlg增加IDC_SPIN_S1控件的UDN_DELTAPOS消息映射,并添加下列代碼:謝謝閱讀voidCInputDlg::OnDeltaposSpinS1(NMHDR*pNMHDR,LRESULT*pResult)感謝閱讀{NM_UPDOWN*pNMUpDown=(NM_UPDOWN*)pNMHDR;感謝閱讀UpdateData(TRUE); //將控件的內容保存到變量中謝謝閱讀m_fScore1+=(float)pNMUpDown->iDelta*0.5; //將m_fScore1等定義為int型精品文檔放心下載if(m_fScore1<0)m_fScore1=0;感謝閱讀if(m_fScore1>100)m_fScore1=100;精品文檔放心下載UpdateData(FALSE); //將變量的內容顯示在控件中精品文檔放心下載*pResult=0;}打開IDD_EX_CTRLS_DIALOG對話框資源,在“課程信息”按鈕下方添加一個“學生基本信息”按鈕,并將ID號設為IDC_BUTTON_STUINFO。謝謝閱讀⑩用MFCClassWizard為按鈕IDC_BUTTON_STUINFO添加BN_CLICKED消息映射,并添加下列代碼:感謝閱讀voidCEx_CtrlsDlg::OnButtonStuinfo()精品文檔放心下載{CInputDlgdlg;if(IDOK!=dlg.DoModal())return;謝謝閱讀while(m_List.GetCount()!=0)感謝閱讀m_List.DeleteString(0);CStringstrSex("男");if(dlg.m_bMale)strSex="女";精品文檔放心下載m_List.AddString("姓名:"+dlg.m_strName);精品文檔放心下載m_List.AddString("學號:"+dlg.m_strNo);精品文檔放心下載m_List.AddString("性別:"+strSex);謝謝閱讀CStringstr; //修改了接下來這三條語句謝謝閱讀str.Format("出生日期:%d-%d-%d",dlg.m_fScore1,dlg.m_fScore2,dlg.m_fScore3);m_List.AddString(str);精品文檔放心下載m_List.AddString("所學專業(yè):"+dlg.m_strSpecial);謝謝閱讀}Ex_CtrlsDlg.cpp文件的前面添加CStuInfoDlg類的頭文件包含:感謝閱讀-!#include"CourseDlg.h"#include"InputDlg.h" //在“工程”—》“設置”常規(guī)選項里,選擇使用MFC作為靜態(tài)鏈接庫感謝閱讀編譯運行并測試。結果如圖3.3所示。圖3.3 學生基本信息添加后的結果4.改變對話框背景顏色①將項目工作區(qū)窗口切換到ResourceView頁面,打開IDD_EX_CTRLS_DIALOG對話框資源。精品文檔放心下載②打開對話框網(wǎng)格,參看圖3.2的控件布局,為對話框添加如表3.3所示的一些控件。感謝閱讀表3.3 添加的控件添加的控件 ID號 標 題 其他屬性垂直滾動條 IDC_SCROLLBAR_RED —— 默認謝謝閱讀滑動條(綠色) IDC_SLIDER_GREEN —— 方位為Vertical,其他默認謝謝閱讀滑動條(藍色) IDC_SLIDER_BLUE —— 方位為Vertical,其他默認感謝閱讀③用MFCClassWizard為表3.4控件添加成員變量。感謝閱讀表3.4控件變量控件ID號變量類別變量類型變量名范圍和大小IDC_SCROLLBAR_REDControlCScrollBarm_scrollRed——IDC_SLIDER_GREENControlCSliderCtrlm_sliderGreen——IDC_SLIDER_GREENValueintm_nGreenIDC_SLIDER_BLUEControlCSliderCtrlm_sliderBlue——IDC_SLIDER_BLUEValueintm_nBlue——④為CEx_CtrlsDlg類添加兩個成員變量,一個是int型m_nRed,用來設置顏色R、G、B中的紅色分量,另一個是畫刷CBrush類對象m_Brush,用來設置對話框背景所需要的畫刷。感謝閱讀方法:在Ex_CtrlsDlg.h頭文件內找到相應位置按下圖添加。感謝閱讀⑤在CEx_CtrlsDlg::OnInitDialog函數(shù)中添加下列代碼:感謝閱讀-!BOOLCEx_CtrlsDlg::OnInitDialog()謝謝閱讀{。。。m_scrollRed.SetScrollRange(0,255);謝謝閱讀m_sliderBlue.SetRange(0,255);精品文檔放心下載m_sliderGreen.SetRange(0,255); //設置顏色調節(jié)范圍精品文檔放心下載m_nBlue=m_nGreen=m_nRed=192; //初始化對話框背景顏色精品文檔放心下載UpdateData(FALSE);m_scrollRed.SetScrollPos(m_nRed);精品文檔放心下載returnTRUE; //returnTRUEunlessyousetthefocustoacontrol感謝閱讀}⑥用MFCClassWizard為CEx_CtrlsDlg類映射WM_VSCROLL消息,并添加下列感謝閱讀

代碼:voidCEx_CtrlsDlg::OnVScroll(UINTnSBCode,UINTnPos,CScrollBar*pScrollBar)謝謝閱讀{intnID=pScrollBar->GetDlgCtrlID();謝謝閱讀if(nID==IDC_SCROLLBAR_RED){精品文檔放心下載switch(nSBCode){caseSB_LINEUP: m_nRed--;

//獲取對話框中控件ID號//或是滾動條產生的水平滾動消息//單擊滾動條向上箭頭break;caseSB_LINEDOWN: m_nRed++;//單擊滾動條向下箭頭break;謝謝閱讀caseSB_PAGEUP: m_nRed-=10;謝謝閱讀break;caseSB_PAGEDOWN:m_nRed+=10;謝謝閱讀break;caseSB_THUMBTRACK:m_nRed=nPos;感謝閱讀break;}if(m_nRed<0)m_nRed=0;if(m_nRed>255)m_nRed=255;謝謝閱讀m_scrollRed.SetScrollPos(m_nRed);感謝閱讀}Invalidate(); //使對話框無效,強迫系統(tǒng)重繪對話框精品文檔放心下載CDialog::OnVScroll(nSBCode,nPos,pScrollBar);精品文檔放心下載}⑦用MFCClassWizard為CEx_CtrlsDlg類映射WM_CTLCOLOR消息,并添加下列代碼:感謝閱讀HBRUSHCEx_CtrlsDlg::OnCtlColor(CDC*pDC,CWnd*pWnd,UINTnCtlColor)謝謝閱讀{//HBRUSHhbr=CDialog::OnCtlColor(pDC,pWnd,nCtlColor);精品文檔放心下載UpdateData(TRUE);COLORREFcolor=RGB(m_nRed,m_nGreen,m_nBlue);謝謝閱讀m_Brush.Detach();m_Brush.CreateSolidBrush(color);感謝閱讀

//使畫刷和對象分離//創(chuàng)建顏色畫刷pDC->SetBkColor(color);return(HBRUSH)m_Brush;

//設置背景顏色//返回畫刷句柄,以便系統(tǒng)使此畫刷繪制對話框}-!編譯運行并測試。5.寫出實驗報告分析上述運行結果以及思考與練習,寫出實驗報告。思考與練習(1)若將控制綠色和藍色顏色分量的滑動條全部換成滾動條,則代碼應如何修改?謝謝閱讀(2)若將CEx_CtrlsDlg對話框中的列表框換成靜態(tài)文本,并用于顯示信息,則應如何實現(xiàn)?謝謝閱讀實驗十二菜單、工具欄和狀態(tài)欄實驗目的和內容(1)創(chuàng)建一個單文檔應用程序Ex_SDI。在“查看”菜單下添加一個子菜單“鼠標位置”,ID為ID_VIEW_MOUSE,當選擇該菜單命令后,鼠標當前的位置顯示到狀態(tài)欄上,同時該菜單項呈選中狀態(tài)。再次選擇該菜單命令,狀態(tài)欄不再顯示當前鼠標位置,同時該菜單項的選中狀態(tài)被去除。感謝閱讀(2)在工具欄上添加并設計一個工具按鈕圖標,使該按鈕和ID_VIEW_MOUSE菜單命令聯(lián)動,并感謝閱讀添加一個快捷鍵Ctrl+M和該菜單命令聯(lián)動。(3)在窗口客戶區(qū)中右擊鼠標,彈出快捷菜單,顯示主菜單“查看”中的菜單命令。結果如圖5.1所示。謝謝閱讀5.1Ex_SDI運行結果實驗準備和說明(1)具備知識:菜單、工具條和狀態(tài)欄。(2)創(chuàng)建本次實驗工作文件夾“…\VisualC++程序\實驗\實驗5”。精品文檔放心下載實驗內容和步驟1.啟動VisualC++6.0打開計算機,啟動VisualC++6.0系統(tǒng)。精品文檔放心下載2.用MFCAppWizard(exe)創(chuàng)建一個默認的單文檔應用程序Ex_SDI謝謝閱讀選擇“文件”→“新建”菜單,在彈出的“新建”對話框中選擇“工程”標簽,在應用程序項感謝閱讀-!目類型列表框中選擇MFCAppWizard(exe)的項目類型,將工程文件夾定位到“…\VisualC++程序\實驗\實驗5”,并在工程框中輸入項目名Ex_SDI。精品文檔放心下載單擊“確定”按鈕,從出現(xiàn)的對話框中,選擇單個文檔(SingleDocument,SDI)應用程序類感謝閱讀型。保留其他的默認選項,單擊“完成”按鈕出現(xiàn)一個對話框,顯示出用戶在步驟中作出的選擇,單擊“確定”按鈕,系統(tǒng)開始創(chuàng)建。感謝閱讀3.添加菜單①在項目工作區(qū)窗口中選擇ResourceView頁面,雙擊資源Menu項中的IDR_MAINFRAME,則菜單編輯器窗口出現(xiàn)在主界面的右邊,相應的Ex_SDI項目的菜單資源被顯示出來。謝謝閱讀②單擊“查看”菜單,則在該菜單的最后一項,VisualC++為用戶留出了一個空位置,用來輸入新的菜單項。感謝閱讀在菜單的空位置上雙擊鼠標左鍵,則出現(xiàn)它的屬性對話框,如圖5.2所示,在標題框中輸入“鼠標位置(&M)\tCtrl+1”,在ID框輸入該菜單項的資源標識:ID_VIEW_MOUSE,在提示框中輸入“在狀態(tài)欄上顯示當前鼠標位置\n鼠標位置”,其中\(zhòng)n前一部分的文本是顯示在狀態(tài)欄上的,后一部分是聯(lián)動的工具圖標按鈕的提示文本。謝謝閱讀圖5.2 菜單項屬性設置4.添加并設計一個工具圖標按鈕在項目工作區(qū)窗口的ResourceView頁面中,雙擊Toolbar中的IDR_MAINFRAME,打開工具欄資源。精品文檔放心下載②單擊工具欄最右端的空白按鈕,在資源編輯器的按鈕設計窗口中繪制一個“箭頭”,顏色為黑色,然后將其拖動到“幫助”按鈕的前面,并使該按鈕的前后均有半個空格,結果如圖5.3所示。謝謝閱讀③雙擊剛才設計的工具按鈕,在彈出的屬性對話框中將其ID設為精品文檔放心下載ID_VIEW_MOUSE。5.菜單命令和工具按鈕的更新精品文檔放心下載

圖5.3 設計的工具按鈕為CMainFrame類添加一個BOOL型的成員變量m_bIsMouse,在CMainFrame類構造函數(shù)中將m_bIsMouse的初值設為FALSE。感謝閱讀方法:找到MainFrm.h頭文件,在下圖位置添加相應代碼。在MainFrm.cpp相應位置設初值。精品文檔放心下載②用MFCClassWizard在CMainFrame類中添加工具按鈕ID_VIEW_MOUSE的COMMAND和感謝閱讀-!UPDATE_COMMAND_UI消息映射函數(shù),并添加下列代碼:感謝閱讀voidCMainFrame::OnViewMouse()精品文檔放心下載{m_bIsMouse=!m_bIsMouse;}voidCMainFrame::OnUpdateViewMouse(CCmdUI*pCmdUI)謝謝閱讀{pCmdUI->SetCheck(m_bIsMouse);謝謝閱讀}編譯運行并測試。6.設置快捷鍵①在項目工作區(qū)窗口的ResourceView頁面中,雙擊Accelerator中的IDR_MAINFRAME,打開快精品文檔放心下載捷鍵資源。雙擊加速鍵列表的最下端的空行,彈出如圖5.4所示的AccelProperities對話框,選擇菜單項ID_VIEW_MOUSE作為要聯(lián)動的快捷鍵的ID號,然后單擊“下一鍵”按鈕,并按下Ctrl+1作為此加速鍵的鍵值。謝謝閱讀圖5.4 設置快捷鍵編譯運行并測試。7.添加狀態(tài)欄窗格并顯示鼠標當前位置打開MainFrm.cpp文件,將原先的indicators數(shù)組修改如下:感謝閱讀staticUINTindicators[]=感謝閱讀{ID_SEPARATOR,ID_SEPARATOR,ID_INDICATOR_CAPS,ID_INDICATOR_NUM,ID_INDICATOR_SCRL,

//statuslineindicator};用MFCClassWizard在CEx_SDIView類中映射WM_MOUSEMOVE(移動鼠標)消息,并在映射函數(shù)中添加下列代碼:精品文檔放心下載voidCEx_SDIView::OnMouseMove(UINTnFlags,CPointpoint)精品文檔放心下載{CMainFrame*pFrame=(CMainFrame*)AfxGetApp()->m_pMainWnd; //獲得主窗口指針謝謝閱讀CStatusBar*pStatus=&pFrame->m_wndStatusBar;//獲得主窗口中的狀態(tài)欄指針感謝閱讀CStringstr;-!if(pFrame->m_bIsMouse)str.Format("%d,%d",point.x,point.y);謝謝閱讀

//格式化文本elsestr.Empty();if(pStatus)

//為空字符pStatus->SetPaneText(1,str);謝謝閱讀CView::OnMouseMove(nFlags,point);謝謝閱讀

//更新第二個窗格的文本}將MainFrm.h文件中的受保護變量m_wndStatusBar變成公共變量。感謝閱讀方法:修改MainFrm.h文件中相應位置代碼,如下圖。謝謝閱讀在Ex_SDIView.cpp文件的開始處增加下列語句:謝謝閱讀#include"Ex_SDIView.h"#include"MainFrm.h"編譯運行并測試。8.實現(xiàn)快捷菜單①用MFCClassWizard在CMainFrame類添加WM_CONTEXTMENU消息映射,并在映射函數(shù)添精品文檔放心下載加下列代碼:voidCMainFrame::OnContextMenu(CWnd*pWnd,CPointpoint)謝謝閱讀{CMenu*pSysMenu=GetMenu();精品文檔放心下載pSysMenu->GetSubMenu(2)

//獲得程序菜單指針->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y,this);謝謝閱讀}編譯運行并測試。9.寫出實驗報告分析上述運行結果以及思考與練習,寫出實驗報告。思考與練習若狀態(tài)欄只有一個用戶定義的指示器窗格(其ID號為ID_TEXT_PANE),應如何定義?若當用戶在客戶區(qū)雙擊鼠標時,在該窗格中顯示“雙擊鼠標”字樣,則應如何編程?感謝閱讀-!voidCAaDlg::OnHScroll(UINTnSBCode,UINTnPos,CScrollBar*pScrollBar)精品文檔放心下載{intnID=pScrollBar->GetDlgCtrlID();//獲取對話框中控件ID號感謝閱讀if(nID==IDC_SCROLLBAR_RED){ //或是滾動條產生的水平滾動消息精品文檔放心下載switch(nSBCode){caseSB_LINEUP:m_nRed--; //單擊滾動條向上箭頭精品文檔放心下載break;caseSB_LINEDOWN:m_nRed++; //單擊滾動條向下箭頭謝謝閱讀break;caseSB_PAGEUP:m_nRed-=10;謝謝閱讀break;caseSB_PAGEDOWN:m_nRed+=10;精品文檔放心下載break;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論