Учебные материалы по математике | Элемент управления commondialog | Matematiku5
Вузы по математике Готовые работы по математике Как писать работы по математике Примеры решения задач по математике Решить задачу по математике online

Элемент управления commondialog


При работе программы возможно изменение свойств нашего ActiveX-элемента в результате действий пользователя или самой программы.

Свойства ActiveX-элемента изменяются на какие-то другие.

Закрытие программы.

Экземпляр, созданный на этапе запуска программы, уничтожается. Новые значения свойств никуда не сохраняются.

Возврат к этапу разработки программы.

1.Вызывается метод Initialize для нового экземпляра ActiveX’а.
2.Путем вызова метода ReadProperties новый экземпляр ActiveX-элемента берёт свои свойства из объекта PropBag типа PropertyBag (таким образом этот новый экземпляр получает именно те значения свойств, которые были заданы на этапе разработки программистом).

21-25.Элемент управления CommonDialog для создания диалоговых окон

Все диалоговые окна, перечисленные в начале раздела "Диалоговые окна", можно создать с помощью элемента управления commonDialog. Прежде чем его использовать, необходимо подключить к проекту библиотеку Microsoft Common Dialog Control 6.0 через диалоговое окно Components (Компоненты) среды проектирования.

Для вызова диалоговых окон необходимо использовать соответствующие каждому из этих окон методы элемента управления commonDialog, указанные в табл. 7.11.

Таблица 7.11. Методы элемента управления CommonDialoq

Метод

Описание

ShowOpen

Вызывает диалоговое окно, используемое для открытия файла

ShowSave

Вызывает диалоговое окно, используемое для сохранения файла

ShowColor

Вызывает диалоговое окно настройки цветовой палитры

ShowFont

Вызывает диалоговое окно настройки шрифтов текста

ShowPrinter

Вызывает диалоговое окно настройки печати и диалоговое окно печати

ShowHelp

Подключает справочную систему в стиле Windows

Для изучения диалоговых окон, образуемых с помощью элемента управления CommonDialog, создадим небольшой проект. Выполните следующие действия:

1. Создайте новый стандартный проект. Для этого в меню File (Файл) выберите команду New Project (Создать новый) и в открывшемся диалоговом окне дважды щелкните мышью на значке Standard EXE.

2. Присвойте проекту имя MySmallProject. Для этого откройте окно свойств проекта, выбрав команду Project1 Properties (Свойства Project 1) меню Project (Проект). После переименования проекта эта команда примет вид MySmallProject Properties (Свойства MySmallProject).

3. Подключите к проекту библиотеку Microsoft Common Dialog Control 6.0. Для этого в меню Project (Проект) выберите команду Components, в открывшемся диалоговом окне Components (Компоненты) установите флажок, расположенный рядом с названием этой библиотеки, и нажмите кнопку ОК.

4. Задайте наименование формы проекта FormForControlCommDiaiog.

5. Используя свойство caption формы, введите заголовок окна Форма для проверки диалогов CommonDialog.

6. Добавьте в форму элемент управления CommonDialog, дважды щелкнув мышью кнопку CommonDialog на панели элементов управления. Если эта панель отсутствует на экране, то в меню View (Вид) выберите команду TooIBox (Панель инструментов).

7. Присвойте элементу управления CommonDialog наименование cdMyDialog.

8. Добавьте в форму кнопку управления типа commandButton и назовите ее cbControl. Эта кнопка будет использоваться нами для вызова диалогового окна по событию click.

9. Используя свойство caption, введите название кнопки Проверка диалогов CommonDialog.

Полученное приложение представлено на рис. 7.21. Этот проект, содержащий элемент управления commonDialog, будем использовать для создания диалоговых окон и знакомства с ними, размещая в событии click кнопки cbControl код настройки параметров требуемого диалогового окна и вызова соответствующего ему метода.

Диалоговое окно открытия файла

Диалоговое окно открытия файла предназначено для поиска файлов, используемых в программе. Имя выбранного файла или списка файлов возвращается в свойстве FileName объекта CommonDialog. Для вызова диалогового окна открытия файла (рис. 7.22) необходимо в событии click кнопки cbControl приложения MySmallProject ввести следующий код:

Private Sub cbControl_Click()

cdlMyDialog. ShowOpen

End Sub

Для ввода кода достаточно дважды щелкнуть на объекте cbcontroi левой кнопкой мыши. При этом открывается редактор кода с шаблоном кода для события click этой кнопки.

Значения для свойства cdlMyDialog. Flags указаны в табл. 7.12.

Таблица 7.12. Значения для метода Flags диалогового окна открытия файла

Константа

Значение

Описание

cdlOFNAllowMultiselect

&H200

Устанавливает возможность множественного выбора файлов в диалоговом окне. Возвращаемые имена файлов находятся в свойстве FileName элемента управления CornmonDialog и разделены пробелами

cdlOFNCreatePrompt

&H2000

Устанавливает для диалогового окна запрос на подтверждение создания нового файла, если он не существует

cdlOFNExplorer

&H80000

Назначает диалоговому окну стиль проводника

cdlOFNExtensionDifferent

&H400

Сообщает, что расширение файла отличается от установленного по умолчанию в свойстве DefaultExt

cdlOFNFileMustExist

&H1000

Устанавливает возможность ввода в диалоговом окне только имен существующих файлов. При вводе несуществующего файла выдается сообщение об ошибке

cdlOFNHelpButton

&H10

Указывает на необходимость размещения в диалоговом окне кнопки Справка

cdlOFNHideReadOnly

&H4

Файлы только для чтения не отображаются

cdlOFNLongNames

&H200000

Разрешает использование длинных имен файлов

cdlOFNNoChangeDi r

&H8

" Назначает папку, открываемую по умолчанию при запуске диалогового окна

cdlOFNNoLongNames

&H40000

Запрещает использование длинных имен файлов

cdlOFNNoReadOniyReturn

&H8000

Указывает, что выводимые в диалоговом окне файлы не должны быть предназначены только для чтения и не находятся в каталоге, защищенном от записи (Write-protected)

cdlOFNNoValidate

&H100

Сообщает о вводе недопустимых символов в имени файла

cdlOFNOverwritePrompt

&H2

Устанавливает для диалогового окна запрос на подтверждение перезаписи существующего файла

cdlOFNPathMustExist

&H800

Устанавливает требование указания полного пути к файлу

cdlOFNReadOnly CdlOFNShareAware

&H1 &H4000

Задает проверку флажка Только чтение

Задает игнорирование ошибки типа блокировки, занятости файла (Sharing violation errors)

Диалоговое окно сохранения файла

Для поиска файла, в котором будут сохранены данные из программы, используется диалоговое окно сохранения файла (рис. 7.23). Это диалоговое окно вызывается так же, как окно открытия файла. Для его создания в событии click кнопки cbControl приложения MySmallProject необходимо заменить код на следующий:

Private Sub cbControl_Click()

cdlMyDialog. ShowSave

End Sub

Как видно из рисунка, это диалоговое окно аналогично окну, предназначенному для открытия файла. Флаги этого диалогового окна перечислены в табл. 7.12.

Диалоговое окно настройки цветовой палитры

Для настройки цвета фона формы и расположенных в форме элементов можно использовать диалоговое окно настройки цветовой палитры (рис. 7.24). Для вызова этого диалогового окна необходимо заменить код в событии click кнопки cbcontrol приложения MySmallProject на следующий:

Private Sub cbControl_Click()

cdlMyDialog. ShowColor

End Sub

Константы, используемые для настройки диалогового окна выбора цветовой палитры, перечислены в табл. 7.13. Расширенное диалоговое окно настройки цветовой палитры можно создать с помощью объекта CommonDialog (рис. 7.25).

Таблица 7.13. Значения для метода Flags диалогового окна цветовой палитры

Константа

Значение

Описание

cdlCCFullOpen

&H2

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

cdlCCShowHelp

&H8

Добавляет в диалоговое окно кнопку Справка

cdlCCPreventFullOpen

&H4

Скрывает кнопку Добавить в набор

cdlCCRGBInit

&H1

Восстанавливает в диалоговом окне исходный набор цветов

Диалоговое окно настройки шрифтов текста

Для вызова диалогового окна настройки шрифтов (рис. 7.26) необходимо в событие click кнопки cbcontrol ввести следующий код:

Private Sub cbControl_Click()

cdlMyDialog. Flags = cdlCFBoth + cdlCFEffects

cdlMyDialog. ShowFont

End Sub

Флаги диалогового окна настройки шрифтов перечислены в табл. 7.14.

Таблица 7.14. Значения для метода Flags диалогового окна настройки шрифтов

Константа

Значение

Описание

cdlCFANSIOnly

&H400

Назначает выбор только из системных наборов шрифтов Windows

cdlCFApply

&H200

Добавляет в диалоговое окно кнопку Применить

cdlCFBoth

&H3

Назначает использование экранных шрифтов принтера, указанного в свойстве hDC

CdlCFEffects

&H100

Указывает на необходимость размещения в диалоговом окне элементов управления, задающих эффект подчеркивания, зачеркивания и цвета

cdlCFForceFontExis

it &H10000

Назначает вывод предупреждения об ошибке при выборе несуществующего шрифта

cdlCFHelpButton

&H4

Добавляет в диалоговое окно кнопку Справка

cdlCFLimitSize

&H2000

Назначает выбор размеров шрифтов в интервале, указанном в свойствах Min и Мах

cdlCFNoFaceSel

&H80000

Отключает выбор наименования шрифта

cdlCFNoSizeSel

&H1000

Отключает выбор размера шрифта

cdlCFNoSimulations

&H200000

Отключает в диалоговом окне графические шрифты

cdlCFNoStyleSel

&H100000

Отключает выбор стиля шрифта

cdlCFNoVectorFonts

&H800

Отключает выбор векторных шрифтов

cdlCFPrinterFonts

&H2

Назначает выбор только шрифтов принтера, который указан в свойстве hDC

cdlCFScreenFonts

&H1

Назначает выбор только экранных шрифтов системы

cdlCFTTOnly

&H40000

Назначает только выбор шрифтов типа True Type

CdlCFWYSIWYG

&H8000

Назначает выбор только тех шрифтов, которые подходят одновременно и для принтера, и для экрана. При этом должны дополнительно использоваться флаги cdlCFBoth и cdlCFScalableOnly

Диалоговое окно печати

Диалоговое окно печати можно вызвать с помощью элемента управления

commonDialog, заменив код в событии click кнопки с наименованием cbControl на следующий:

Private Sub cbControl_Click()

cdlMyDialog. ShowPrinter

End Sub

Открытое диалоговое окно показано на рис. 7.27.

Если требуется предварительно настраивать печать, то необходимо установить для свойства Flags значение cdlPDPrintSetup. В этом случае код будет выглядеть следующим образом:

Private Sub cbControl_Click()

cdlMyDialog. Flags = cdlPDPrintSetup

cdlMyDialog. ShowPrinter

End Sub

Запустив приложение MySmallProject, вы получите диалоговое окно

Таблица 7.15. Значения для метода Flags диалогового окна печати

Константа

Значение

Описание

cdlPDAllPages

&НО

Возвращает или устанавливает состояние переключателя печати всех страниц

cdlPDDisablePrintToFile

&H80000

Делает недоступным флажок диалогового окна Печать в файл

cdlPDHelpButton

&H800

Добавляет в диалоговое окно кнопку Справка

cdlPDHidePrintToFile

&H100000

Скрывает флажок диалогового окна Печать в файл

cdlPDNoPageNums

&H8

Скрывает элементы управления в группе Печатать

cdlPDNoWarning

&H80

Отменяет предупреждение об отсутствии принтера по умолчанию

cdlPDPageNums

&H2

Делает недоступными элементы управления, расположенные в области Печатать

cdlPDPrintSetup

&H40

Выводит диалоговое окно настройки печати перед диалогом печати

cdlPDPrintToFile

&H20

Возвращает или устанавливает состояние флажка Печать в файл

cdlPDReturnDefault

&H400

Возвращает имя принтера, используемое по умолчанию

cdlPDUseDevModeCopies

&H40000

Если драйвер принтера не поддерживает создание копий, делает недоступным счетчик Число копий. Если копирование поддерживается, указывает, что номер копии хранится в свойстве Copies

Справочная система в стиле Windows

Флаги диалогового окна справочной системы перечислены в табл. 7.16. Для использования этого диалогового окна необходимо создать справочную систему для приложения (файл справки).

Таблица 7.16. Значения для метода Flags диалогового окна справочной системы

Константа

Значение

Описание

cdlHelpCommandHelp

&Н102

Вызывает справочную систему отдельной командой

cdlHeIpContents

&НЗ

Вызывает содержание справочной системы

cdlHelpContext

&H1

Вызывает отдельную тему справочной системы

cdlHelpContextPopup

&H8

Вызывает тему справки по индексу

cdlHelpIndex

&H3

Вызывает указатель справочной системы

cdlHelpKey

&H101

Вызывает справочную систему по ключевому слову

26. История развития объектных моделей.

История развития насчитывает ряд этапов.

1.Разработчики Microsoft предложили создавать все свои приложения на основе компонентной модели (СОМ-Component Object Model–модель объектных компонент), независимую от языка программирования, на котором писался код компонента. Спецификация СОМ определяла «правилаповедения» для программного объекта в оперативной памяти компьютера и протокол взаимодействия объекта с окружающей программной средой. С появлением СОМ был заложен фундамент многократно используемых компонент, которые могли участвовать во многих проектах, не меняя своего кода.

2. Следующим этапом совершенствования объектной модели было появление на свет технологии OLE (Object Linkingand Embedding–связывание и внедрение объектов).

Она позволяла взаимодействовать с любыми программами, которые внедрялись в Ваше приложение в качестве объектов, например, WordArt, MPlayer и пр.

Посредством OLE можно было помещать в текстовый процессор (приложение-приемник, контейнер) изображение из графической программы (приложения-источника), и редактировать его, не покидая текстовый процессор. При внедрении объекта все данные копировались в контейнер. При связывании в контейнер записывалась только информация о приложении-источнике, из которого был взят вставляемый объект.

Приложения-приемники стали именоваться COM-клиентами, OLE-клиентами, контроллерами автоматизации, а приложения-источники–COM-серверами, серверами автоматизации.

Так, текстовый процессор, будучи еще и COM-сервером предоставлял другим приложениям доступ к документу, абзацу, закладке с помощью своих объектов. OLE-технология обладала еще и средством автоматизации (Automation), с помощью которого стало возможным устанавливать свойства, применять методы и обрабатывать события как внедренных в документ объектов, так и программно управлять объектами других приложений, находящихся на диске.

Иными словами, приложения MS Office стали программируемыми (управляемыми) с помощью внутреннего макроязыка Visual Basic for Applications (VBA), либо с помощью других внешних языков(приложенийVB, Delphi, VC).

ЯзыкVBA позволял создавать приложения непосредственно внутри документов Office. Управление же компонентами Office из других приложений стало возможным с помощью автоматизации.

Наташа

Автор

Наташа — контент-маркетолог и блогер, но все это не мешает ей оставаться адекватным человеком. Верит во все цвета радуги и не верит в теорию всемирного заговора. Увлекается «нефрохиромантией» и тайно мечтает воссоздать дома Александрийскую библиотеку.

Распродажа дипломных

 Скидка 30% по промокоду Diplom2020

А ты боишься COVID-19?

 Пройди опрос и получи промокод