VC++ как сделать недоступными элементы диалога?
EnableWindow(0)
то есть напрямую IDC_RADIO_BUTTON.EnableWindow(0);?
GetDlgItem(IDC_RADIO_BUTTON) выдаст тебе указатель на кнопку
// это кнопарь в объявлении класса
CButton *bplay;
// это в ::InitDialog
bplay = (CButton *)GetDlgItem(IDC_PLAY);
// а это гасим кнопку, где хотим
this->bplay->EnableWindow(FALSE);
а какая функция отвечает за текущее состояние окна? то есть oninitdialog начинает все и расставляет, допустим, значения. а какой функцией проверяется текущее состояние значений?
HWND hw = GetDlgItem(IDC_RADIO_BUTTON);
EnableWindow(hw, 0);
this->bplay->IsWindowEnabled;
Самый простой (с кучей недостатков, но, обычно, удовлетворительный) способ заключается в UpdateData
В программе, чуть большей, чем самый примитивный диалог, все же стоит, по моему скромному мнению, ввести переменные-члены класса.
спасибо за обстоятельный ответ.
А в чем великий сакральный смысл "this->" ?
2) Хороший тон обращаться к членам/медодам класса через this->, т.к. это в дальнейшем облегчает читабельность кода и отличает члены/методы от локальных переменных и глобальных функций.
Автодополнение, как ты выразился, прекрасно работает и без this. А хорошим тоном является не обращение к членам класса через this, а использование префикса "m_" в именах.
Автодополнение работает без this-> частично. Набрав this->, мы получаем выпадающий список членов/методов класса, что позволяет нам не лезть в определение, чтобы уточнить имя. Что же касается m_, то помимо того, что нам предлагает Билл Гейтс через GUI VC, есть еще и стандарты, в которых про m_ ничего не сказано.
в стандарте про выпадающие списочки тоже ничего не сказано
Смейся сколько угодно. Здесь в качестве замены this настоятельно рекомендовали использовать m_, не в пример которому this (надеюсь, ты не будешь с этим спорить) - вполне стандартная штука.
точно также как ты рекомендовал использовать "this->".
имхо: бесполезно спорить что лучше. я вообще не юзаю ни this-> ни m_ и проч без надобности, нормально помню весь код который настрочил или названия функций и переменных mfc и winapi, которые юзаю
сказано
Весьма рад за тебя, ибо тебе повезло с памятью. А тебе часто приходится возвращаться к давно написанным программам, копаться в чужом коде?
Ссылку дай почитать, хочу стать умным.
к счастью нет
Там написано про то, какими должны быть идентификаторы-названия членов класса.
Идентификаторы, начинающиеся с m_, вполне стандартны.
не писать m_ - имхо дурной тон
От нотации зависит.
Ессно. Я привык к венгерской. Для меня было некоторым маленьким шоком, когда я перешел на Яву и узнал, что там так не принято.
В стандарте, прямо так и написано, что если члены классов называть с m_, то это будет стандартное решение, а все остальные названия - нет?
С чего ты взял, что стандартное решение должно быть единственным?
1. предположил
2. но меня больше интересует ответ на первую половину вопроса.
Ну я думаю, что нет.
2. Насколько я слышал, в Майкрософте - да, это внутренний стандарт.
а теперь тот же самый вопрос, но только баттоны сделать невидимыми. как?
Венгерская нотация - уже лет 5 даже в Микрософте, как не стандарт.
Венгерская нотация - уже лет 5 даже в Микрософте, как не стандарт.И когда на С++ под вин апи пишут?
BOOL ShowWindow(HWND hWnd, int nCmdShow);
Вчера писал на плюсах, использовал шарповую стандртную нотацию, прекрасно получилось.
AFAIK, microsoft сейчас на C++ относительно мало пишет.
спасибо за ответ! рад бы поботать, да нету! ни места на винте, ни самих дисков. и живу не общаге
Не верю. Очень мало проектов еще на дотНет. Только последние. А так у них порядки в разных группах свои. В программировании на С++ не так уж и много изменилось, зачем менять нотацию. На Шарпе, понятно, своя нотация. Бред Адамс из CLR группы даже постил у себя в блоге.
Это на плюсах всю жизнь проектов было очень мало.
Вначале их делал ВБ, потом добавилась жава, а счаз по ощущениям шарп оторвал почти половину всего, если не больше.
Я просто как бы смотрю на прекрасный блог The Daily WTF, так вот, там шарпа столько же, сколько ВБ (по ощущениям). И это при том, что полноценный WTF на шарпе не очень-то и легко сгенерить =)
Оставить комментарий
stm8680568
есть 3 элемента - галочка и 2 радиобаттона. нужно, чтобы при установке галочки баттоны делались недоступными. как?