首页 > 编程知识 正文

mfc editcontrol(mfc程序入口)

时间:2023-05-05 02:53:53 阅读:64179 作者:2378

cwnd : getdlgitem cwnd * getdlgitem (int NID ) const; void cwnd :3360 getdlgitem (int NID,HWND* phWnd ) const; 返回值:

指向指定控件或子窗口的指针。 如果没有具有由nID指定的整数ID的控件,则返回NULL。

返回的指针是临时的,可能无法保存以供将来使用。

参数:

nID指定要检索的控件或子窗口的标识符。 指向phWnd子窗口的指针。 GetDlgItem :根据对话窗口或控件的ID,返回指向该对话窗口或控件的对象的指针

voidcgetradiodlg :3360 on buttonok ((/todo : addyourcontrolnotificationhandlercodeherecstringstr; cbutton*radiobutton=(cbutton* ) getdlgitem(IDC_radio1m_radio-1 ); radiobutton-getwindowtext(str; 消息盒(str; }扩展: MFC项目的Resource.h文件定义了各种资源ID,如下图中单选按钮的定义所示

疑问:

宏定义: IDC_RADIO1对应于1000cwnd*getdlgitem(intnid ) const; gtdlgitem(IDC_RADIO1 m_Radio - 1 ) IDC_RADIO1m_radio-1是int类型的数字,在函数调用时将IDC_radio1转换为1000

但是,在MFC中,如果通过拖动添加按钮,则会出现宏定义不连续的现象。 也就是说,情况如下。

在IDC_RADIO 1000IDC_RADIO1 1002中,使用以下方法搜索按钮是否会出现问题

voidcgetradiodlg :3360 on radio1((/todo : addyourcontrolnotificationhandlercodeherem _ radio=1; } voidcgetradiodlg :3360 on radio2((/todo : addyourcontrolnotificationhandlercodeherem _ radio=2; } voidcgetradiodlg :3360 on radio3((/todo : addyourcontrolnotificationhandlercodeherem _ radio=3; } voidcgetradiodlg :3360 on radio4((/todo : addyourcontrolnotificationhandlercodeherem _ radio=4; }重新启动}GetDlgItem(IDC_radio1m_radio-1 )或程序将被重新修复。 为了进行验证,如果想要访问控件特定的功能,请尝试将getdlgitem返回值强制转换为与控件对应的类型

cbutton*radiobutton=(cbutton* ) getdlgitem(IDC_radio1m_radio-1 ); radiobutton-getwindowtext(str; 不建议通过这种方式访问控件特定的功能。 这是因为MFC不太支持这种用法,在某些情况下会发生严重错误,在某些情况下没有任何效果

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。