Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 9
На сайте нет зарегистрированных пользователей

Пользователей: 13,361
новичок: uehuat
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Принадлежит ли точка пересечению двух окружностей на Turbo Pascal + Отче...
Моделирование автовокзала + Отчет + Блок схема
База данных междугородних телефонных разговоров на Delphi

Методика проектирования меню и инструментальной панели
В Delphi меню создаются компонентами MainMenu — главное меню, и PopupMenu — всплывающее меню. Оба компонента расположены на странице Standard. Ниже рассмотрены основные этапы разработки полноценного меню.
1. Создайте новый проект и откройте главную форму будущего приложения.
2. Перенесите на форму компонент ImageList — список изображений для команд меню и кнопок инструментальной панели (страница Win 32).
3. С помощью редактора списка изображений (рис. 4), вызываемого двойным щелчком на ImageList, заполните список изображениями, символизирующими основные команды и кнопки панели инструментов будущего меню.
меню
Рис. 4
Изображение добавляется в список нажатием кнопки Add и последующим выбором файла изображения. С Delphi поставляется много изображений кнопок. Они расположены в каталоге \Images\Buttons, а сам каталог Images расположен в каталоге \program files\common files\borland shared. Размер всех изображений в списке должен быть одинаковым. При добавлении в список изображений для кнопок необходимо учесть, что они часто содержат не одно, а два и более изображений. В этих случаях при попытке добавить изображение задается вопрос: «Bitmap dimensions for ... are greater then imagelist dimensions. Separate into ... separate bitmaps?» (Размерность изображения ... больше размерности списка. Разделить на ... отдельные битовые матрицы?). На заданный вопрос надо отвечать положительно. Тогда загружаемая битовая матрица автоматически разделится на отдельные изображения и потом можно удалить те из них, которые не нужны, кнопкой Delete.
При выборе изображений можно ориентироваться по именам соответствующих файлов и пиктограммам, которые показываются в правой части окна выбора: Find.bmp – файл кнопки поиска, Font.bmp – файл кнопки выбора шрифта и т.д.
4. Перенесите на форму со страницы Dialogs компоненты стандартных диалогов типа «Открыть файл» (компонент OpenDialog), «Сохранить файл как» (компонент SaveDialog), «Шрифт» (компонент FontDialog) и другие компоненты, с которыми будут выполняться операции в разрабатываемом приложении. Разместите на форме компонент RichEdit (страница Win32) многострочного окна редактирования и компонент MainMenu (главное меню) со страницы Standard.
5. Свяжите компонент MainMenu со списком изображений, полученным в п. 3, установив для компонента MainMenu свойство Images равным ImageList1 — имени компонента ImageList. Вызовите редактор меню (рис. 5), сделав двойной щелчок на MainMenu. В пунктирной рамке задайте заголовок первого пункта меню, в соседней рамке — второго и т.п. Для этого после щелчка по рамке следует перейти в Инспектор Объектов и в нем задать значение свойства Caption как имя пункта меню.
Щелкнув на заголовке одного из пунктов меню, вы получите доступ к вводу команд данного пункта. Выделите очередную пунктирную рамку в списке команд пункта и в Инспекторе Объектов задайте имя команды как значение свойства Caption. Повторите те же действия для других команд и пунктов.

Рис. 5 и 6
Для удаления названий команд или пунктов меню можно использовать команду Delete контекстного меню (рис. 6), которое открывается на выделенном пункте меню или на строке с названием команды.
В названиях пунктов меню или команд можно указать символ «&» перед тем символом, который определит клавиши быстрого выбора пункта или команды. Например, на рис. 5 показан пункт Файл, который можно выбрать сочетанием клавиш Alt+Ф. При создании меню имя этого пункта в строке Caption Инспектора Объектов была таким: &Файл.
Если нужно вставить разделительную черту, отделяющую группы команд друг от друга, следует очередной элемент меню ввести с именем «-».
Для задания «горячих клавиш» командам меню в Инспекторе Объектов назначается одно из значений свойства ShortCut.
Для создания разветвленных меню, т.е. таких, у которых подпункты вызывают новые списки команд, следует щелкнуть по названию подпункта и нажать комбинацию клавиш Ctrl+Bnpaвo, где Вправо - клавиша смешения курсора вправо. Такого же эффекта можно добиться после щелчка правой кнопкой мыши на подпункте и выбора команды Create Submenu из открывшегося контекстного меню (рис. 6).
Для элемента меню определено единственное событие ОnСliск, которое возникает при щелчке по названию команды или при нажатии Enter, если в этот момент строка с данной командой была выбрана (подсвечена). Обработчик события становится доступен после двойного щелчка по строке с названием команды в окне конструктора меню.
6. Рассмотрим процедуру создания панели инструментов для приложения. Установите на форму компонент ControlBar с вкладки Additional, и измените его свойство Align на alTop, чтобы растянуть компонент вдоль верхней кромки окна, а свойству AutoSize задайте значение true.
Компонент ControlBar целесообразно использовать потому, что на нем удобно располагать панели инструментов. Они автоматически становятся перемещаемыми внутри ControlBar. Это значит, что панели можно будет двигать по своему усмотрению. Если свойство AutoSize равно true, то компонент будет автоматически растягиваться и сужаться, когда возникнет необходимость выстраивать все панели в одну строку или в столбик.
Установите на компонент ControlBar одну панель ToolBar с вкладки Win32 и измените его свойство EdgeBorders. Для этого дважды щелкните левой кнопкой мыши по свойству EdgeBorders и задайте свойству еbТор значение false. Это заставит исчезнуть оборку сверху панели.
Желательно также сразу изменить здесь и свойство AutoSize на true, чтобы панель принимала размеры, соответствующие кнопкам.
Для создания кнопки на панели щелкните по ней правой кнопкой мыши и выберите из появившегося контекстного меню (рис. 7) пункт New Button.

Рис. 7
Пункт New Separator этого же меню создает разделитель между кнопками. Если нужно удалить кнопку или разделитель, то после их выделения на клавиатуре нажимается клавиша <Del>. Чтобы кнопки на панели выглядели более изящно (плоско), выделите панель и измените свойство Flat на true.
Для того чтобы нанести на кнопки какие-либо изображения, следует выделить панель и связать ее со списком изображений, полученным в п. 3, установив для панели свойство Images равным ImageList1. На кнопках сразу же отобразятся картинки в той последовательности, в которой они добавлялись в список рис.4. Если нужно изменить картинку на какой-нибудь кнопке, надо выделить ее и изменить свойство ImageIndex.
Для каждой кнопки в свойстве Caption следует ввести название кнопки - осмысленный текст, который бы по возможности соответствовал изображению на картинке. Чтобы панель отображала на кнопках не только картинки, но и их названия, нужно установить значение true в свойстве ShowCaptions у панели инструментов. Если еще установить свойство List у панели инструментов, то текст будет отображаться справа от картинки.
Для создания обработчика события для какой-нибудь из кнопок выполняется двойной щелчок по изображению кнопки и в открывшемся окне редактора вводится текст процедуры.
7. Если необходимо обеспечить в приложении контекстные всплывающие меню, то на форму нужно перенести один или несколько (по числу различных контекстных меню) компонентов PopupMenu со страницы Standard. Свяжите их с компонентом ImageList, задав соответствующее значение для свойства Images. Затем двойным щелчком на PopupMenu нужно открыть тот же редактор меню, что и в случае MainMenu. Команды контекстного меню проектируются точно так же, как и команды главного меню.
Когда контекстное меню сформировано, для привязки его к необходимому компоненту этот компонент выделяется на форме и в Инспекторе Объектов его свойство PopupMenu задается равным имени компонента соответствующего PopupMenu.
8. Созданное меню можно сохранить как шаблон для использования в других приложениях. Для этого в редакторе меню следует выбрать из контекстного меню (рис.6) команду Save As Template. Эта команда вызывает диалоговое окно, представленное на рис. 8.

Рис. 8
В этом окне в верхней строке можно указать описание (заголовок), под которым будет сохраняться новое меню. Впоследствии в любом другом приложении можно загрузить этот шаблон в меню, выбирая из контекстного меню в окне конструктора меню команду Insert From Template. Для удаления не используемых в данном приложении команд или пунктов меню они выделяются и нажимается клавиша Del.
Опубликовал Kest December 22 2009 22:41:06 · 0 Комментариев · 8434 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Java 2. Наиболее ...
Ранги для форума
mmmJlabel
Х. М. Дейтел, П. ...
C++ для начинающих
TmxOutlookBarPro
Панель "ссылки"
Искусство програм...
KOL & MCK v1.69
Защита от спама ...
Delphi Быстрый Ст...
Прграммирование в...
API (Применение A...
Socoban
Мониторинг сервер...
Prolog Interprete...
Краснов М. - Open...
CodeGear RAD Stud...
Calendar
Библия хакера 2. ...

Топ загрузок
Приложение Клие... 100772
Delphi 7 Enterp... 97809
Converter AMR<-... 20260
GPSS World Stud... 17014
Borland C++Buil... 14189
Borland Delphi ... 10267
Turbo Pascal fo... 7372
Калькулятор [Ис... 5972
Visual Studio 2... 5206
Microsoft SQL S... 3661
Случайные статьи
Связывание серверов
Invalid file type
Реализации файловы...
Принципы взаимодей...
при создании масси...
Mostbet ставки на...
флажок Use a datas...
Разработка Web-фо...
Структура распрост...
ОТОБРАЖЕНИЕ СТРУКТ...
Другие модификации
Имет ли первый иде...
Какие маршруты соз...
ТАБЛИЦЫ В GPSS
Обеспечение требуе...
Генерация исключений
Файлы посещений: м...
Играйте в игровые ...
В то время как одн...
Операторы класса n...
Кодовые точки и ко...
Язык С: операции н...
Что нам стоит… соб...
Типы модуляции
Обнаружение структ...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?