пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Використання перемикачів та селекторних кнопок.

Контрольные переключатели и селекторной кнопки принадлежат к дополнительным, вспомогательных элементов управления. Как и обычные кнопки, они принадлежат к классу CButton и имеют два основных состояния: активный (избран) и неактивный (не избран). Контрольные переключатели и селекторной кнопки всегда меняют свое состояние, но, в основном, не автоматически, а по необходимости пользователя.Класс CButton обеспечивает функции для проверки и установления состояния кнопки, среди них:

int CButton :: GetCheck (); // Возвращает состояние кнопки

void CButton :: SetCheck (int nCheck); // Устанавливает состояние кнопки

где состояние кнопки: 1 - установлено, 0 - не установлено, 2 - не определяется.

Для работы с контрольными переключателями и селекторной кнопки необходимо придерживаться такой последовательности:

1. Определить в классе диалогового окна объекты переключателей и кнопок:

сlass CSampleDialog: public CDialog

[Private: CButton * rb2, * rb1; // Объекты селекторных кнопок

CButton * ch1; // Объект контрольного переключателя

  public:  ];

2. В функции OnInitDialog () связать объекты кнопок с соответствующими ресурсами, созданными в редакторе ресурсов и установить их первоначальное состояние:

BOOL CSampleDialog :: OnInitDialog ()

[CDialog :: OnInitDialog ();

 rb1 = (CButton *) GetDlgItem (IDC_RADIO1);

 rb2 = (CButton *) GetDlgItem (IDC_RADIO2);

 ch1 = (CButton *) GetDlgItem (IDC_CHECK1);

 rb1-> SetCheck (1); // Установка активной первой селекторную кнопку

 ch1-> SetCheck (0); // Отключение контрольного переключателя

 return TRUE;]

3. Для контрольных переключателей обработать макрокоманду нажатия: ON_BN_CLICKED (IDC_CHECK1, OnCheck) и реализовать соответствующий обработчик:

void CSampleDialog :: OnCheck ()

[If (! Ch1-> GetCheck ()) [.......]

  else [.......] ]

4. В необходимых функциях проверить состояние селекторных кнопок, например:

void CSampleDialog :: OnFunction1 ()

[If (rb1-> GetCheck ()) MessageBox ("Выбрана переключатель 1");

  if (rb2-> GetCheck ()) MessageBox ("Выбрана переключатель 2");]


22.06.2015; 09:38
хиты: 263
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь