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

VC语言6.0程序设计从入门到精通-第47章

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






       UINT IsDlgButtonChecked(int nIDButton) const;  



       返回检查框或单选按钮的选择状态 。返回值为 0 表示按钮未被选择,为 1 表示按钮被选 

择,为 2 表示按钮处于不确定状态(仅用于检查框 )。  

       同时还可以调用 CWnd 成员函数 GetWindowText()、GetWindowTextLength()和 SetWindow  

…Text()来查询或设置按钮中显示的正文。  



实例 5…1:控件基本使用方法实例。源代码在光盘中“05实例 5…1RMB ”目录下。  



       下面通过一个基于对话框的例子来说明控件的基本使用方法,该示例实现了将阿拉伯数 

字转换为汉字数字的功能。  

       主要代码如下:  



       const char* RMB(double rmb)  



       {  



               if(rmb19) return NULL;  



               int i=strlen(tmp)…1;c;  



               char *srcPtr=tmp;*dstPtr=result;  



               bool bPrevZero=false;  



               for(; *srcPtr; srcPtr++;i……) {  



                 if(*srcPtr==’。’) continue;  



                       c=*srcPtr…’0’;  



             if(c!=0) {  



                         strcpy(dstPtr;CCC'c'); dstPtr+=2;  



                               if(srcPtr==tmp && c==1 && strcmp(QQQ'i';〃拾〃)==0) dstPtr…=2;  



                         strcpy(dstPtr;QQQ'i');    dstPtr+=2;  



                               bPrevZero=false;  



                               continue;  



                       }  



                       if(bPrevZero) {  



                         if(strcmp(QQQ'i';〃 圆〃)==0 || strcmp(QQQ'i';〃万〃)==0 || strcmp(QQQ'i';〃亿〃)==0) {  



                                 dstPtr…=2; *dstPtr=0;  



                                 if(strcmp(dstPtr…2;〃亿〃)) {strcpy(dstPtr;QQQ'i'); dstPtr+=2;}  



                                       bPrevZero=false;  



                                                                                                                              ·115 ·  


…………………………………………………………Page 125……………………………………………………………

Visual C++ 6。0 程序设计从入门到精通  



                                }  



                        } else {  



                          if(strcmp(QQQ'i';〃 圆〃) && strcmp(QQQ'i';〃万〃) && strcmp(QQQ'i';〃亿〃)) {  



                strcpy(dstPtr;〃零〃); dstPtr+=2;  



                                        bPrevZero=true;  



                                }else {  



                                  strcpy(dstPtr;QQQ'i');    dstPtr+=2;  



                                        bPrevZero=false;  



                                }  



            }  



                }  



                i=strlen(result);  



                if(strcmp(result+i…2;〃零〃)==0) result'i…2'=0;  



                tmp'0'=result'0'; tmp'1'=result'1'; tmp'2'=0;  



                if(strcmp(tmp;〃 圆〃)==0) {  



                        if(result'2'==0) strcpy(result;〃零圆〃);  



                        else {  



                          tmp'0'=result'2'; tmp'1'=result'3'; tmp'2'=0;  



                                return strcmp(tmp;〃零〃)==0 ? result+4 : result+2 ;  



                        }  



                }  



                return result;  



        }  



        界面上的“Convert ”按钮消息处理函数如下:  



        void CRMBDlg::OnConvertButton()    



        {  



                  



               if(UpdateData(TRUE))  



                {  



                        m_szCha = RMB(m_double);  



                        UpdateData(FALSE);  



                }  



                else  



                {  



                        m_szCha = 〃〃;  



                        UpdateData(FALSE);  



                }  



        }  



        运行界面如图 5…4 所示,详细的源代码设计可参考附带光盘。  



 ·116 ·  


…………………………………………………………Page 126……………………………………………………………

                                                                                                 第 5 章    常用控件  



                                                                                      



                                 图 5…4    阿拉伯数字与汉字数字之间的转换界面  



      技巧:改变控件的字体  



             控件也是窗口,可以调用 CWnd::SetFont  指定控件的新字体。该函数中使用一个 Cfont  指 



             针,以保证在控件撤消之前不能撤消字体对象。如下面的代码将下压按钮时的字体改为                                                           8 



             号 Arial 字体。  



      private :    



      CFont m_font ;    



      // Set font in class implementation (。Cpp file )。 Note m_wndButton is a    



      //member variable added by ClassWizard。DDX routines hook the member    



      //variable to a dialog button contrlo。    



      BOOL CSampleDialog::OnInitDialog()  



      {    



            。。。  



            //Create an 8…point Arial font    



            m_font。CreateFont (MulDiv (8;pDC…》GetDeviceCaps(LOGPIXELSY);72);  



            ;0;0;FW_NORMAL;0;0;0;ANSI_CHARSER;OUT_STROKE_PRECIS;CLIP_STROKE_PRECIS;  



            DRAFT_QUALITY;VARIABLE_PITCH|FF_SWISS;_T(〃Arial〃));    



            //Set font for push button 。    



            m_wndButton。SetFont (&m _font );      



            。。。  



      }  



5。5    列表框(List Box )控件  



5。5。1    列表框控件的使用  



      列表框也是一种传统控件,主要用于用户输入,它允许用户从所列出的表项中进行单项 

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