Операционная система Microsoft Windows 3.1 для программиста -том 2

         

Операционная система Microsoft Windows 3.1 для программиста -том 2

Введение

Ресурсы
Включение ресурсов
Таблица текстовых строк
Создание таблицы
Загрузка строки из таблицы
Приложение STRING
Листинг 1.1. Файл string\string.cpp
Листинг 1.2. Файл string\string.hpp
Листинг 1.3. Файл string\string.rc
Листинг 1.4. Файл string\string.def

Редактирование таблицы строк
Функции для работы с текстовыми строками
Пиктограмма
Создание пиктограммы
Включение пиктограммы в файл описания ресурсов
Использование пиктограммы при регистрации класса окна

Встроенные пиктограммы
Изображение пиктограммы в окне приложения
Приложение ICO
Листинг 1.5. Файл ico\ico.cpp
Листинг 1.6. Файл ico\ico.hpp
Листинг 1.7. Файл ico\ico.rc
Листинг 1.8. Файл ico\ico.ico
Листинг 1.9. Файл ico\wndproc.cpp
Листинг 1.10. Файл ico\ico.def

Курсор мыши
Создание курсора
Включение курсора в файл описания ресурсов
Встроенные курсоры
Изменение формы курсора
Изображение курсора в окне приложения
Приложение CURSOR
Листинг 1.11. Файл cursor\cursor.cpp
Листинг 1.12. Файл cursor\cursor.hpp

Листинг 1.13. Файл cursor\cursor.rc
Листинг 1.14. Файл cursor\cursor.ico
Листинг 1.15. Файл cursor\cursor.cur
Листинг 1.16. Файл cursor\wndproc.cpp
Листинг 1.17. Файл cursor\cursor.def
Графическое изображение типа bitmap
Создание изображения типа bitmap
Включение изображения bitmap в файл описания ресурсов
Загрузка изображения bitmap
Создание кисти для закрашивания окна

Приложение BRUSH
Листинг 1.18. Файл brush\brush.cpp
Листинг 1.19. Файл brush\brush.rc
Листинг 1.20. Файл brush\brush.bmp
Листинг 1.21. Файл brush\brush.def
Произвольные данные
Включение произвольных данных в ресурсы приложения
Загрузка произвольных данных из ресурсов приложения

Приложение OEM3ANSI
Листинг 1.22. Файл oem3ansi\oem3ansi.cpp
Листинг 1.23. Файл oem3ansi\oem3ansi.rc
Листинг 1.24. Файл oem3ansi\xlatcyr.tbl
Листинг 1.25. Файл oem3ansi\oem3ansi.def
Листинг 1.26. Файл oem3ansi\tabgen.cpp
Другие типы ресурсов
Органы управления

Кнопки
Создание кнопки
Сообщение WM_COMMAND
Приложение BUTTON
Листинг 2.1. Файл button\button.cpp
Листинг 2.2. Файл button\button.def
Управление кнопкой из приложения

Вызов функций управления окном
Передача сообщений органу управления
Сообщения для кнопки
Приложение BUTNCTL
Листинг 2.3. Файл butnctl\butnctl.cpp
Листинг 2.4. Файл butnctl\butnctl.def
Переключатели

Кнопки, которые рисует родительское окно
Приложение OWNBUT
Листинг 2.5. Файл ownbut\ownbut.cpp

Листинг 2.6. Файл ownbut\ownbut.hpp
Листинг 2.7. Файл ownbut\ownbut.rc
Листинг 2.8. Файл ownbut\mybtnup.bmp
Листинг 2.9. Файл ownbut\mybtndn.bmp
Листинг 2.10. Файл ownbut\mybtngr.bmp
Листинг 2.11. Файл ownbut\drawbmp.cpp
Листинг 2.12. Файл ownbut\ownbut.def
Кнопки и клавиатура
Статический орган управления
Создание статического органа управления

Стили статического органа управления
Прямоугольные рамки
Закрашенные прямоугольники
Текст
Пиктограммы
Приложение STATIC
Листинг 2.13. Файл static\static.cpp
Листинг 2.14. Файл static\static.def

Полоса просмотра
Создание полосы просмотра
Использование класса "scrollbar"
Стили полосы просмотра
Определение полос просмотра при создании окна
Сообщения от полосы просмотра
Инициализация полосы просмотра
Управление полосой просмотра

Приложение SCROLL
Листинг 2.15. Файл scroll\scroll.cpp
Листинг 2.16. Файл scroll\scroll.def
Приложение SCRLMET
Листинг 2.17. Файл scrlmet\scrlmet.cpp
Листинг 2.18. Файл scrlmet\wndproc.cpp

Листинг 2.19. Файл scrlmet\scrlmet.def
Приложение SIZEBOX
Листинг 2.20. Файл sizebox\sizebox.cpp
Листинг 2.21. Файл sizebox\sizebox.def
Редактор текста
Создание редактора текста

Стили редактора текста
Коды извещения
Сообщения для редактора текста
EM_CANUNDO
EM_EMPTYUNDOBUFFER
EM_FMTLINES
EM_GETFIRSTVISIBLELINE
EM_GETHANDLE

Операционная система Microsoft Windows 3.1 для программиста -том 2

EM_GETLINE
EM_GETLINECOUNT
EM_GETMODIFY

EM_GETPASSWORDCHAR
EM_GETRECT
EM_GETSEL
EM_GETWORDBREAKPROC
EM_LIMITTEXT
EM_LINEFROMCHAR
EM_LINEINDEX
EM_LINELENGTH
EM_LINESCROLL
EM_REPLACESEL

EM_SETHANDLE
EM_SETMODIFY
EM_SETPASSWORDCHAR
EM_SETREADONLY
EM_SETRECT
EM_SETRECTNP
EM_SETSEL
EM_SETTABSTOPS
EM_SETWORDBREAKPROC
EM_UNDO

WM_COPY
WM_PASTE
WM_CUT
WM_CLEAR
Приложение EDIT
Листинг 2.22. Файл edit\edit.cpp
Листинг 2.23. Файл edit\edit.def

Приложение TEDIT
Листинг 2.24. Файл tedit\tedit.cpp
Листинг 2.25. Файл tedit\tedit.def

Список класса LISTBOX
Создание списка
Стили списка
Сообщения для списка
LB_ADDSTRING
LB_DELETESTRING
LB_DIR
LB_FINDSTRING

LB_FINDSTRINGEXACT
LB_GETCARETINDEX
LB_GETCOUNT
LB_GETCURSEL
LB_GETHORIZONTALEXTENT
LB_GETITEMDATA
LB_GETITEMHEIGHT
LB_GETITEMRECT
LB_GETSEL
LB_GETSELCOUNT

LB_GETSELITEMS
LB_GETTEXT
LB_GETTEXTLEN
LB_GETTPOINDEX
LB_INSERTSTRING
LB_RESETCONTENT
LB_SELECTSTRING
LB_SELITEMRANGE
LB_SETCARETINDEX
LB_SETCOLUMNWIDTH

LB_SETCURSEL
LB_SETHORIZONTALEXTENT
LB_SETITEMDATA
LB_SETITEMHEIGHT
LB_SETSEL
LB_SETTABSTOPS
LB_SETTOPINDEX
Приложение LISTBOX
Листинг 2.26. Файл listbox\listbox.cpp

Листинг 2.27. Файл listbox\listbox.def
Приложение LISTDIR
Листинг 2.28. Файл listdir\listdir.cpp

Листинг 2.29. Файл listdir\listdir.def
Список класса COMBOBOX
Создание списка COMBOBOX
CB_ADDSTRING
CB_DELETESTRING

CB_DIR
CB_FINDSTRING
CB_GETCOUNT
CB_GETCURSEL
CB_GETDROPPEDCONTROLRECT
CB_GETDROPPEDSTATE
CB_GETEDITSEL
CB_GETEXTENDUI
СB_GETITEMDATA
СB_GETITEMHEIGHT

CB_GETLBTEXT
CB_GETLBTEXTLEN
CB_INSERTSTRING
CB_LIMITTEXT
CB_RESETCONTENT
CB_SELECTSTRING
CB_SETCURSEL
CB_SETEDITSEL
CB_SETEXTENDEDUI
CB_SETITEMDATA

CB_SETITEMHEIGHT
CB_SHOWDROPDOWN
Приложение COMBO
Листинг 2.30. Файл combo\combo.cpp
Листинг 2.31. Файл combo\combo.def
Диалоговые панели
Создание диалоговой панели

Создание шаблона диалога
Использование Resource Workshop
Использование текстового редактора
Описание шаблона
Функция диалога

Функции для создания диалоговой панели
Приложение DIALOG
Листинг 3.1. Файл dialog\dialog.cpp
Листинг 3.2. Файл dialog\dialog.rc
Листинг 3.3. Файл dialog\appicon.ico
Листинг 3.4. Файл dialog\dialog.def

Сообщения для органов управления
Использование функции SendMessage
Использование специальных функций

Операционная система Microsoft Windows 3.1 для программиста -том 2

Приложение DLGCOMBO
Листинг 3.5. Файл dlgcombo\dlgcombo.cpp

Листинг 3.6. Файл dlgcombo\dlgcombo.hpp
Листинг 3.7. Файл dlgcombo\dlgcombo.rc
Листинг 3.8. Файл dlgcombo\appicon.ico
Листинг 3.9. Файл dlgcombo\dlgcombo.def
Приложение DLGTAB
Листинг 3.10. Файл dlgtab\dlgtab.cpp
Листинг 3.11. Файл dlgtab\dlgtab.hpp

Листинг 3.12. Файл dlgtab\dlgtab.res
Листинг 3.13. Файл dlgtab\dlgtab.ico
Листинг 3.14. Файл dlgtab\dlgtab.def
Немодальные диалоговые панели
Создание и уничтожение немодальных диалоговых панелей
Изменения в цикле обработки сообщений
Приложение DIALOGNM
Листинг 3.15. Файл dialognm\dialognm.cpp

Листинг 3.16. Файл dialognm\dialognm.rc
Листинг 3.17. Файл dialognm\appicon.ico
Листинг 3.18. Файл dialognm\dialognm.def
Функция MessageBox
Литература

Содержание раздела