vc6.0中~~怎样用enablewindow让一个按钮变无效(按不下去)?

我调用的是mfc的enablewindow。首先用GetDlgItem获得指针,然后再GetDlgItem(IDC_BUTTON9)->EnableWindow(FALS... 我调用的是mfc的enablewindow。 首先用GetDlgItem获得指针,然后再GetDlgItem(IDC_BUTTON9)->EnableWindow(FALSE); 完成这个效果但是如何用API的EnableWindow完成这个效果啊。我用EnableWindow(GetSafeHwnd(IDC_BUTTON9),FALSE);编译器报错,说参数不对究竟API的EnableWindow要如何完成呢?控件ID是IDC_BUTTON9 展开
 我来答
veket的小号
2013-12-28 · TA获得超过3371个赞
知道大有可为答主
回答量:3762
采纳率:0%
帮助的人:3983万
展开全部
方法:
::EnableWindow(GetDlgItem(IDC_EDIT1)->GetSafeHwnd(), FALSE);
分析
调用API如果MFC中有同名函数 要加 :: 来进行区分 ,代表 调用全局API
API函数BOOL EnableWindow( HWND hWnd, // handle to window BOOL bEnable // enable or disable input);
第一个参数是 控件句柄
要得到控件句柄 需要用CWnd类的GetSafeHwnd()方法 ,但先要用GetDlgItem获得指针
(或者用全局APIGetDlgItem)

方法二用全局API函数GetDlgItem来得到控件的句柄
::EnableWindow(::GetDlgItem(m_hWnd,IDC_EDIT1), FALSE);
全局函数GetDlgItem的第一个参数是控件所在的窗口句柄 ,二 对话框类 从窗口类继承过来的
成员变量m_hWnd就是窗口句柄
jellycgl
2013-12-28 · TA获得超过417个赞
知道小有建树答主
回答量:1149
采纳率:66%
帮助的人:891万
展开全部
第一个参数是窗口句柄,GetSafeHwnd需要传递一个窗口参数,直接传ID是不行的
CWnd *pWnd = (CWnd *)GetDlgItem(IDC_BUTTON9);
传递pWnd的GetSafeHwnd()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式