0

如何使 VC++ 6.0 对话框中的命令按钮在加载时可见或不可见?

4

4 回答 4

3

从资源编辑器中选择按钮后,您可以在属性窗口中查看其属性。在这里您可以将可见属性设置为真/假。(假设此功能存在于 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;
   }
于 2008-11-03T09:31:08.200 回答
2

您也可以在不添加 CButton 变量的情况下执行此操作 - 只需调用

在包含按钮/控件的窗口的 OnInitDialog 方法中,输入代码:

CWnd *wnd = GetDlgItem (YOUR_RESOURCE_NAME_OF_THE_BUTTON) wnd->ShowWindow(SW_SHOW) 或 SW_HIDE

于 2008-11-03T15:00:01.140 回答
1

'commnad button' 到底是什么意思?

无论如何,您需要获取按钮的句柄然后调用 ShowWindow 函数:

BOOL prevState = ShowWindow( itemHandle, SW_HIDE );
于 2008-11-03T06:28:07.257 回答
1

只使用

ShowDlgItem(Your_DLG_ITEM_ID,1); // visible = true   
ShowDlgItem(Your_DLG_ITEM_ID,0); // visible = false
于 2017-06-05T04:09:12.293 回答