Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программное управление Radio Button 
:(
    Опции темы
Gazon
Дата 5.5.2005, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 9.1.2005

Репутация: 4
Всего: 8



Цитата(Druid @ 5.5.2005, 00:40)
Lion, да так значительно проще! smile  А главное --работает!  smile

Я этот способ еще пять сообщений назад привел.

Это сообщение отредактировал(а) Gazon - 5.5.2005, 12:44
--------------------
Чем больше узнаешь, тем больше не знаешь, но до истины всегда можно добраться.
PM MAIL   Вверх
Lion
Дата 5.5.2005, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 25.3.2002

Репутация: 2
Всего: 2



Цитата(Gazon @ 5.5.2005, 09:41)
Я этот способ еще пять сообщений назад привел.

Именно так, но пришлось разжевать. smile
PM MAIL   Вверх
Druid
  Дата 5.5.2005, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 21.4.2005

Репутация: нет
Всего: нет



bel_nikita, нет, ну на самом деле от указателя ничего не зависит. Он просто чуть упрощает работу компьютеру(не вычисляет каждый раз) и улучшает читабельность кода.
Но пытавшись подкорректировать текст программы в соответствии с твоим советом, я нашел "нерабочую часть". smile
Оказалось просто
SetButtonStyle не отменяется ModifyStyle smile
Также, нашел ещё и упрощение кода для ModifyStyle по сравнению с предложенным тобой. Вобщем, вся полезная информация содержится в комментариях на этот раз уже рабочей программы:


Код

void CzzzDlg::OnCheck1() 
{CButton *cb1 = (CButton *)(this->GetDlgItem(IDC_CHECK1)); // флаг, для которого написано событие    
 CButton *cb_1 = (CButton *)(this->GetDlgItem(IDC_CHECK_1)); //флаг, который должен    
// становиться недоступным по состоянию первого флага == 1,    
// и становиться доступным при 1й флаг == 0     
 
 if(cb1->GetCheck())    
 {cb_1->SetCheck(0);  //  =0;    
  cb_1->ModifyStyle(0, WS_DISABLED, 0);  
  //SetButtonStyle(BS_CHECKBOX,WS_DISABLED) не отменяется ModifyStyle(WS_DISABLED, Style & ~WS_DISABLED, 0)
 }    
 else    
 {cb_1->ModifyStyle(WS_DISABLED, 0, 0); // второй параметр можно и без "Style & ~WS_DISABLED"  :)
  // тогда переменную Style заводить совсем не надо  ;)
  // в ModifyStyle первый параметр - свойства, которые удаляешь, а второй - которые добавляешь :)
 }    
}

smile


lion и Gazon
Не, ребятки, если бы вы сразу чётко выражали свои мысли, то не пришлось бы ничего "разжевывать"! smile Gazon написал:
Цитата

Цитата
Как сделать её опять доступной?

Код

CButton *pcb = (CButton *)(this->GetDlgItem(IDC_RADIOBTN));
pcb->EnableWindow(TRUE);


Что на мой взгляд, трактуется вполне однозначно: "для отмены моего cb_1->SetButtonStyle(BS_CHECKBOX,WS_DISABLED) нужно поставить cb_1->EnableWindow(TRUE) !" (мог бы добавить и пару строк пояснений smile )
P.S.: Не в обиду сказано. smile Остальные написанные советы оказались очень полезными и легко понимаемыми.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0434 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.