友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
一世书城 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

深入浅出MFC第2版(PDF格式)-第203章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!






       ■  Stock events 



       ■  Custom events 



ActiveX Controls的五大使用步骤 



      欲在程序中加上ActiveX Controls ,基本上需要五个步骤: 



      1。 建立新项目时,在AppWizard  的步骤3中选择【ActiveX Controls 】。这会 



      使程序代码多出一行: 



        BOOL COcxTestApp::InitInstance() 



        { 



          AfxEnableControlContainer(); 



          。。。 



        } 



      2。 进入ponent Gallery ,把ActiveX Controls 安插到你的程序中。 



      3。 使用ActiveX Controls 。通常我们在对话窗中使用它。我们可以把资源编辑器 



      的工具箱里头的ActiveX Controls 拖放到目标对话窗中。 



      4。 利用ClassWizard 产生对话窗类别,并处理相关的Message Maps、消息处理 



      例程、变量定义、对话框函数等等。 



      5。 编译联结。 



                                                                                    825 


…………………………………………………………Page 888……………………………………………………………

              第篇    深入  MFC  程式設計 



              我将以系统内建(已注册过)的Grid ActiveX Control 做为示范的对象。Grid 具有小型 



              电子表格能力,当然它远比不上Excel     (不然Excel 怎么卖),不过你至少可以获得一个 



              中规中矩的7x14  电子表格,并且有基本的编辑和运算功能。 



              容我先解释我的目标。图16…1 是我期望的结果,这个电子表格完全为了家庭记账而量身 



              设计,假设你有五种收入(真让人羡慕),这个表格可以让你登录每个月的每一种收入, 



              并计算月总收入和年总收入,以及各分项总收入。 



               图16…1 在对话窗中使用Grid ActiveX control。每一横列或纵行的最后一 



                    栏都是总和。 



              由于Grid 本身并不提供编辑能力,我们以电子表格右侧的一个edit 字段做为编辑区域。 



              使用者所选择的方格的内容会显示在这edit 字段中,并且允许被编辑内容。数值填入后 



              必须按下 键,或是在【Update Value 】钮上按一下,电子表格内容才会更新。如果 



              要直接在电子表格字段上做编辑动作,并不是不可以,把edit 不偏不倚贴到字段也就是 



              了! 



826 


…………………………………………………………Page 889……………………………………………………………

                               16                     ponents & ActiveX Controls 

                            第 章 站眾的肩膀 使用 



        本书进行到这里,我想你对于工具的使用应该已经娴熟了,我将假设你对于像「利用 



        ClassWizard 为CMainFrame 拦截一个ID_GridTest 命令, 并指名其处理例程为 



        OnGridTest」这样的叙述,知道该怎么去动手。 



使用Grid ActiveX Control:OcxTest程序 



        首先利用MFC AppWizard 做出一个OcxTest 项目。记得在步骤3选择【ActiveX 



        Controls 】: 



        然后进入ponent Gallery ,将Grid 安插到项目中: 



                                                                                    827 


…………………………………………………………Page 890……………………………………………………………

                第篇    深入  MFC  程式設計 



                你必须回答一个对话窗: 



828 


…………………………………………………………Page 891……………………………………………………………

                          16                    ponents & ActiveX Controls 

                        第 章 站眾的肩膀 使用 



对话窗的设计 



     产生一个崭新的对话窗。这个动作与你在第10 章为Scribble 加上〃Pen Width〃 对话窗的 



     步骤完全一样。请把新对话窗的ID 从IDD_DIALOG1  改变为IDD_GRID。 



     从工具箱中抓出控制组件来,把对话窗布置如下。 



     虽然你把Grid 拉大,它却总是只有2x2 个方格。你必须使用右键把它的Control 



     Properties  引出来(如下),进入Control 附页,这时候会出现各个properties : 



      ! §Control! ¨  附页在中文Windows  中竟然变成「一般」。这是否也算是一只臭虫? 



                                                                            829 


…………………………………………………………Page 892……………………………………………………………

                 第篇    深入  MFC  程式設計 



                 现在选择Rows ,设定为14,再选择Cols ,设定为7 。你还可以设定行的宽度和列的高 



                 度,以及方格初值。。。。噢,记得给这个Grid 组件一个ID ,叫做IDC_GRID 好了。 



                 整个对话窗的设计规格如下: 



                  对象                   ID                       文字内容 



                 对话窗                   IDD_GRID                ActiveX Control (Grid) Testing 



                 OK  按鈕                IDOK                    OK 



                 Cancel  按鈕            IDCANCEL                Cancel 



                 Edit                  IDC_VALUE 



                 Update Value  按鈕      IDC_UPDATEVALUE         Update Value 



                 Grid                  IDC_GRID 



                  现在准备设计IDD_GRID  的对话窗类别。这件事我们在第10 章也做过。进入 



                  CLassWizard,填写【Add Class 】对话窗如下,然后按下【OK 】钮: 



830 


…………………………………………………………Page 893……………………………………………………………

                         16                       ponents & ActiveX Controls 

                      第 章 站眾的肩膀 使用 



 回到ClassWizard 主画面,准备为组件们设计消息处理例程。步骤是先选择一个组件 



 ID ,再选择一个消息,然后按下【Add Function 】钮。注意,如果你选择到一个ActiveX 



 Control,〃Messages〃 清单中列出的就是该组件所能发出的events 。 



本例的消息处理例程的设计规格如下: 



 对象ID                                          消息                     处理函数名称 



 CGridDlg                 WM_INITDIALOG            OnInitDialog 



 IDOK                     BN_CLICK                 OnOk 



 IDCANCEL                 BN_CLICK                 OnCancel 



 IDC_VALUE 



 IDC_UPDATEVALUE          BN_CLICK                 OnUpdatevalue 



 IDC_GRID                 VBN_SELCHANGE            OnSelchangeGrid 



                                                                                  831 


…………………………………………………………Page 894……………………………………………………………

                   第篇    深入  MFC  程式設計 



                   到此为止,我们获得这些新文件: 



                   RESOURCE。H 

                   OCXTEST。RC 

                   GRIDCTRL。H      
返回目录 上一页 下一页 回到顶部 0 1
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!