Как сделать все элементы управления CButton с одинаковым идентификатором в серии диалогов невидимыми в VC6? - PullRequest
0 голосов
/ 10 августа 2011

У меня есть

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.

Надеюсь, меня поняли в этом письме.Это трудно объяснить.Так что любые идеи будут высоко оценены.Спасибо!

1 Ответ

0 голосов
/ 10 августа 2011

Вам нужно будет переопределить CDialog::OnInitDialog для соответствующих диалогов и вызвать:

GetDlgItem(IDOK)->ShowWindow(SW_HIDE);

, прежде чем вернуться из переопределенного OnInitDialog

...