VC6中如何让一系列对话框中所有具有相同ID的CButton控件不可见?
我有一个
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要为各个对话框重写
CDialog::OnInitDialog
,并在从重写的
OnInitDialog
返回之前调用:You will need to override
CDialog::OnInitDialog
for respective dialogs, and call:before returning from overridden
OnInitDialog