|
Программирование >> Элементы языков с и с++
Посмотрим, как формируются обычные элементы меню, названные в выпа-ем списке 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
Рис. 11.27. Процесс формирования опций меню Допустим, мы опцию сформировали. Но возникают два вопроса, которые опытный пользователь сразу вам задаст. Он скажет: Я знаю, что при эксплуатации любой программы для обеспечения большей скорости работы оператора надо иметь возможность работать не только с помощью мыши, но и с помощью клавиатуры. Вы это предусмотрели? И второе - у меня в приложении намечается довольно сложное меню, которое отражает функцию моего предприятия. Поэтому с приложением будут работать многие операторы, и я бы хотел, чтобы оператор, работающий с одним разделом меню, не мог работать с другим, точнее, чтобы он не имел к нему доступа . Ивы должны будете его требования учесть. Как же этого добиться? Что касается дублирования действий мыши работой с клавиатурой, то этот вопрос решается. Активизируйте любую созданную вами опцию и посмотри- к£сли вы наведете курсор мыши на любое из этих окон, то у окна появится [кнопка, нажав на которую увидите список типов элементов, из которых можно создавать опцию (точно так же, как и при создании первой опции через I нажатие команды Edit Items). Выберите нужный тип, шелкните на нем и получите подопцию. К ней сформируется окно Properties со свойствами и событиями. Настройте нужные [свойства, щелкните на событии click. Получите заготовку обработчика этого события, куда можно вписать команды на С-н-, отображающие функцию данной опции, и т. д. [несколько опций, сформированных описанным выше способом, показаны на с. 11.27.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |