VC6中如何让一系列对话框中所有具有相同ID的CButton控件不可见?

发布于 2024-11-28 13:52:50 字数 579 浏览 1 评论 0原文

我有一个

std::map< long, CDialog* > m_maplongDialog;

它充满了类似于以下内容的代码:

m_maplongDialog.insert(std::make_pair(nIndex, new CSomeDlg));
m_maplongDialog.insert(std::make_pair(nIndex, new CSomeOtherDlg));
...

顺便说一句:nIndex 是 CListCtrl 的索引,我在其中制作了这些对话框的名称表以供选择。

稍后,我的用户在列表中选择这些对话框之一,然后我将其显示如下:

m_maplongDialog[izbraniSifrant]->DoModal()

所有这些都有效! 但现在我还有一个额外的要求: 在所有这些对话框中,还有“确定”和“取消”按钮等。在执行 DoModal 操作之前,我必须先将 OK 隐藏起来。

希望我在这篇文章中得到理解。有点难以解释。 因此,任何想法将不胜感激。 谢谢你!

I have a

std::map< long, CDialog* > m_maplongDialog;

It is filled with code similar to:

m_maplongDialog.insert(std::make_pair(nIndex, new CSomeDlg));
m_maplongDialog.insert(std::make_pair(nIndex, new CSomeOtherDlg));
...

btw: nIndex is an index from a CListCtrl where I am making a table of names of these dialogs to select.

Later my user selects one of these dialogs in a list and I show it like this:

m_maplongDialog[izbraniSifrant]->DoModal()

All this works!
But now I have an additional request:
In all of these dialogs there are OK and CANCEL buttons among other stuff. I have to make the OK one invisible before I do the DoModal thingy.

Hopefully I am understood in this writing. Its kinda hard to explain.
So any ideas would be appreciated greatly.
Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

可遇━不可求 2024-12-05 13:52:50

您需要为各个对话框重写CDialog::OnInitDialog,并

GetDlgItem(IDOK)->ShowWindow(SW_HIDE);

在从重写的OnInitDialog返回之前调用:

You will need to override CDialog::OnInitDialog for respective dialogs, and call:

GetDlgItem(IDOK)->ShowWindow(SW_HIDE);

before returning from overridden OnInitDialog

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文