Главная » C++, C++ Builder » Реализация меню в форме C++ Builder

0

Когда мы все добавили и проинициализировали, время вернуться к началам. Выберите главное меню формы и добавьте в него два пункта. Первы пункт должен иметь заголовок «Change &Font» («Изменить Шрифт»). Этот пункт будет использован для вызова окна диалога шрифтов и получения  нового  шрифта  от  пользователя.  Второй  пункт  должен  иметь  заголовок  «Change

&Color» («Изменит Цвет»). Аналогично, этот пункт используется для отображения окна диалога выбора цвета и получения из него нового цвета, выбранного пользователем.

Добавьте обработчик для команды Change &Font. В обработчик внесите следующий код: void __fastcall TForm1::ChangeFont1Click(TObject *Sender)

{

if ( FontDialog1->Execute() )

{

FpFont = FontDialog1->Font; SetListBoxItems();

}

}

Как видите, обработчик очень прост. Метод диалога Execute (выполнить) возвратит true (истина), если пользователь сделает выбор и нажмет в  окне диалога кнопку OK. Если же пользователь нажмет на кнопку Cancel (отменить), то метод Execute вернет false (ложь). Выражения языка C++ if ( FontDialog1->Execute() ) — это на самом деле сокращение от более полного выражения:

if ( FontDialog1->Execute() == true )

{

Как видите, код в фигурных скобках запустится, только если пользователь что-нибудь выберет и нажмет на кнопку OK. Иначе возвращаемое значение от метода Execute будет равно false и код не выполнится.

До функции SetListBoxItems мы доберемся через пару минут. Сейчас давайте взглянем на код, изменяющий цвет. Обработка команды меню Change & Color очень похожа на обработку команды Change &Font. Создайте обработчик для команды меню Change &Color и добавьте в него следующий код (оставьте название обработчика по умолчанию, ChangeColor1Click):

void __fastcall TForm1::ChangeColor1Click(TObject *Sender)

{

if ( ColorDialog1->Execute() )

{

FcColor = ColorDialog1->Color; SetListBoxItems();

}

}

Опять же, мы здесь только лишь показываем окно диалога, позволяя пользователю выбрать любимый цвет. Если вы посмотрите на само окно диалога выбора цвета, то увидите набор возможностей, предоставленных пользователю: выбор предопределенного цвета, ввод  RGB- значений или выбор цвета из спектра. Все это вы получаете в собственном коде забесплатно.

Когда пользователь выбрал новый цвет, мы сохраняем его в переменной класса формы FcColor и переустанавливаем элементы списка.

Источник: Теллес М. – Borland C++ Builder. Библиотека программиста – 1998

По теме:

  • Комментарии