VC 按钮激活 程序里面要用到“按钮1”和“按钮2”两个按钮,现在我想让刚开始的时候“按纽2”为不可用(灰色)状态,当点击“按钮1”执行完相应的函数后才激活“按钮2”,请问我该在“按钮1”的执行函数里面加些什么东西,然后怎么样设置“按钮2”的属性才能实现我的目的呢? 谢谢GS们! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 GetDlgItem(IDC_BUTTON2)->EnableWindow(FALSE);GetDlgItem(IDC_BUTTON2)->EnableWindow(TRUE); GetDlgItem(IDC_DATA_MID)->EnableWindow(TRUE);--激活GetDlgItem(IDC_DATA_MID)->EnableWindow(FALSE);--变灰 如果是mfc的话,可以这样在dlg的OnInitDialog()中GetDlgItem(按钮2的ID)->EnableWindow(false);//失效在按钮1函数的末尾处GetDlgItem(按钮2的ID)->EnableWindow(true);//激活 我建的工程是基于菜单的,GetDlgItem(按钮2的ID)->EnableWindow(false);应该加在什么地方呢? GetDlgItem(IDC_DATA_MID)->EnableWindow(TRUE);--激活 GetDlgItem(IDC_DATA_MID)->EnableWindow(FALSE);--变灰 是啊,这个问题确实比较简单。上面人家都说了好多遍了,我就不再打出来了呀。当然也可以直接用::EnableWindow( HANDLE Window,Int CmdTarg );这个全局API参数大致是这样的,前面那个参数表示要设置状态的窗口的句柄(也有可能是ID,不是很清楚了,没查。),后面那个是显示状态。True为显示可用,False为禁用变灰色。 另外可以生成ON_UPDATE_COMMAND_UI消息处理函数设置判断,在按钮1改变后,改变判断值通过判断值知道是否要UPDATE_COMMAND_UIIsStart做判断void CView::OnUpdateStart(CCmdUI *pCmdUI){ // TODO: 在此添加命令更新用户界面处理程序代码 if(IsStart) pCmdUI->Enable(TREU); else pCmdUI->Enable(FALSE);} 另外要注意的是://使菜单项可改m_bAutoMenuEnable = FALSE;在框架类的构造函数里改 关于strcpy_s的问题 在对话框贴PNG图后如何显示原来对话框上的控件 如何改变正在播放多媒体文件窗口的鼠标形状? 为何MSDN上的代码我实现不了呢?? 有谁能解释一下:同步与异步,阻塞和非阻塞的区别。 有谁要买书吗?MFC Windows程序设计 binary文件转ascii 光驱是怎么检测的? 小弟请教一下 怎样使自动加载的程序不在msconfig中的启动栏里出现? 自定义按钮的问题 问个难点的问题
GetDlgItem(IDC_BUTTON2)->EnableWindow(TRUE);
GetDlgItem(IDC_DATA_MID)->EnableWindow(FALSE);--变灰
在dlg的OnInitDialog()中
GetDlgItem(按钮2的ID)->EnableWindow(false);//失效
在按钮1函数的末尾处
GetDlgItem(按钮2的ID)->EnableWindow(true);//激活
GetDlgItem(IDC_DATA_MID)->EnableWindow(FALSE);--变灰
当然也可以直接用::EnableWindow( HANDLE Window,Int CmdTarg );这个全局API参数大致是这样的,前面那个参数表示要设置状态的窗口的句柄(也有可能是ID,不是很清楚了,没查。),后面那个是显示状态。True为显示可用,False为禁用变灰色。
设置判断,在按钮1改变后,改变判断值通过判断值知道是否要UPDATE_COMMAND_UIIsStart做判断void CView::OnUpdateStart(CCmdUI *pCmdUI)
{
// TODO: 在此添加命令更新用户界面处理程序代码
if(IsStart)
pCmdUI->Enable(TREU);
else
pCmdUI->Enable(FALSE);
}
m_bAutoMenuEnable = FALSE;在框架类的构造函数里改