Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Создание меню и панелей инструментов проектов

Читайте также:
  1. Quick Selection Tool (Инструмент Быстрое выделение) скрыто в панели инструментов и чем-то похоже на Magic Wand (Волшебную палочку).
  2. Quick Selection Tool (Инструмент Быстрое выделение) скрыто в панели инструментов и чем-то похоже на Magic Wand (Волшебную палочку).
  3. Автоматическое создание раскройных карт
  4. Акустика духовых музыкальных инструментов
  5. Атрибуты, создание собственного класса атрибута
  6. Б) создание условий для занятия трудовой деятельностью;
  7. Бриф на создание Landing Page

Большинство Windows-приложений обладают стандартным графическим интерфейсом. Ранее мы научились устанавливать требуемый размер окна проекта, его положение на экране монитора, цвет фона и шрифта и др. Однако, работа со многими проектами невозможна без меню и панелей инструментов, которые обеспечивают доступ к тем или иным событийным процедурам.

Проект «Простой текстовый редактор». Разработаем простейший текстовый редактор, который позволит выполнять основные операции редактирования текста. В качестве области ввода и редактирования текста используем многострочное текстовое поле.

Проект «Простой текстовый редактор».
  Разместил на форме текстовое поле и присвоить ему имя txtEdit.
  Для того чтобы сделать поле многострочным, свойству поля MultiLine присвоил значение True.

Создадим меню для нашего текстового редактора. Меню состоит из одного или нескольких заголовков верхнего уровня, например, Файл, Правка и т.д., в каждый из которых входит хотя бы одна команда. Например, Файл-Выход, Правка-Вырезать-Копировать-Вставить-Удалить. Каждый заголовок меню и каждая команда являются управляющими элементами, которые обладают многими свойствами, но только одним событием Click.

Для создания меню используется специальный редактор меню Menu Editor.

  Для запуска редактора меню в перейте в окно формы командой [View-Object] и ввёл команду [Tools-Menu Editor…].
  На появившейся диалоговой панели Menu Editor создал заголовок первого уровня. В поле Caption внёс надпись Правка и в поле Name имя объекта mnuEdit.
  Для создания следующего пункта меню щелкнул по кнопке Next. Для создания пункта меню уровня команд (например, команды меню Правка) щелкнул по кнопке со стрелкой вправо. Ввёл надпись Вырезать и имя mnuEditCut.
  Повторил процедуру и создать команды, входящие в меню Правка: Копировать (mnuEditCopy), Вставить (mnuEditPaste) и Удалить (mnuEditDel).

 

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

 

  В режиме конструирования проекта раскрыл меню и последовательно двойным щелчком мыши создать пустые заготовки событийных процедур для каждого пункта меню.
  В процессе редактирования текста в окне txtEdit использовал для промежуточного хранения фрагментов текста объект Windows Clipboard (Буфер обмена). Сначала очистил буфер с использованием метода Clear. Затем поместил выделенный в текстовом поле фрагмент текста (свойство текстового поля Seltext) в буфер c использованием метода буфера SetText. Наконец, удалить выделенный текст, присвол свойству SelText пустое значение “”. Таким образом, событийная процедура для команды меню Вырезать запишется следующим образом: Private Sub mnuEditCut_Click() ' Очистить Буфер обмена. Clipboard.Clear ' Поместить выделенный текст в Буфер обмена. Clipboard.SetText frm1.txtEdit.SelText ' Удалил выделенный текст. frm1.txtEdit.SelText = "" End Sub
  Событийную процедура для команды меню Копировать записал следующим образом: Private Sub mnuEditCopy_Click() ' Очистить Буфер обмена. Clipboard.Clear ' Поместить выделенный текст в Буфер обмена. Clipboard.SetText frm1.txtEdit.SelText End Sub
  Событийная процедура для команды меню Вставить записал следующим образом: Private Sub mnuEditPaste_Click() ' Вставить текст из Буфера обмена. frm1.txtEdit.SelText = Clipboard.GetText() End Sub
  Событийная процедура для команды меню Удалить записал следующим образом: Private Sub mnuEditDel_Click() ' Удалить выделенный текст. frm1.txtEdit.SelText = "" End Sub
  Запустил проект, ввёл в текстовом окне текст и произвёл его редактирование с использованием пунктов меню Правка.

Для быстрого ввода команд использовал панели инструментов. Элемент управления Панель инструментов (ToolBar) не входит в стандартный набор управляющих элементов языка Visual Basic. Для работы с этим элементом воспользовался одним из дополнительных наборов управляющих элементов Microsoft Windows Common Control 5.0 (SP2).

  Ввёл команду [Project-Components…]. На появившейся диалоговой панели Components из списка дополнительных наборов управляющих элементов выбрал набор Microsoft Windows CommonControl 5.0 (SP2).  

 

Панель инструментов окна Visual Basic дополнится новыми управляющими элементами и, в том числе, ToolBar и ImageList.

 

Создадим панель инструментов для меню Правка.

  В режиме конструирования проекта поместил на форму управляющий элемент ToolBar и присвоил ему имя tbrToolbar.
  Активизироватл свойство Custom. На появившейся диалоговой панели Property Pages выбрал вкладку Buttons. Щелкнул по кнопке Insert Button. В поле Key: ввёл имя первой кнопки панели инструментов Cut.
  Повторил процедуру и поместил на панель инструментов проекта кнопки Copy, Paste и Del.

 

Для панели инструментов Правка создал событийную процедуру, которая должна обеспечивать необходимые действия по редактированию текста по щелчку по каждой из кнопок.

  В режиме конструирования проекта дважды щелкнул по панели инструментов проекта, и будет создана пустая заготовка событийной процедуры. Использовал инструкцию Select Case для вызова требуемых действий после щелчка по каждой из кнопок панели инструментов. Для идентификации кнопок использовал значения свойства Button.Key: Private Sub tbrToolbar_ButtonClick(ByVal Button As ComctlLib.Button) Select Case Button.Key Case Is = "Cut" Clipboard.Clear Clipboard.SetText frm1.txtEdit.SelText frm1.txtEdit.SelText = "" Case Is = "Copy" Clipboard.Clear Clipboard.SetText frm1.txtEdit.SelText Case Is = "Paste" frm1.txtEdit.SelText = Clipboard.GetText() Case Is = "Del" frm1.txtEdit.SelText = "" End Select End Sub

 

Для удобства работы на кнопки панели инструментов проекта целесообразно поместил значки, как это сделано в Windows и ее приложениях.

  Поместил на форму управляющий элемент Список изображений (ImageList) и присвоил ему имя imlToolbar.
  В окне Свойства объекта активизировал свойство Custom и на появившейся диалоговой панели Property Pages выбрал вкладку Images. Щелкнулпо кнопке Insert Picture… и выбрал графический файл (cut.bmp) для размещения на первой кнопке Cut.
  Повторил процедуру и выбрать графические файлы copy.bmp, paste.bmp и delete.bmp для кнопок Copy, Paste и Del.

Синхронизировал кнопки на панели инструментов tbrToolbar и значки из списка рисунков imlToolbar.

  Для элемента tbrToolbarактивизировал свойство Custom. На вкладке General в окне ImageList выбрал элемент imlToolbar. На вкладке Buttons синхронизировал значения свойства Index (упорядочивает кнопки) и свойства Image (упорядочивают значки).
  Запустил проект и с помощью меню Правка и панели инструментов произвеёл редактирование введенного текста.
  Сохранил проект. Готовый проект prj9.vbp сохранил на CD-ROM в каталоге \practicum\VB\Projects\project9\

.

Проект 5.10. «Усовершенствованный текстовый редактор». На основе предыдущего проекта 5.9 разработаем текстовый редактор, который будет обладать дополнительными возможностями:

· открывать и сохранять текстовые файлы;

· форматировать текст (изменять параметры шрифты и выбирать цвет);

· поддерживать технологию «drag and drop”.

Для реализации этого необходимо воспользоваться в качестве рабочего поля текстового редактора новым элементом управленияRichTextBox (Усовершенствованное текстовое поле), которое является дополнительным компонентом и требует установки.

Проект «Усовершенствованный текстовый редактор»

 

  Ввел команду [Project-Components…]. На появившейся диалоговой панели Components из списка дополнительных управляющих элементов выбрал Microsoft Rich Textbox Control 5.0.
Панель инструментов окна Visual Basic дополнилась управляющим элементом RichTextBox.

 

Требуемый управляющий элемент Microsoft Rich Textbox Control 5.0 в дистрибутив VB5.0 CCE не входит. Его наличие в списке компонентов на диалоговой панели Components зависит от установленного на компьютере программного обеспечения: версии операционной системы Windows, версии Microsoft Office и др.

Элемент управления RichTextBox (Усовершенствованное текстовое поле) можно установить вручную. Для этого необходимо скопировать файл RICHTX32.OCX из каталога на диске \practicum\VB\Projects\project10\ в каталог локального компьютера\WINDOWS\system32\. Для регистрации компонента перейти в этот каталог и ввести команду [Пуск-Выполнить...]. В появившемся текстовом поле ввести команду:

regsvr32.exe RICHTX32.OCX

 

  Открыл проект 5.9 (файл prj9.vbp) и удалил текстовое поле txtEdit. Поместил на форму усовершенствованное текстовое поле RichTextBox и присвоил ему имя txtEdit.

Для реализации операций с файлами и форматирования текста понадобится еще один дополнительный элемент управленияCommonDialog (Общий диалог).

  Ввел команду [Project-Components…]. На появившейся диалоговой панели Components из списка дополнительных управляющих элементов выбрал набор Microsoft Common Dialog Control 5.0 (SP2).
Панель инструментов окна Visual Basic дополнится управляющим элементом CommonDialog. Поместил этот элемент в любое место формы (он будет виден только в режиме конструирования проекта) и присвоил ему имя dlg1.

 

Для реализации дополнительных возможностей текстового редактора расширил систему меню и ввёл дополнительные пункты Файл и Форматирование, содержащие команды второго и третьего уровня:

  С помощью редактора меню Menu Editor расширил систему меню и ввести пункты:
  Файл …Открыть … …Сохранить …Сохранить как … Форматирование …Шрифт …Цвет ……Цвет шрифта ……Цвет фона

 

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

Создал событийные процедуры открытия и сохранения файла.

  Активизировал объект Общий диалог dlg1. Выбрал свойство Custom, появится диалоговая панель PropertyPages для установки значений свойств этого объекта. Выбрал вкладку Open/Save As и в поле DialogTitle ввел имя для окна (например, Открыть файл), которое будет возникать при открытии файла.
  Ввёл программный код событийной процедуры, которая будет производить открытие файла. В процедуре будет использовал метод ShowOpen, который откроет соответствующую панель общего диалога, и метод LoadFile, который произведет открытие файла в текстовом поле: Private Sub mnuOpen_Click() dlg1.ShowOpen txtEdit.LoadFile dlg1.filename End Sub
  Запустил проект, ввёл команду [Файл-Открыть…]. С помощью появившейся стандартной панели Windows Открыл файл выбрать файл и щелкнул по кнопке Открыть. Текст файла появился в окне нашего текстового редактора.
  Ввёл программный код событийных процедур Сохранить и Сохранить как …. В процедурах использовал метод ShowSave, который откроет соответствующую панель общего диалога, и метод SaveFile, который произведет сохранение файла. Процедура Сохранить: Private Sub mnuSave_Click() dlg1.ShowSave If dlg1.filename = "" Then mnuSaveAs_Click Else txtEdit.SaveFile dlg1.filename End If End Sub Процедура Сохранить как …: Private Sub mnuSaveAs_Click() dlg1.ShowSave txtEdit.SaveFile dlg1.filename End Sub
  Запустил проект, ввёл команду [Файл-Сохранить]. На появившейся панели Открыл файл в поле Имя файла: ввёл имя и щелкнул по кнопке Сохранить.

 

Создал событийную процедуру форматирования шрифта.

  Для объекта dlg1 активизировал свойство Custom, и на диалоговой панели Property Pages выбрал вкладку Font. В полях FontName, FontSize, Min и Max ввёл параметры шрифта, которые будут использоваться по умолчанию. Обязательно установил в поле Flags значение 2 (определяет используемый тип шрифтов).
  Ввёл программный код событийной процедуры форматирования шрифта. В процедуре будет использовал метод ShowFont, а также пять свойств, определяющих начертание шрифта: Private Sub mnuFont_Click() dlg1.ShowFont txtEdit.Font.Size = dlg1.FontSize txtEdit.Font.Name = dlg1.FontName txtEdit.Font.Bold = dlg1.FontBold txtEdit.Font.Italic = dlg1.FontItalic txtEdit.Font.Underline = dlg1.FontUnderline End Sub
  Запустил проект, ввёл команду [Форматирование-Шрифт]. С помощью появившейся стандартной панели Windows Выбор шрифта установил требуемые параметры шрифты.  

 

Создал событийные процедуры выбора цвета шрифта (свойство ForeColor) и цвета фона (свойство BackColor).

  Для объекта dlg1 активизировал свойство Custom, и на диалоговой панели Property Pages выбрал вкладку Color. В поле Color установил0 (по умолчанию черный цвет), в поле Flags значение 2 (определяет открытие полного диалогового окна выбора цвета).
  Ввёл программный код событийных процедур выбора цвета шрифта и фона. В процедурах использовал метод ShowColor, а также свойства SelColor и BackColor. Процедура выбора цвета шрифта: Private Sub mnuFontColor_Click() dlg1.ShowColor txtEdit.SelColor = dlg1.Color End Sub   Процедура выбора цвета фона:   Private Sub mnuBackColor_Click() dlg1.ShowColor txtEdit.BackColor = dlg1.Color End Sub
  Запустил проект, ввести команду [Форматирование-Цвет-Цвет шрифта]. На появившейся панели Цвет задал числами интенсивность трех базовых составляющих цвета (Красный:, Зеленый: и Синий:)
  В результате получил вполне работоспособный текстовый редактор, который позволяет открывать и сохранять текстовые файлы, редактировать и форматировать текст.
  Сохранил проект. Готовый проект prj10.vbp хранится в каталоге \practicum\VB\Projects\project10\.

 

Задания для самостоятельного выполнения (Ответы)

5.38. Усовершенствовал проект 5.9 «Простой текстовый редактор» введением меню Файл c командой Выход, которая обеспечивает выход из проекта.

5.39. Усовершенствовал проект-задание 5.38, дополнив его панелью инструментов Файл с кнопкой Выход.

5.40. Усовершенствовал проект-задание 5.39, предусмотрев возможность поиска и замены фрагментов текста, а также редактирования больших текстов.


Дата добавления: 2015-07-21; просмотров: 59 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Практическое задание 3.| Создание мыльницы

mybiblioteka.su - 2015-2024 год. (0.016 сек.)