在 VC++ 6.0 中设置命令按钮的可见性?
Posted
技术标签:
【中文标题】在 VC++ 6.0 中设置命令按钮的可见性?【英文标题】:Setting command button visibility in VC++ 6.0? 【发布时间】:2008-11-03 05:49:59 【问题描述】:如何使 VC++ 6.0 对话框中的命令按钮在加载时可见或不可见?
【问题讨论】:
这个不是很清楚。您是在说命令 menu 还是对话框本身的按钮? 【参考方案1】:从资源编辑器中选择按钮后,您可以在属性窗口中查看其属性。在这里您可以将可见属性设置为真/假。 (假设此功能存在于 6.0 中 - 我现在使用 2003 并且不记得它是否曾经存在于 6.0 中)
添加 CButton 变量
如果您想在加载期间动态更改按钮的可见性,请使用 MFC 类向导为您的按钮添加一个变量。 (您很幸运拥有这个 - 此向导似乎已从 Visual Studio .NET 中删除)
覆盖 CDialog InitDialog
接下来覆盖对话框的 initdialog 函数,然后在成功调用基本 InitDialog 函数后,在显示对话框之前将按钮的 showwindow 属性设置为 SW_HIDE /。
代码
BOOL CMyDialog::OnInitDialog()
CDialog::OnInitDialog();
if (ConditionShow)
m_MyButton.ShowWindow(SW_SHOW);
else
m_MyButton.ShowWindow(SW_HIDE);
return TRUE;
【讨论】:
const int cmdShow = ConditionShow ? SW_SHOW:SW_HIDE; m_MyButton.ShowWindow(cmdShow);【参考方案2】:您也可以在不添加 CButton 变量的情况下执行此操作 - 只需调用
在包含按钮/控件的窗口的 OnInitDialog 方法中,放入代码:
CWnd *wnd = GetDlgItem (YOUR_RESOURCE_NAME_OF_THE_BUTTON) wnd->ShowWindow(SW_SHOW) 或 SW_HIDE
【讨论】:
更短:GetDlgItem(IDC_MY_CTRL)->ShowWindow(SW_HIDE);
【参考方案3】:
“commnad button”到底是什么意思?
无论如何,你需要获取按钮的句柄然后调用ShowWindow函数:
BOOL prevState = ShowWindow( itemHandle, SW_HIDE );
【讨论】:
无法解析该方法。如果您真的认为它存在,请发布文档 – OneWorld 刚刚【参考方案4】:只使用
ShowDlgItem(Your_DLG_ITEM_ID,1); // visible = true
ShowDlgItem(Your_DLG_ITEM_ID,0); // visible = false
【讨论】:
无法解析该方法。如果您真的认为它存在,请发布文档以上是关于在 VC++ 6.0 中设置命令按钮的可见性?的主要内容,如果未能解决你的问题,请参考以下文章