




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、WOR格式實驗二標(biāo)準(zhǔn)控件一、 題目9-171.題目具體內(nèi)容:如圖9-8創(chuàng)建應(yīng)用程序,在“形狀” 列表框中選擇要繪制的圖形 ,在“筆顏色”下拉列表框中選擇畫筆的顏色 ,在“刷子顏色” 下拉列表框中選擇畫刷的顏色。在“線型” 組合框中選擇畫筆的線型 ,在“填充類型”中選擇畫刷填充類型。單擊“繪圖”按鈕按照前面的選項繪制圖形,單擊“退出”按鈕退出程序2.分析和核心代碼(1) 創(chuàng)建MFC應(yīng)用程序:在對話框中選擇 Dialogbased 創(chuàng)建基于對話框的應(yīng)用程序。專業(yè)資料整理WOR格式(2) 在工作區(qū)窗口中選擇資源視圖,打開Dialog 文 件夾,雙擊在右側(cè)窗口出現(xiàn)了待編輯的對話框。利用控件工具,按照圖
2、9-8建立對話框,添加各個按鈕,對話框中各控件的屬性如下:控件名稱 ID Caption靜態(tài)文本IDC - STATIC 形狀列表框IDC -LIST - SHAPE靜態(tài)文本 IDC - STATIC 筆顏色下拉列表框IDC - COMBO - PENCOLOR靜態(tài)文本IDC -STATIC刷子顏色下拉列表框IDC - COMBO - BRUSHCOLOR組合框IDC -STATIC線型單選按鈕IDC - RADIO - SOLID Solid單選按鈕IDC - RADIO - DASH Dash單選按鈕 IDC - RADIO - DOT Dot單選按鈕 IDC - RADIO - DASH
3、DOT DashDot組合框IDC - STATIC填充類型單選按鈕 IDC - RADIO - SOLIDBRUSH SolidBrush單選按鈕 IDC - RADIO - CROSS Cross單選按鈕 IDC - RADIO - PDIAGONAL PDiagonal單選按鈕 IDC - RADIO - BDIAGONAL BDiagonal 下壓式按鈕 IDC - BTN - DRAW繪制下壓式按鈕IDOK退出專業(yè)資料整理WOR格式(3) 建立好各控件后,在“筆顏色”下拉列表框,選擇屬性菜單項,在彈出的對話框中單擊數(shù)據(jù)選項卡。輸入完一行后,按下Ctrl鍵的同時單擊Enter鍵。同理在
4、“畫刷顏色”下拉列表框的數(shù)據(jù)選項卡中輸入同樣的內(nèi)容。 這樣一行文本就代表下拉列表框中的一個顏色選項。分別在Solid 和SolidBrush單選按鈕上單擊鼠標(biāo)右鍵,選擇屬性菜單項, 選中RadioButton Properties對話框中的Group選項。創(chuàng)建單選按鈕時要按照圖中從上到下的順序,保證單選按鈕的ID值是連的,才能保證兩組單選按鈕的互斥性。(4 ) 在 Workspace窗口中,選擇 類視圖選項卡,在類CshiyanDlg上單擊鼠標(biāo)右鍵,選擇 添加成員變量菜單項,加入Public型變量如表。表9-19在對話框類中加入的成員變量變量類型變量名稱說明intintm- nPenStyle
5、m- nBrushStyle標(biāo)志由“線型”組合框中所選擇的畫筆的類型標(biāo)志由“填充類COLORREFm- crPenColor型”組合框中所選擇的畫刷類型標(biāo)志“筆顏色”列表框中所選擇的畫專業(yè)資料整理WOR格式筆顏色COLORREFm- crBrushColor標(biāo)志“刷子顏色”列表框中所選擇的畫刷顏色在CMyshiyanDIg .cpp的OnlnitDialog函數(shù)中加入代碼如下m_pencolor=RGB(255,0,0);m_brushcolor=RGB(255,0,0);m_penstyle=PS_SOLID;m_brushstyle=PS_SOLID;m_l ist.SetCurSel(O
6、);m_combo1.SetCurSel(0);m_combo2.SetCurSel(0);CheckRadioButton(IDC - RADI O- SOLID, IDC - RADI O- DASHDOT, IDC - RADIO - SOLID);CheckRadioButton( IDC - RADIO - SOLIDBRUSH , IDC - RADIO - BDIAGONAL , IDC-RADIO -SOLIDBRUSH);在這里設(shè)置了各變量的初始值。默認(rèn)筆和刷的顏色為紅色,筆的線型為實線,畫刷填充類型為實填充。(5) 打開類向?qū)υ捒颍x擇 消息選 項卡, 在Object I
7、Ds列表框中選擇各個單選按鈕的ID 值,在Messages列 表框中選擇消息類型。專業(yè)資料整理WOR格式單擊 Add Function按鈕映像各單選按鈕的消息處理函數(shù)ID消息消息處理函數(shù)IDC-RADIO-SOLIBN-CLICKEDOnRadioSolidDIDC-RADIO-DASHBN-CLICKEDOnRadioDashIDC-RADI 0-DOTBN-CLICKEDOnRadioDotIDC-RADIO- DASHDOTBN-CLICKEDonRadioDashdottIDC-RADIO-SOLIDBRUSHBN-CLICKEDOnRadioSolidBrushIDC-RADIO-C
8、ROSBN-CLICKEDOnRadioCrossSIDC-RADIO-PDIAGONALBN-CLICKEDOnRadioPdiagonalIDC-RADIO-BDIAGONALBN-CLICKEDOnRadioBdiagonal表)在單選按鈕上單擊鼠標(biāo)系統(tǒng)發(fā)送BN - CLICKED 消息,調(diào)用消息處理函數(shù),在這些函數(shù)中加入代碼設(shè)置標(biāo)志筆和畫刷類型的變量m - nPenStyle 和m -nBrushStyle 。void CshiyanDlg:OnBnClickedSolid()專業(yè)資料整理WOR格式/ TODO:在此添加控件通知處理程序代碼 m_penstyle=PS_SOLID;vo
9、id CshiyanDlg:OnBnClickedDash()/ TODO:在此添加控件通知處理程序代碼m_penstyle=PS_DASH;void CshiyanDlg:OnBnClickedDot()/ TODO:在此添加控件通知處理程序代碼 m_penstyle=PS_DOT;void CshiyanDlg:OnBnClickedDashdot()/ TODO:在此添加控件通知處理程序代碼 m_penstyle=PS_DASHDOT;void CshiyanDlg:OnBnClickedSolidbrush()/ TODO:在此添加控件通知處理程序代碼 m_brushstyle=PS_
10、SOLID;專業(yè)資料整理WOR格式void CshiyanDlg:OnBnClickedCross()/ TODO:在此添加控件通知處理程序代碼m_brushstyle=HS_CROSS;void CshiyanDlg:OnBnClickedFdiagonal()/ TODO:在此添加控件通知處理程序代碼m_brushstyle=HS_FDIAGONAL;void CshiyanDlg:OnBnClickedBdiagonal()/ TODO:在此添加控件通知處理程序代碼m_brushstyle=HS_BDIAGONAL;(6) 打開類視圖對話框,為下拉列表框映像消息處理函數(shù)(如表所示)。Ob
11、ject IDs消息消息處理函數(shù)IDC - COMBO -CBN - SELENDOKPENCOLOROnSelendokComboPencolor專業(yè)資料整理WOR格式IDC- COMBO -BRUSHCOLORCBN - SELENDOKOnSelendokComb oBrushcolor當(dāng)在下拉列表框中選擇一個顏色選項時,系統(tǒng)發(fā)送此消息,調(diào)用消息處理函數(shù),在這些消息處理函數(shù)中設(shè)置顏色變量void CshiyanDlg:OnCbnSelendokCombo1()/ TODO:在此添加控件通知處理程序代碼int i;i=m_combo1.GetCurSel();if(i=0)m_pencol
12、or=RGB(255,0,0);else if(i=1)m_pencolor=RGB(0,255,0);else if(i=2)m_pencolor=RGB(0,0,255);void CshiyanDlg:OnCbnSelendokCombo2()/ TODO:在此添加控件通知處理程序代碼int i;i=m_combo2.GetCurSel();專業(yè)資料整理WOR格式if(i=0)m_brushcolor=RGB(255,0,0);else if(i=1)m_brushcolor=RGB(0,255,0);else if(i=2)m_brushcolor=RGB(0,0,255);首先調(diào)用函
13、數(shù) GetCurSel得到當(dāng)前選項在下拉列表框中的位置,后根據(jù)此位置設(shè)置顏色變量。(7) 在消息處理函數(shù)OnBnClickedButton1, 加入如下代碼:void CshiyanDlg:OnBnClickedButton1()/ TODO:在此添加控件通知處理程序代碼CClientDC hDC(this);CPen *penold,pennew;CBrush *brushold,brushnew,brushback;CRect rectclient;GetClientRect(&rectclient);CRectrectdraw(rectclient.right-170,20,re
14、ctclient.right-20,170);brushback.CreateSolidBrush(RGB(255,255,255);brushold=hDC.SelectObject(&brushback);專業(yè)資料整理WOR格式hDC.Rectangle(rectdraw);if(m_brushstyle!=O)brushnew.CreateHatchBrush(m_brushstyle,m_brushcolor);elsebrushnew.CreateSolidBrush(m_brushcolor);pennew.CreatePen(m_penstyle,1,m_pencolor
15、);penold=hDC.SelectObject(&pennew);hDC.SelectObject(&brushnew);if(m_l ist.GetSel(O)hDC.MoveTo(rectdraweft,rectdraw.top);hDC 丄 ineTo(rectdraw.right,rectdraw.bottom);else if(m_l ist.GetSel(1)hDC.Ellipse(rectdraw);專業(yè)資料整理WOR格式else if(m_l ist.GetSel(2)hDC.Rectangle(rectdraw);else if(m_l ist.GetSe
16、l(3)hDC.RoundRect(rectdraw,CPoint(50,50);hDC.SelectObject(penold);hDC.SelectObject(brushold);首先得到設(shè)備環(huán)境指針HDC然后調(diào) GetClientRect(&rectclient);得到用戶區(qū)的大小,并定義繪圖rectclient。根據(jù)nBrushStyle和m -crBrushColor創(chuàng)建畫刷對象,根據(jù)m nPen-Style和m - crPenColor創(chuàng)建畫筆。最后調(diào)用列表框類成員函數(shù) GetSel得到選中的列表框項的位置,依此繪制圖形。3.測試數(shù)據(jù)、預(yù)期結(jié)果、測試結(jié)果測試結(jié)果選擇條件參
17、數(shù),專業(yè)資料整理5團(tuán)削«w團(tuán)瀏 r:biki« EIMIfl曙 BrH!lv喝via n 握屬 AsnHndwHn 飯國理«llafflorl>faN凰疇國laffilaul幽 31働圖!« sl»lsl割»« »»!98豐!? 義崩垂efsslnBI sm w w »!R0lell屢9蛍一 wa9l aHHHB腔 rff_flM»l«».Is用陶膛匱ra隠 iw 煙«'"« _«««
18、7;«#«RBiK滋常辱§!HIB'H'B晅1毬A'wa雷畫畫0|.|割_圖 昭iiarBs!區(qū)JSHH愛8|屢«矗»9|墜量9»事廈僵=1WOR格式5.調(diào)試過程及心得體會做的時候有很多不明白的地方,用到了很多以前講解的知識,關(guān)于理解的不夠透MFC和標(biāo)準(zhǔn)控件的應(yīng)用雖然上課聽了理論知識,但是徹,調(diào)試的時候出現(xiàn)了很多錯誤。以后應(yīng)該多看看書本,做練習(xí)才能提高編程能力。實驗題目9-201.題目建立一個程序進(jìn)行數(shù)據(jù)的管理,設(shè)有10 組數(shù)據(jù),每一組數(shù)據(jù)有5個元素,要求該程序能實現(xiàn)如下功能(本例的程文件名為9-20)(1)從
19、鍵盤依次輸入10 組數(shù)據(jù);(2)調(diào)出任意的一組數(shù)據(jù)并顯示出來;(3)修改任意一組數(shù)據(jù)或一組數(shù)據(jù)中的任意一個元素;(4)求出任意一組數(shù)據(jù)中的最大值和最小值。2.分析和核心代碼(1) 利用MFC向?qū)Ы⒊绦蚩蚣埽?2) 在對話框中添加相應(yīng)的控件,并根據(jù)表設(shè)置其屬性。圖9 -21 要求開發(fā)的界面對象IDCaption或變量類型編輯框IDC - EDIT1說明組號m- Group-CEdit專業(yè)資料整理WOR格式Edit編輯框IDC -EDIT2數(shù)據(jù)1m- No1- EditCEdit編輯框IDC -EDIT3數(shù)據(jù)2m- No2- EditCEdit編輯框IDC -EDIT4數(shù)據(jù)3m- No3- Ed
20、itCEdit編輯框IDC -EDIT5數(shù)據(jù)4m- No4- EditCEdit編輯框IDC -EDIT6數(shù)據(jù)5m- No5- EditCEdit編輯框IDC -數(shù)據(jù)STATIC編輯框IDC -EDIT7最大值 m-Max - EditCEdit編輯框IDC最小值m-Min -EditCEditEDIT8編輯框IDC - STATIC結(jié)果(4)根據(jù)圖中的布局,利用圖9-10中的“按鈕”按鈕單擊鼠標(biāo)左鍵在對話框窗口中的“輸入數(shù)據(jù)”按鈕的位置上,按下鼠標(biāo)左鍵并拖動鼠標(biāo)畫出一個大小合適的下壓式按鈕。在按鈕上單擊鼠標(biāo)右鍵,在彈出的菜單中選擇Properties 選項,在彈出的對話框(如圖9- 24所示
21、)中設(shè)置按鈕控件的ID值和Caption 屬性。按照此方法建立圖 9-23所示的4個按 鈕,并將各對象屬性設(shè)置如表9- 27 所示。表9-27【9-20】中各按鈕屬性的設(shè)置對象IDCaption命令按鈕IDC - BUTTON1輸入數(shù)據(jù)命令按鈕IDC - BUTTON2輸出數(shù)據(jù)專業(yè)資料整理WOR格式命令按鈕IDC - BUTTON3檢索數(shù)據(jù)命令按鈕IDC - BUTTON4退出(5)加入代碼為了記錄輸入的10組數(shù)據(jù),需要在文件9- 20Dlg .h中定義結(jié)構(gòu)如下:structstruData doubledfData5; ;“組號”編輯框中輸入組號,然后在“數(shù)據(jù)”編輯框中輸入數(shù)據(jù),單擊“輸入數(shù)
22、據(jù)”將存儲數(shù)據(jù)。,選擇 MessageMaps選項卡,在 Object IDs 列表框 中選擇IDC- BUTTON1在Messages 列表框中選 BN-CLICKED(如圖所示)。單擊 Add Function按鈕,在彈出的 Add Member Function對話框中將函數(shù)名改為OnlnputBtn,然后單擊Edit Code 按鈕,加入下列代碼:void Cshi9_20Dlg:OnBnClickedi 叩 ut()/ TODO:在此添加控件通知處理程序代碼UpdateData(true);datam_groupnum0=m_data1;datam_groupnum1=m_data2
23、;datam_groupnum2=m_data3;datam_groupnum3=m_data4;專業(yè)資料整理WOR格式datam_groupnum4=m_data5;UpdateData(false);CString cstrGroup,cstrlnputData5;/型數(shù)據(jù)圖9-27 在Messages列表框中選擇intiGroup;/組號為整數(shù)m- Group- Edit.GetWindowText(cstrGroup);得到組號字符串m- No1- Edit.GetWindowText(cstrInputData0);/得到輸入數(shù)據(jù)字符串m- No2- Edit.GetWindowTe
24、xt(cstrI n putData1);輸入數(shù)據(jù)為字符串BN-CLICKED/m- No3- Edit.GetWindowText(cstrlnputData2);m- No4- Edit.GetWindowText(cstrlnputData3);m- No5- Edit.GetWindowText(cstrlnputData4);iGroup=atoi(LPCTSTR)cstrGroup);化為整數(shù)形式for(inti=0;i<5;i+)/形式/將組號轉(zhuǎn)將輸入數(shù)據(jù)轉(zhuǎn)化為浮點專業(yè)資料整理WOR格式lnputDataiGroup-1 .dfDatai=atof(LPCTSTR)cstr
25、lnputDatai); “輸出結(jié)果”按鈕用來顯示當(dāng)前組號編輯框中的組號所對應(yīng)的一組數(shù)據(jù)的最大和最小值。利用類向?qū)Ыo按鈕映像BN- CLICKED消息處理函數(shù)。OnBnClickedoutput加入下列代碼:void Cshi9_20Dlg:OnBnClickedoutput()/ TODO:在此添加控件通知處理程序代碼UpdateData(true);float mindata=datam_groupnum0,maxdata=datam_groupnum0;for(int i=0;i<5;i+)if(mindata>datam_groupnumi)mindata=datam_gr
26、oupnumi;if(maxdata<datam_groupnumi) maxdata=datam_groupnumi;CString text;專業(yè)資料整理WOR格式text.Format(L"%g",mindata);m_mindata.SetSel(O,-1);m_mindata.ReplaceSel(text);text.Format(L"%g",maxdata);m_maxdata.SetSel(0,-1);m_maxdata.ReplaceSel(text);首先需要從組號編輯框中讀取組號值,然后將第一個數(shù)據(jù)值賦給dfMax、dfMin
27、,當(dāng)有數(shù)據(jù)比dfMax 大時,將它賦值給fdMax;當(dāng)有數(shù)據(jù)比dfMin小時,將它賦值給dfMin 。經(jīng)過此循環(huán)后,可以求得最大和最小值。 “檢索數(shù)據(jù)”按鈕用來完成搜索功能,在“組號”編輯框中輸入需要搜索的數(shù)據(jù)的組號單擊該按鈕后,在5個“數(shù)據(jù)”編輯框中顯示數(shù)據(jù)。在消息處理函數(shù)OnBnClickedsearch然后加入下列代碼 :void Cshi9_20Dlg:OnBnClickedsearch()/ TODO:在此添加控件通知處理程序代碼UpdateData(true);m_data1=datam_groupnum0;m_data2=datam_groupnum1;m_data3=datam
28、_groupnum2;m_data4=datam_groupnum3;專業(yè)資料整理WOR格式m_data5=datam_groupnum4;UpdateData(false);然后調(diào)出相應(yīng)數(shù)同樣首先要調(diào)用函數(shù)GetWindowText得到組號據(jù)輸出即可。OnBnClickedexit 給“退出”按鈕連接代碼:在消息處理函數(shù)然后加入下列代碼。void Cshi9_20Dlg:OnBnClickedexit()/ TODO:在此添加控件通知處理程序代碼OnOK();4. 測試數(shù)據(jù)、預(yù)期結(jié)果、測試結(jié)果(1) 輸入第“ 0 ”組數(shù)據(jù),顯示最大值和最小值:專業(yè)資料整理WOR格式A 射乂20oj亠瞬7
29、39;犠山叫亠J44: f :* I:(2)輸入第“3”組數(shù)據(jù),顯示最大值和最小值:(3) 檢 索 第 “0” 組 數(shù) 據(jù)專業(yè)資料整理WOR格式iu i"i 11|j* 'ii mnvii i nEriHI 1 = Hii i輸Mtti * JLSSt.JI SgS粗潴果I;退S-題目9-211.題目創(chuàng)建一程序,包含兩個編輯框,一個是單行編輯框,一個是多行編輯框,另外有“ Cut ” 、“Copy” 、“Paste ” 、“Clear All” 、“Undo” 和 “Exit按鈕。分別完成從一個編輯框到另一個編輯框的“剪切”、“拷貝”、“粘貼”“清除”、“撤銷”和“退出”操作
30、。在多行編輯框的下方創(chuàng)建4個文本框,能動態(tài)顯示多行編輯框中當(dāng)前文本的行數(shù)、字符數(shù)、多行編輯框中當(dāng)前可見最上面一行的行號、 光標(biāo)所在行的行號。界面如圖 9-28所示(本例的工程文件為 9 - 21)。專業(yè)資料整理WOR格式2.分析和核心代碼 利用MFC向?qū)Ы⒊绦蚩蚣?2) 雙擊IDD- MY9- 21- DIALOG,打開待編輯的對話框建立單行和多行編輯框在VC 2012的控件選項框中選擇“編輯框” 按鈕, 在“ Single Line Edit Box編輯框的位置上,按下鼠標(biāo)左鍵并拖動鼠標(biāo)畫出一個大小合適的編輯框在該編輯框上單擊鼠標(biāo)右鍵,在彈出的快捷菜單上選擇屬性選項,在彈出的對話框中輸入編
31、輯框的屬性。同樣可以在窗口中創(chuàng)建MultiLine Edit Box編輯框,在編輯框上單擊鼠標(biāo)右鍵選擇屬性選項在彈出的對話框中的 General選項卡中輸入ID,然后單擊Styles( 樣式)選項卡,選中Multiline表-編輯框?qū)ο蟮淖兞考捌漕愋蛯ο驣D變量類型專業(yè)資料整理WOR格式編輯框 IDC - SINGLEEDIT m - MEdit CEdit 編輯框 IDC -MULTILINEEDIT m - SEdit CEdit創(chuàng)建“ Cut ”按鈕:在對話框窗口創(chuàng)建“ Cut ”按鈕,選擇屬性 菜單項后,在彈出的Push Button Properties對話框中設(shè)置按鈕屬性。同理創(chuàng)建
32、其他按鈕,各按鈕屬性如下表所示。對象IDCaption下壓式按鈕IDC -COPYCopy下壓式按鈕IDC -CUTCut下壓式按鈕IDC-PASTE下壓式按鈕IDC -CLEARALL Clear All下壓式按鈕IDC -UNDO Undo下壓式按鈕IDC -EXIT ExitPaste 建立顯示 “ MultiLine Edit Box”狀態(tài)的編輯框:創(chuàng)建MultiLine Edit Box ” 下方的4 個編輯框,在這些編輯框上單擊鼠標(biāo)右鍵Properties 菜單項,在對話框的 Style 選項卡中選中 Read-Only 。各對象ID,選擇屬性如下表所示編輯框?qū)ο蟮淖兞考捌漕愋蛯ο?/p>
33、ID變量類型編輯框 IDC - LINENUM m - LineNum CEdit編輯框 IDC - CHARNUM m - CharNum CEdit編輯框 IDC - CURLINE m - CurLine CEdit專業(yè)資料整理WOR格式編輯框 IDC - VISLINE m - VisLine CEdit(3) 加入代碼。給 “ Clear All ”按鈕連接代碼:Cshi9_21Dlg加入如下代碼:void Cshi9_21Dlg:OnBnClickedClear()/ TODO:在此添加控件通知處理程序代碼m_edit1.SetSel(0,-1);m_edit1.ReplaceSe
34、l(L"");m_edit2.SetSel(0,-1);m_edit2.ReplaceSel(L"");調(diào)用編輯框類CEdit的成員函數(shù)SetSel(°,內(nèi)容全選 ,然后調(diào)用函數(shù)ReplaceSel( ),在函數(shù)-1)將編輯框中的將全選的文本用空文本 代替,完成清空編輯框的任務(wù)。 “ Undo” 按鈕連接代碼:在消息處理函數(shù)OnBnClickedBtnUndo,加入如下代碼:void Cshi9_21Dlg:OnBnClickedBtnUndo()/ TODO:在此添加控件通知處理程序代碼if(m_flag1)m_edit1.Undo();if
35、(m_flag2)專業(yè)資料整理WOR格式m_edit2.Undo(); 給“Copy”按鈕連接代碼:先定義 bFocusSEdit和bFocusMEdit兩個變量,在這里規(guī)定只有獲得輸入焦點的編輯框才能執(zhí)行按鈕操作這兩個變量用來標(biāo)志編輯框是否獲得了輸入焦點。這兩個變量需要初始化,在初始化函數(shù) OnlnitDialog中加入代碼:BOOL Cshi9_21Dlg:OnlnitDialog()CDialog:OnlnitDialog();/ 將“關(guān)于”菜單項添加到系統(tǒng)菜單中。/ IDM_ABOUTBC必須在系統(tǒng)命令范圍內(nèi)。ASSERT(IDM_ABOUTBOX & OxFFFO) = ID
36、M_ABOUTBOX); ASSERT(IDM_ABOUTBOX <OxFOOO);CMenu* pSysMenu = GetSystemMenu(FALSE);if (pSysMenu != NULL)BOOL bNameValid;CString strAboutMenu;bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX); ASSERT(bNameValid);if (!strAboutMenusEmpty()專業(yè)資料整理WOR格式pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu->
37、AppendMenu(MF_STRING, IDM_ABOUTBOX,strAboutMenu);/設(shè)置此對話框的圖標(biāo)。當(dāng)應(yīng)用程序主窗口不是對話框時,框架將自動/ 執(zhí)行此操作Setlcon(m_hlcon, TRUE);/設(shè)置大圖標(biāo)Setlcon(m_hlcon, FALSE);/設(shè)置小圖標(biāo)/ TODO:在此添加額外的初始化代碼return TRUE; /除非將焦點設(shè)置到控件,否則返回TRUE采用給 “ Clear All ”按鈕映像消息處理函數(shù)相同的方法,在類向?qū)е械?ObjectIDs框中選擇IDC - SINGLEEDIT,在 Messages框中選擇 WM- SETFOCUS消肖息,
38、單擊 AddFunction 按鈕,接受默認(rèn)函數(shù)名,然后單擊Edit Code按鈕,加入如下代碼:void Cshi9_21Dlg:OnEnKillfocusEdit1()/ TODO:在此添加控件通知處理程序代碼m_flag1=true;m_flag2=false; 專業(yè)資料整理WOR格式當(dāng)單行編輯框獲得了輸入焦點后系統(tǒng)自動發(fā)送消息WM - SETFOCUS給相應(yīng)的對象,然后調(diào)用此消息映像函數(shù)將m_flag2設(shè)置為TRUE。同理我們可以處理多行編輯框的WM - SETFOCU消 息,在消息處理函數(shù) OnEnKillfocusEdit2 中加入代碼:voidCshi9_21Dlg:OnEnKi
39、llfocusEdit2()/ TODO:在此添加控件通知處理程序代碼m_flag仁false;m_flag2=true;給 “Copy”按鈕加代碼,在消息處理函數(shù)OnBnClickedBtnCopy, 加入如下代碼:void Cshi9_21Dlg:OnBnClickedBtnCopy()/ TODO:在此添加控件通知處理程序代碼if(m_flag1)m_edit1.Copy();if(m_flag2)m_edit2.Copy();專業(yè)資料整理WOR格式 給 “Cut ”按鈕增加代碼:在消息映像函數(shù)OnBnClickedBtnCut,加入下列代碼:void Cshi9_21Dlg:OnBnC
40、lickedBtnCut()/ TODO:在此添加控件通知處理程序代碼if(m_flag1)m_edit1.Cut();if(m_flag2)m_edit2.Cut(); 給“Paste ”按鈕增加代碼:利用在消息映像處理函數(shù)OnBnClickedBtnPaste, 加入下列代碼:void Cshi9_21Dlg:OnBnClickedBtnPaste()/ TODO:在此添加控件通知處理程序代碼if(m_flag1)m_edit1.Paste();if(m_flag2)m_edit2.Paste(); 此題要求動態(tài)地顯示多行編輯框的狀態(tài),為此需要給MultiLine Edit Box ”編輯
41、框的EN - CHANGE消息映像函數(shù), 每專業(yè)資料整理WOR格式系統(tǒng)均發(fā)出當(dāng) “ MultiLine Edit Box”編輯框的內(nèi)容發(fā)生變化時此消息。加入下列代碼:void Cshi9_21Dlg:OnEnChangeEdit2()/ TODO: 如果該控件是 RICHEDIT 控件,它將不/發(fā)送此通知,除非重寫CDialog:OnlnitDialog()/ 函數(shù)并調(diào)用 CRichEditCtrl().SetEventMask()/ 同時將ENM_CHANGB志“或”運算到掩碼中。/ TODO:在此添加控件通知處理程序代碼CString strText;/ TEXTMETRIC tm;str
42、Text.Format(L"%d",m_edit2.GetLineCount();m_li nenum.SetSel(0,-1);minenum.ReplaceSel(strText);strText.Format(L"%d",m_edit2.GetWindowTextLengthW();m_charnum.SetSel(0,-1);m_charnum.ReplaceSel(strText);CPoint care;care=m_edit2.GetCaretPos();strText.Format(L"%d",m_edit2.GetFirstVisibleLine();m_visline.SetSel(0,-1);m_visline.ReplaceSel(strText);專業(yè)資料整理WOR格式/CCIientDC hDC(this);GetTextMetrics(hDC,&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZZB 3706-2024 石化行業(yè)用不銹鋼閥門鑄件
- T-ZJCX 0047-2024 浙江省法人數(shù)字證書應(yīng)用接口規(guī)范
- 二零二五年度宅基地占用權(quán)轉(zhuǎn)讓協(xié)議
- 獨立董事聘用合同(二零二五年度)-能源行業(yè)節(jié)能減排
- 2025年度門面買賣合同(含廣告位租賃)
- 二零二五年度音樂作品著作權(quán)許可與網(wǎng)絡(luò)播放協(xié)議
- 2025年度校外住宿生安全管理及意外傷害賠償協(xié)議
- 2025年度相鄰宅基地邊界爭議解決與宅基地置換協(xié)議
- 二零二五年度拆除工程合同糾紛解決機(jī)制合同
- 二零二五年度自然人個人醫(yī)療設(shè)備貸款合同生效與還款規(guī)定
- 2024年中級消防員考試題庫
- 必考古詩賞析知識點(九年級下冊)-2025年中考語文一輪復(fù)習(xí)
- 2024-2025學(xué)年人教版八年級物理上學(xué)期課后習(xí)題答案
- 遼寧省沈陽市大東區(qū)2024年中考化學(xué)模擬試題一
- 國能遼寧北票 200MW 風(fēng)力發(fā)電項目地質(zhì)災(zāi)害危險性評估報告
- 江蘇省常州市教育學(xué)會2023-2024學(xué)年下學(xué)期八年級數(shù)學(xué)考試卷
- DZ∕T 0214-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 銅、鉛、鋅、銀、鎳、鉬(正式版)
- 2024年瓦斯爆炸事故專項應(yīng)急演練桌面推演腳本
- 2024年遼寧大連中遠(yuǎn)海運川崎船舶工程有限公司招聘筆試參考題庫含答案解析
- 《單層廠房鋼結(jié)構(gòu)》
- 八年級下冊二次根式作業(yè)設(shè)計
評論
0/150
提交評論