Программирование >>  Элементы языков с и с++ 

1 ... 102 103 104 [ 105 ] 106 107 108 ... 200


Посмотрим, как формируются обычные элементы меню, названные в выпа-ем списке Menultem. Выберем из списка этот элемент и нажмем на [кнопку Add (добавить). Получим вид диалогового окна, показанный на рис. 11.25.

; ♦

tooBtrpMenuIteml

iBAccesKbaty Г AccesetteRde

gcheckSate

~D itav5<yle S)Forft

;. Foota

rflmeoe

] Гт геДЧп

IrrgeTranflMrertCdo,

RtghtToLeftAuto№rorIrr>eg ShotcuamtJMavSimg Text

TextAltgn

TextDrecbon

OofaUt

В Coat I I (noo*)

Feke

Unche<*ed

ImegeAndText Trfwn*; e.2Spt 1 ControlText

Feke

toolStripMefMjUemI

MMkleCentw

HoriiortBl

reText

Behavior

AutoToolTv FeM

OwcUXkk FdM DcxAteOtdCrubed Fab

ЕгаЫеб True ToonTert

VnUe True

DropCwn . (none)

DropOoMnUems (Collection) Teg

Dcftgn

(Name) toolStrlpMenultefn

GenerMeMuTto True


Leyout

MergeActKn Meioelrxlu

0 РлМлд

ShOtCUtKt:y>

Pnvete Left

0; 0; 0:0 Append

1, 0; , 0

113:20

ShowSMrteutK True

Свойства опции для ее настройки

Рис. 11.25. Вид диалогового окна для формирования опций меню после добавки очередной опции меню

Рассмотрим некоторые свойства сформированной опции и посмотрим, как их )1танавливать. Прежде всего опцию надо как-то назвать и сделать это так,

игобы пользователю было легко ориентироваться в меню. Название опции залаегся, как и у ранее рассматриваемых компонентов, в свойстве Text. Свойству Text присвоим значение опция 1 . Далее желательно определиться с выполнением этой опции, т. е. надо задать, что будет происходить, если нажать на эту опцию в меню. Ясно, что должно наступить событие щелкнуть на кнопке , т. е. в данном случае щелкнуть на опции . Но в окне, где

ры задавали новую опцию, только одни ее свойства и нет списка событий. Поэтому вернемся-ка мы к форме и в ней активизируем опцию, которая сейчас называется Опция 1 . Теперь уже для этого элемента можно посмотреть окно Properties, в котором есть вкладка Events (события). Все это показатю на рис. 11.26.




onuHAlToolStripMenultcm f


TextAlign MiddleCenter TexlDireci Horizontal Textlmag. ImageBeforeText TodTipTe:

(MiuMilToolStripMenuIten)

DisplayStj Doubledlc DropDowr DropOovjr

Рис. 11.26. Опция меню и ее окно Properties

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

private: System::Void toolStripMenuIteml Click(System::ОЬ]ес sender, System: :EventArgs e)

/*3десь помещаются операторы С++, которые реализуют алгоритм, соответствующий функции этого элемента меню. В частности, здесь же можно устанавливать и свойства этой опции программным путем, задавая операторы типа

this->toolStripMenuIteml->

(когда наберете this->, откроется подсказчик, из которого выберете строку toolStripMenuIteml (начнете набирать tool... и эта строка появится в окне подсказчика), после набора стрелки откроется окно подсказчика, но уже со свойствами опции. Выберите строку с нужным свойством и придайте свойству требуемое значение */

Таким образом, мы связали сотворенную нами Опцию 1 с возможностью обработки при ее нажатии (когда начнется исполняться приложение).

Аналогично создаются и другие опции (в глубину и вширь меню): когда вы щелкните на Опции 1 (т. е. активизируете ее), то сразу откроются два окш (рядом и справа) с надписью в них: Туре Неге (вводите сюда).

То окно, которое справа, позволяет определить новую горизонтальную опцию - она будет на полосе и поэтому останется главной опцией, но уже другой (например, опция 2).

То окно, что высветилось ниже Опции 1, служит для задания подопции Опции 1.



j Menultem

>! ComboBox

i Separator

Vbl. TextBox

: Опция 1 1

toolStripMenuItem2

toolStripMenuItomS

....... ;

toolStrpMenuttem

1 1

Рис. 11.27. Процесс формирования опций меню

Допустим, мы опцию сформировали. Но возникают два вопроса, которые опытный пользователь сразу вам задаст. Он скажет: Я знаю, что при эксплуатации любой программы для обеспечения большей скорости работы оператора надо иметь возможность работать не только с помощью мыши, но и с помощью клавиатуры. Вы это предусмотрели? И второе - у меня в приложении намечается довольно сложное меню, которое отражает функцию моего предприятия. Поэтому с приложением будут работать многие операторы, и я бы хотел, чтобы оператор, работающий с одним разделом меню, не мог работать с другим, точнее, чтобы он не имел к нему доступа .

Ивы должны будете его требования учесть. Как же этого добиться?

Что касается дублирования действий мыши работой с клавиатурой, то этот вопрос решается. Активизируйте любую созданную вами опцию и посмотри-

к£сли вы наведете курсор мыши на любое из этих окон, то у окна появится [кнопка, нажав на которую увидите список типов элементов, из которых можно создавать опцию (точно так же, как и при создании первой опции через I нажатие команды Edit Items).

Выберите нужный тип, шелкните на нем и получите подопцию. К ней сформируется окно Properties со свойствами и событиями. Настройте нужные [свойства, щелкните на событии click. Получите заготовку обработчика этого

события, куда можно вписать команды на С-н-, отображающие функцию

данной опции, и т. д.

[несколько опций, сформированных описанным выше способом, показаны на с. 11.27.



1 ... 102 103 104 [ 105 ] 106 107 108 ... 200

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика