在 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 中设置命令按钮的可见性?的主要内容,如果未能解决你的问题,请参考以下文章

更改标签的可见性

在android中设置TextView的可见性不起作用

如何在页面加载时在反应打字稿中设置可见性

Android 中的可见性消失

在按钮上单击列表视图中列的可见性应设置为 false

Objective C:如何在当前可见帧中设置子视图显示? (UITableView)