Новые книги

В этой книге Байрон Шарп – директор Института маркетинговых наук Эренберга-Басса при Университете Южной Австралии – приводит научные данные о том, почему люди покупают. Справедливость его выводов подтвердили десятилетние исследования поведения реальных покупателей. После прочтения этой книги вы сможете лучше понимать, как использовать законы маркетинга. Вы станете делать прогнозы и принимать решения, основанные на научных данных, а не домыслах.

На русском языке публикуется впервые.
Конспект лекций соответствует требованиям Государственного образовательного стандарта высшего профессионального образования РФ и предназначен для освоения студентами вузов специальной дисциплины «Базы данных».

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

Создание диалогового окна

Создание диалогового окна

Диалоговое окно, как и меню, может быть создано несколькими способами: во-первых, с помощью описания его в файле ресурсов и, во-вторых, во время выполнения программы. Наиболее часто используется описание диалога в файле ресурсов. Лучше всего при создании диалого воспользоваться редактором ресурсов, с помощью которого может быть создан текстовый файл, содержащий описание диалогового окна. Ресурсы диалога в этом текстовом файле задаются оператором DIALOG, который имеет следующий формат:

DialogName DIALOG [DISCARDABLE]    X,Y,Width,Height
CAPTION "Заголовок окна"
STYLE <Стили диалогового окна>
FONT n, <имя шрифта>
 {
   Описание элементов диалога
 }
В данном случае DialogName - это имя диалогового окна. Опция DISCARDABLE станет совершенно ясной при рассмотрении вопроса об организации памяти в Windows. Параметры X и Y - это координаты верхнего левого угла диалового окна, Width и Height - ширина и высота диалога. STYLE описывает стили окна. Здесь могут использоваться как стили, применяемые для описания обычных окон, так и стили, применяемые только в диалоговых окнах. Эти новые стили приведены в таблице:

Стили диалоговых окон

Стиль Значение Эффект
DS_ABSALIGN 0x0001L Положение диалогового окна исчисляется в экранных координатах
DS_SYSMODAL 0x0002L Создается системное модальное диалоговое окно
DS_3DLOOK 0x0004L Создается диалоговое окно, имеющее зрительную иллюзию трехмерности
DS_FIXEDSYS 0x0008L Вместо SYSTEM_FONT используется SYSTEM_FIXED_FONT
DS_NOFAILCREATE 0x0010L Диалоговое окно создается, несмотря на то, что при его создании произошли ошибки
DS_LOCALEDIT 0x0020L В 32-битных приложениях не используется
DS_SETFONT 0x0040L Определяет шрифт, который будет применятся в диалоговом окне
DS_MODALFRAME 0x0080L Создается модальное диалоговое окно
DS_NOIDLEMSG 0x0100L
DS_SETFOREGROUND 0x0200L Поместить диалоговое окно на передний план
DS_CONTROL 0x0400L
DS_CENTER 0x0800L Диалоговое окно помещается в центр рабочей области
DS_CENTERMOUSE 0x1000L
DS_CONTEXTHELP 0x2000L

Приведенных выше сведений вполне достаточно, чтобы написать заготовку диалогового окна в файле ресурсов. Но какой смысл описывать диалоговое окно, если в нем нет ни одного из элементов управления? Ведь даже закрыть такое диалоговое окно (если в нем, конечно, нет системного меню) невозможно! Значит, нам необходимо срочно научиться описывать эти элементы!

Я уже упоминал о том, что в "недрах" Win32 есть масса предопределенных объектов. В частности, там находятся и некоторые предопределенные классы окон. К таким классам относятся кнопки (класс "button"), списки (класс "listbox"), комбинированные списки (класс "combobox"), окна редактирования (класс "edit"), полосы прокрутки (класс "scrollbar"), статистические элементы (класс "static"). У каждого класса есть свой определенный набор стилей, которые определяют внешний вид и поведение элементов управления, относящихся к данному классу.

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