Майкл Дж. Янг Visual C++ 6. Полное руководство: В 2 т. (Том 2) Книга является полным руководством по системе программиро...
73 downloads
1450 Views
31MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Майкл Дж. Янг Visual C++ 6. Полное руководство: В 2 т. (Том 2) Книга является полным руководством по системе программирования Visual C++ 6. Наряду с общим представлением об этом программном продукте, вы ознакомитесь с его новыми компонентами. Большое внимание уделяется программированию графического интерфейса с помощью библиотеки MFC. Рассмотрено использование механизма OLE, a также создание и применение элементов ActiveX. Для программистов любого уровня — как начинающих, так и опытных, которые хотят ознакомиться с особенностями программирования для Windows.
Часть III. Программирование графического интерфейса с использованием библиотеки MFC Глава 16. Разработка диалоговых приложений Создание простых диалоговых программ Генерация программы DlgDemo мастером AppWizard Настройка программы DlgDemo Исходный текст программы DlgDemo Создание программы просмотра формы Создание программы FormDemo с помощью AppWizard Настройка программы FormDemo Исходный текст программы FormDemo Итоги Глава 17. Создание многодокументных приложений
Содержание Многодокументный интерфейс 11 Создание многодокументной программы Классы, файлы и код программы 12 Настройка ресурсов Текст программы MiniEdit 12 Итоги 13 Глава 18. Ввод/вывод символов Отображение текста Генерация программы 16 Составление фрагмента программы отображения 23 строк Создание объекта Font и 30 сохранение текста Поддержка средств 31 прокрутки Изменение функции Initlnstance 32 Чтение кодов символов, вводимых с клавиатуры 39 Обработка сообщения WМ_KEYDOWN 54 Обработка сообщения 56 WМ_CHAR Управление курсором при редактировании
56 58 60 65 68 84 86 86 88 88 93 107 110 110 110 116 121
Текст программы TextDemo 125 Текст программы Echo 148 Итоги 163 ГЛАВА 19. Использование 165 функций рисования Создание объекта контекста 166 устройства Выбор инструментов рисования 167 Выбор стандартных 169 инструментов рисования Создание инструментов 170 рисования Установка графических 174 атрибутов Режим отображения 176 Создание графических 179 изображений Рисование точек 7179 Рисование прямых и кривых 201 линий Другие функции рисования 210 Программа MiniDraw 211 Определение классов для 218 фигур Другие модификации 228 программы Текст программы MiniDraw 235 Итоги 269 Глава 20. Использование 271 растровых изображений и битовых операций Создание растрового 271 изображения Загрузка растрового 272 изображения из ресурсов Создание растрового 273 изображения с использованием функций рисования Отображение растрового 277 изображения
Другие способы использования растрового изображения Выполнение битовых операций Функция PatВlt Функция BitBlt Функция StretchBlt Отображение значков Программа BitDemo Проектирование растровых изображений Модификация программы Текст программы BitDemo Итоги Глава 21. Печать и предварительный просмотр Основы печати и предварительный просмотр Модификация ресурсов Модификация текста программы Усовершенствованная печать Изменение размера рисунка Переопределение виртуальных функций печати Модификация функции OnDraw Текст программы MiniDraw Итоги Глава 22. Использование множественных потоков Создание и управление вторичными потоками Прекращение выполнения потока Управление потоком Ограничения на использование MFCклассов
278
279 279 281 285 286 288 289 290 291 305 307 307 308 309 314 314 315
321 323 360 361 361 364 364 366
Синхронизация потоков Другие объекты синхронизации Другие типы синхронизации Многопотоковая версия программы Mandel Текст программы MandelMT Итоги Глава 23. Связи между процессами Запуск новых процессов Синхронизация процессов и получение дескрипторов общих объектов Обмен данными по каналам Совместное использование памяти Использование буфера обмена Команды буфера обмена Использование буфера обмена для переноса текста Использование буфера обмена для передачи графических изображении Использование буфера обмена для передачи данных зарегистрированных форматов Итоги Глава 24. Использование механизма OLE Внедрение, связывание и автоматизация Создание программы-сервера Создание программы-сервера с помощью мастера AppWizard Добавление специального кода приложения-сервера
367 370 371 372 379 394 396 396 399
403 404 405 405 408
417
421
423 425 426 428 428
434
Текст программы ServDemo Создание программыконтейнера Класс приложения Класс документа Класс компонента контейнера Класс представления Ресурсы Построение и выполнение программы ContDemo Текст программы ContDemo Итоги Глава 25. Создание и применение элементов ActiveX Создание элементов ActiveX Генерация файлов программы Настройка программы элемента ActiveX Определение свойств Определение методов Определение событий Построение элемента Исходный текст AXCtrl Создание программыконтейнера элемента ActiveX Генерация файлов с исходным текстом Добавление элемента ActiveX в проект Проектирование диалогового окна программы Присоединение компонента ActiveX к объекту классаупаковки Определение обработчиков сообщений для кнопок Добавление обработчика события Click Построение и тестирование
441 467 467 468 469 470 471 472 475 496 498 499 499 500 504 511 511 513 513 524 524 525 526 528
528 529 529
программы AXCont Текст программы AXCont Итоги Приложение. Использование
530 538 540
прилагаемого компакт-диска Предметный указатель
542
Предметный указатель — OpenSemaphore 401 — ReadFile 403 API—функция — RegisterClipboardFormat 421—422 — CloseClipboard 408, 411, 414, 417, — SetClipboardData 408—422 419 — CloseFile 405 — SetPriorityClass 398 — SetStdHandle 403 — CloseHandle 398 — TerminateProcess 398 — CreateEvent 400 — UnmapViewOfFile 405 — CreateFile 402 — WaitForInputIdle 398—399 — Create FileMapping 404 — WaitForSingleObject 398 — CreateMutex 399—400 — WriteFile 403 — CreatePipe 403 — CreateProcess 397—398, 401 M — CreateSemaphore 400 MDI—приложение 56—58, 60—61 — DuplicateHandle 402 — дочерние окна 56 — EmptyClipboard 408, 410, 417 — мастер AppWizard 58 — EnumClipboardFormats 413, 422 — окна 58 — ExitProcess 398 MDI—приложения — GetClipboardData 413, 419, 420— — генерация кода 64—65 421 — инициализация 61 — GetCommandLine 398 — класс — GetCurrentProcessld 401 — CEditView 58 — GetExitCodeProcess 398 — CMiniEditView 58 — GetPriorityClipboardFormat 413 — документа 60 — GetStdHandle 403 — представления 64 — GlobalAlloc 408—409, 411 — классы и файлы 60—64 — GlobalFree 409—411 — меню 65—68 — GlobalLock 408, 411, 413—414 — открытие окон 58 — GlobalUnlock 408, 410—411, 413 — отображение окна 61 — IsClipboardFormatAvailable 413, — панель инструментов 59, 64—65 419, 421 — перекрывающиеся окна 58 — Istrcpy 410 — разворачивание окон 58 — MapViewOfFile 405 — ресурсы 65—68 — OpenEvent 401 — сворачивание окон 58 — OpenMutex 400 — создание 58—65 — OpenProcess 401 — строка состояния 59 А
— тип документа 62—63 — функция InitInstance 61— 63 MFC—классы — функция AfxBeginThread 362— 366, 375—376 — функция AfxEndThread 364— 365 — функция AfxOleInit, 429, 467 O OLE 425 — буфер обмена 426 — режимы отображения 441 OLE—автоматизация 428 OLE—внедрение 426—427 S SDI—приложения 64 А Аварийное прекращение работы 316 Автоматизация 428 — связывание, внедрение 428 Анимация 283—285 Атрибуты рисования 175—180 — по умолчанию 175—176 Б Белый цвет в растровых изображениях 206 Белый цвет пера и кисти 168—169 Библиотека MFC, синхронизация объектов 368 Библиотека периода выполнения, установка 362 Битовые операции 322, 418, 420 — BitBlt 281—285 — PatBlt 280—281 — StretchBlt 285—286 Блок памяти перемещаемый 409 Буфер обмена 68, 405 — графика 417—420 — закрытие 408, 411, 414, 417, 419— 420 — обработчик COMMAND 406—
407, 411—413, 415, 417 — текст 408—416 — удаление содержимого 408, 410, 417 UPDATE_COMMAND_UI 406— 407, 413, 417,419 Буферы и потоки 368 В Виртуальные функции 222 Вкладка — Document Template Strings 58—59 — Events компонент ActiveX 512 — General 273 — Member Variables 510 —Styles 16 — автоматизации Automation 506— 507 Временные перья и кисти 170, 230 Вставка данных из буфера 408, 413— 416, 419—422 Вставка метки меню 419—422 Вторичный поток 361 — управление 361—367 — завершение 364—365 Вход консольный 372 Выбор — инструмента рисования 167—170 — кисти 167—170 — пера 167—170 — шрифта 89—90 Выделение памяти буферу обмена 408—412 Выравнивание текста 90 Высота — области печати 318—321 — текста 109 Г Границы — данных 167, 210 — печати 314, 320—322 Графика
— вставка 419—422 — вырезание 417—418 — прокрутка 166 Графический редактор для растровых изображений 272, 289 Д Дескриптор — дублированный 402 — канала обмена 403 — наследуемый и дублируемый 402 — памяти 408—414 — процесса 398—402 — закрытие 370—371 Диалоговое окно — Add Event 512 — Add Member Variable 510 — Add Property 505—506 — Advanced Options 58—59 — AXCtrl Control Properties 529 — Bitmap Properties 273 — Color 218 — Components And Control Gallery 526—528 — Confirm Classes 527—529 — Dialog Properties 16 — Font 86, 94—107 — IDD_AXCONT_DIALOG 529 — MFC AppWizard — Step 1 13, 58 — MFC AppWizard — Step 2 13—14 — MFC AppWizard — Step 2 525— 526 — MFC AppWizard — Step 3 15, 428—429, 467—468 — MFC AppWizard — Step 4 15, 58, 428 — MFC AppWizard — Step 6 31, 58 — Print 313, 318 — Print Setup 307, 310, 313 — Printing 317 — Push Button Properties 16 — Resource Includes 309—310 — Resource Insert 273, 286, 289, 501
— контейнерной программы 528— 530 — программы AXCont 528—530 Диалоговые окна, графика 166 Документ составной 425 Е Единицы НIMETRIC 433 Единичный поток 181—187 3 Задача фоновая 366 Закругленный прямоугольник рисование 207—208, 228 Заливка многоугольники 176 Замкнутая фигура, рисование 207— 211 Запуск процесса 396—398 Заштрихованные изображения 172— 173, 210 Защита для потоков 363 Значение — CREATE_SUSPENDED 364—365, 376 — DKGRAY_BRUSH 169 — GRAY_BRUSH 169 — INFINITE 370 — LTGRAY_BRUSH 169 — NULL_BRUSH 169, 210, 228 — NULL_PEN 169 — OLE_COLOR 508 — ST1LL_ACTIVE 363, 365, 398 — THREAD_PRIORITY_BELOW_NOR MAL 375 — THREAD_PRIORITY_NORMAL 363 — DINT 363 — WHITE_BRUSH 169 — WHITE_PEN 169 Значок — IDI_ABOUTDLL 502 — координаты 287—288
— отображение 286—288 — рисование 211 И Идентификатор — ID_APP_EXIT 94, 117 — ID_COLOR_ 213, 215 — ID_EDIT_CANCEL_SERVER 434 — ID_EDIT_CLEAR 117—118 — ID_EDIT_COPY 406—407 — ID_EDIT_CUT 406—407 — ID_EDIT_FIND 66 — ID_EDIT_PASTE 406—407 — ID_EDIT_REPEAT 66—67 — ID_EDIT_REPLACE 66 — ID_EDIT_SELECT_ALL 66 — ID_FILE_PRINT 65, 67, 308—309 — ID_FILE_PRINT_PREVIEW 308 — ID_FILE_PRINT_SETUP 308 — ID_LINE_DOUBLE 213 — ID_LINE_SINGLE 213 — ID_LINE_TRIPLE 213 — ID_OPNONS_FONT 94 — ID_OPTIONS_DARK 33 — ID_OPTIONS_LIGHT 33 — IDB_AXCTRL 502 — IDB_BITMAP1 272, 289—290, 501 — IDB_BITMAP2 501 — IDC_BLUE 17—19, 32—33 — IDC_CANCEL 17 — IDC_DARK 17—19 — IDC_FRAME 529 — IDC_GREEN 17—19, 32—33 — IDC_LIGHT 17 — IDC_RED 16—18, 32—33 — IDC_SAMPLE 17, 32—33 — IDC_SHOWFRAME 509 — IDC_STATIC 16, 32—33 — IDD_DLGDEMO_DIALOG 16 — IDD_FORMDEMO_FORM 32 — IDI_ICON1 287 — IDR_CNTR_INPLACE 471 — IDR_SRVR_EMBEDDED 430—
437 — IDR_SRVR_INPLACE 430, 434, 437—438 — IDR_TEXTTYPE 62, 65, 68 — INT_ DARK 38 — INT_UGHT 38 — линии двойной толщины 213 — линии 213 — процесса 401 Идентификаторы растровых изображений 273, 289 Изображение кисти HS_ 173 Изображения заштрихованные 173 Импортирование значка 273—274, 286, 289—290 Имя события — внешнее 512 — внутреннее 512 Инвертирование цвета 286 — растровых изображений 280—284 Индекс — CURVECAPS 322 — HORZRES 318, 321 — HORZSIZE 322 — LINECAPS 322 — POLYGONALCAPS 322 — RASTERCAPS 279, 322 — RC_BITBLT 322 — RC_STRETCHBLT 322 — TECHNOLOGY 321 — VERTRES 318, 321—322 Инициализация — блока памяти 409 — шрифтов 90, 104 Инструменты рисования, создание 170—175 Исключения взаимные 399—400 К Канал обмена 402—403 — функция ProcessCommandLine 403— 404
Кисти, растровые изображения 172— 173 Кисть по умолчанию 167 Кисть, инициализация 170, 172—173 Клавиша — Ctrl для прокрутки 115 — End для прокрутки 115 — Esc 119 — Home для прокрутки ! 15 — Tab 119 Клавиши — PgUp и PgDn для прокрутки 115 — курсора для прокрутки 115 Класс — CAXContApp 533—536 — функция InitInstance 535—536 — CAXContDlg 536—539 — функция OnAbout 529 — функция OnClickAxctrlctrl 531 — функция OnFrame 530, 537—538 — функция OnInitDialog 537—538 — функция OnPaint 537 — CAXCtrl 539—542 — функция AboutBox 542 — функция GetBackColor 542 — функция GetShowFrame 530, 542 — функция SetBackColor 542 — функция SetShowFrame 530, 542 — CAXCtrlApp 514—516 — функция DllRegisterServer 516 — функция DllUnregisterServer 516 — функция ExitInstance 516 — функция InitInstance 516 — CAXCtrlCtrl 502, 516—523 — переменная iri_BitmapDay 502 — переменная m_BitmapNight 502 — переменная m_CurrentBitmap 502—504 — переменная m_ShowFrame 506— 507 — функция AboutBox 522 — функция DoPropExchange 507,
522 — функция OnDraw 502—503, 507—508, 521 — функция OnLButtonUp 504, 523—524 — функция OnResetState 522 — функция OnShowFrameChanged 506—507, 523 — CAXCtrlCtrlFactory, функция UpdateRegistry 519—520, 525 — CAXCtrlPropPage 523—526 — CBitDemoApp 292—295 — функция InitInstance 294—295 — CBitDemoDoc 296—298 — CBitDemoView 290—291, 301— 304 — функция OnDraw 290—291, 303—305 — CBitmap 271—272 — функция Attach 420 — функция CreateBitmap 272 — функция CreateCompatibleBitmap 271—276, 418 — функция GetObject 290 — функция LoadBitmap 271, 273— 274, 290 — функция LoadOEMBitmap 273 — CBitmapButton 278 — CBrush 170 — функция CreateHatchBrush 172, 210 — функция CreatePatternBrush 172—173, 210 — функция CreateSolidBnish 172 — CChildFrame 61—62, 81—83 — CCircle 221—222, 227—228, 247, 256—257 — функции рисования 227, 256— 257 — функция Serialize 227—228, 256 — CCircleFill 221—222, 227—228, 247—248, 257
— CClientDC 120, 167, 274 — CContDemoApp 467—468, 475— 479 — CContDemoCntrItem 469—470, 492—495 — функция OnChange 469, 493 — функция OnDeactivateUI 470, 494—495 — функция OnGetItemPosition 469—470, 492—494 — CContDemoDoc 468, 479—482 — функция Serialize 468, 482 — CContDemoView 471, 485—491 — переменная m_pSelection 471 — функция OnCancelEditCntr 471, 490 — функция OnDraw 471, 487—488 — функция OnInitialUpdate 471, 488 — функция OnInsertObject 471, 489—490 — CCriticalSection 368 —CDC 366 — функция Arc 167—169, 175—176, 202, 220 — функция BitBlt 278, 281—285, 322, 418, 420 — функция Chord 167—169, 175— 176, 208 — функция CreatePattemBrush 279 — функция DoModal 22 — функция DPtoLP 178 — функция DrawFocusRect 210 — функция DrawIcon 210 — функция DrawText 93 — функция Ellipse 167—169, 175— 176, 207—208 — функция ExtFloodFill 168, 210 — функция ExtTextOut 93 — функция FillRect 211, 280 — функция FloodFill 168, 211 — функция FrameRect 211 — функция GetAreDirection 175
— функция GetBkColor 92, 175 — функция GetBkMode 92, 175 — функция GetBrushOrg 175 — функция GetClipBox 92, 320 — функция GetCurrentPosition 175 — функция GetDeviceCaps 279, 318, 322—323 — функция GetMapMode 91—92, 175 — функция GetPixel 180 — функция GetPolyFillMode 175 — функция GetROP2 175 — функция GetTextAlign 92 — функция GetTextCharacterExtra 92 — функция GetTextColor 92 — функция GetTextExtent 124 — функция GetTextMetrics 89—92, 103—105, 123 — функция GrayString 93 — функция InvertRect 211 — функция LineTo 201—202 — функция LPtoDP 178 — функция MoveTo 201 — функция PatBlt 280—281, 322 — функция PolyBezier 168, 176, 204—206 — функция PolyBezierTo 168, 205 — функция PolyDraw 211 — функция Polygon 168, 175—176, 209—211 — функция Poly Line 168, 201, 209—211 — функция PolyLineTo 168, 176, 201 — функция PolyPolygon 168, 210 — функция PolyPolyline 176, 202 — функция Rectangle 168, 176, 207—208 — функция RoundRect l68, 176, 207—208 — функция SelectObject 89, 173— 174, 275—276
— функция SelectStockObject 106, 169, 210 — функция SetAreDirection 175, 202 — функция SetBkColor 91, 175, 206, 210 — функция SetBkMode 91—92, 175, 206, 210 — функция SetBrushOrg 175, 210 — функция SetMapMode 91—92, 175—177, 180 — функция SetPixel 180 — функция SetPixelV 180, 184 — функция SetPolyFillMode 175, 210 — функция SetROP2 175, 205—206, 210, 233—234 — функция SetScrollSizes 178 — функция SetStretchBltMode 286 — функция SetTextAlign 91, 93 — функция SetTextCharacterExtra 91 — функция SetTextColor 91—92, 104, 120 — функция SetViewportExt 177 — функция SetViewportOrg 320 — функция SetWindowExt 177 — функция SetWindow Extent 440— 441 — функция StretchBIt 282, 285— 286, 322 — функция TabbedTextOut 93 — функция TextOut 93 — функция сектора Pie 168, 175— 176, 209—210 — CDlgDemoApp 14, 23—26 — функция InitInstance 22, 24—25, 40—41 — CDlgDemoDlg 14, 19—21 — переменная m_Blue 18 — переменная m_Green 18 — переменная m_Intensity 18— 21 — переменная m_Red 18, 19
— функция OnBlue 19, 29 — функция OnDark 19, 29 — функция OnGreen 19, 29 — функция OnInitDialog 19—21, 27—28 — функция OnLight 18—19, 29 — функция OnPaint 20—21, 27—28 — функция OnRed 19, 28 — CDocument — функции DeleteContents 64 — функция UpdateAUViews 67, 103, 108—109, 121, 469 — CEchoApp 149—153 — функция InitInstance 150—151 — CEchoDoc 119—120, 153—155 — переменная m_TextLine 119, 121 — CEchoView 119—125, 159—163 — переменная m_CaretPos 122 — переменная m_XCaret 122 — переменная m_YCaret 122 — функция OnChar 89, 119—120, 124—125, 162 — функция OnCreate 122—124, 162—163 — функция OnDraw 120—121, 125, 161 — функция OnEditClear 119, 121, 125—126, 162 — функция OnKillFocus 122, 124, 163 — функция OnSetFocus 123—124, 163 — CEditView 67, 408 — CEvent 368 — CFigure 219—228, 245—248 — переменная m_Color 221 — переменная m_Thickness 222 — функции рисования 222 — функция GetDirnRect 222—223, 252—253 — функция Serialize 222, 252 — CFont 96
— переменная m_Font 95, 103 — функции DeleteObject 104 — CFontDialog 103—104 — переменная m_lf 104—105 — функции DoModal 103—104 — функции GetSize 104 — функция GetColor 104 — функция GetFaceName 104 — CFormDemoApp 39—43 — CFormDemoDoc 43—45 — CFormDemoView 31, 36—38, 48— 54 — переменная m_Blue 33 — переменная m_DialogBrush 38 — переменная m_Green 33 — переменная m_Intensity 37— 38 — переменная m_Red 33 — функция OnBlue 35, 54 — функция OnDraw 54 — функция OnGreen 35, 53 — функция OnInitialUpdate 36—37, 51 — функция OnOptionsDark 34—35, 52 — функция OnOptionsLight 34, 52— 53 — функция OnRed 34—35, 53 — функция OnUpdateOptionsDark 34, 52 — функция OnUpdateOptionsLight 34, 53 — CFormView 30 —CFrameWnd 60—62 — функция GetActiveView 181 — функция LoadFrame 61 — CGdiObject 366 — переменная m_h0bject 418 — функция Attach 272 — функция DeleteObject 317 — функция Detach 418, 420 — функция GetObject 104, 279, 420 — CInPlaceFrame 429, 433, 460—463
— переменная m_WndResizeBar 433 — функция OnCreate 433 — CLine 219, 223—224, 437—438, 245, 252—253 — функция GetMaxX 437—438 — функция GetMaxY 438—439 — функция Serialize 223, 252 — CMainFrame 45—48, 61, 75—77, 155—158, 298—301, 378—379, 386—388 — функция OnSysCommand 379, 388 — CMandelApp 181, 187—190 — функция InitInstance 189—190 — функция OnIdle 181, 192 — функция OnIdle — CMandelDoc 192—193 — CMandelMTApp 379—383 — CMandelMTDoc 383—386 — CMandelMTView 373—376, 389— 394 — переменная m_PDrawThread 373—375 — функция DrawFractal 376—377, 391—392 — функция InitInstance 367 — функция OnDraw 375—376, 392—393 — функция OnSize 375, 393—394 — CMandelView 182—186, 196—202 — функция DrawCol 182—185, 201—202 — функция OnDraw 181, 186, 200 —функция OnSize 185, 201 —CMDIChildWnd 61—62 — CMDIFrameWnd 60, 62 — CMenu 366 — функция AppendMenu 279 — функция SetMenuItemBitmaps 279 — CMiniDrawApp 215—218, 235— 245, 310, 324—335
— переменная m_CurrentColor 216, 238 — переменная m_IdxColorCmd 216, 238 — функция OnUpdateColorBlack 163, 215—216 — функция OnUpdateColorBlue 163, 215—216 — функция OnUpdateColorCustom l64, 215, 217 — функция OnUpdateColorGreen 164, 215, 217—218 — функция OnUpdateColorMagenta 215, 217, 243—244 — функция OnUpdateColorRed 215, 217, 245 — функция OnUpdateColorWhite 215, 217—218, 245 — функция OnUpdateColorYellow 215, 218, 245 — функция InitInstance 238—239 — функция OnColorBlack 163, 215—216 — функция OnColorBlue 163, 215— 216 — функция OnColorCustom 163, 210—218 — функция OnColorCyan 164, 215, 217 — функция OnColorGreen 164, 215, 217 — функция OnColorMagenta 164, 215, 217 — функция OnColorRed 215, 217, 245 — функция OnColorWhite 215, 245 — функция OnColorYellow 215, 218, 245 — функция OnPreparePrinting 310— 312 — CMiniDrawDoc 228—229, 246— 257
— функция AddFigure 228—229, 234, 251 — функция AddLine 228—229 — функция DeleteContents 251— 252 — функция GetFigure 229, 251 — функция GetLine 228—229 — функция GetNumFigs 228—229, 251 — функция GetNumLines 228 — функция OnEditClearAll 252 — функция OnEditLlndo 252 — функция OnUpdateEditClearAll 252 — функция OnUpdateEditUndo 252 — CMiniDrawView 230—235, 261— 269, 310—312, 314—315, 318— 323, 349—358 — переменная m_PenDotted 230 — функция OnBeginPrinting 318— 319 — функция OnDraw 234—235, 263—264, 320—322, 352—353 — функция OnInitialUpdate 314— 315, 357 — функция OnLButtonDown 264— 265 — функция OnLButtonUp 232—234, 267—268 — функция OnMouseMove 230— 232, 265—267 — функция OnPrepareDC 318—321, 358 — CMiniEditApp 60, 68—73 — функции AddDocTemplate 63, 71 — функция InitInstance 70—71 — CMiniEditDoc 60, 73—75 — функция Serialize 75 — CMiniEditView 77—81 — для MDI—приложения 63 — функция OnDraw 80
— CMultiDocTemplate 62—63 — CMultiLock 368 — CMutex 368 — CMyDialog, функция OnPaint 166 — CObject 222 — COleClient, функция Close 471 — COleClientItem, функция CBlock 471 — COleControl — функция GetBackColor 508 — функция InvalidateControl 504, 507 — COleDocument 468 — COleIPFrameWnd 433 — COleServer, функция OnDeactivateUI 434 — COleServerDoc 432 — функция OnGetEmbeddedItem 432—433 — функция UpdateAllItems 439— 440 — COleServerItem 433 — COleTemplateServer — переменная m_server 430 — функция ConnectTemplate 430 — функция RegisterAll 431 — функция UpdateRegistry 431— 432 — CPaintDC 166, 274 — CPen 170 — функция CreatePen 170, 172, 178 —CPrintInfo 311 — переменная m_bContinue Printing 317—318 — переменная m_NumCols 318— 319 — переменная m_PageHeight 320 — переменная m_PageWidth 318— 320 — функция SetMaxPage 312, 317— 318 — CProgView, функция
OnUpdateEditPaste 413, 419 — CRect — переменная m_RectSample 20— 21, 36—38 — функция InflateRect 20 — CRectangle 219—220, 222, 224— 225, 247 — функции рисования 224—225, 253—254 — функция Serialize 224, 253 — CRectFill 220, 222, 225, 247, 254 — функции рисования 225, 254 — CRectRound 220, 222, 225—226, 228, 247 — функции рисования 226, 255 — функция Serialize 226, 255 — CRectRoundFill 220—222, 226— 227, 247, 255—256 — функции рисования 227, 255— 256 — CScrollView 30, 319 — функция OnPrepareDC 167, 319—320 — функции OnUpdate 110 — функция GetTotalSize 116 — функция ScrollToPosition 109 — функция SetScrollSizes 109 — CSemaphore 368 — CServDemoApp 442—446 — функция InitInstance 432, 444— 445 — CServDemoDoc 432—433, 447— 453 — функция DeleteContents 452 — функция GetDocSize 438—439 — CServDemoSrvrItem 429, 433, 441, 463—466 — CServDemoView 433—434, 438— 441, 455—460 — функция OnCancelEditSrvr 433— 434, 471 — функция OnDraw 458
— функция OnLButtonUp 439—440, 460 — CServDemoSrvrItem — функция OnGetExtent 433, 465 — функция OnDraw 433, 439—441, 465—466 — CSingleDocTemplate 62—63 — функция SetContainerInfo 467— 468 — функция SetServerInfo 430 — CSingleLock 368 — CString 96 — функция Empty 121 — CSyncObject 368 — CTcxtDemoApp 125—130 — функции Initlnstance 110, 128— 129 — CTextDemoDoc 95—107, 130—140 — массив m_LineTable 93, 95—104, 133—140 — переменная m_Color 90, 95, 104 — функция OnOptionsFont 95—107, 109, 133—140 — CTextDemoView 88—93, 107— 109, 143—149 — функция OnDraw 88—92, 104— 105, 145—146 — функция OnKeyDown 110—116, 147—149 — функция OnUpdate 108—109, 146—147 — CView — функция OnBeginPrinting 317— 318 — функция OnEndPrinting 317 — функция OnFilePrint 310, 316 — функция OnFilePrintPreview 310, 316 — функция OnPrepareDC 120, 317 — функция OnPreparePrinting 310, 317—318 — функция OnPrint 317
— CWinApp — функция ProcessCommandLine 361, 396—398 — переменная m_pMainWnd 61, 181 — функция EnableShellOpen 64, 430 — функция LoadIcon 286—287 — функция LoadOEMIcon 287 — функция LoadStandardIcon 287 — функция OnFilePrintSetup 310 — функция ProcessCommandLine 396, 399—402, 406—422 — функция ProcessShellCornmand 431 — функция RegisterShellFileTypes 64, 431 — CWindowDC 167 —CWinThread 364—367 — функция GetThreadPriority 365 — переменная m_bAutoDelete 366, 376 —функция ResumeThread 364—365, 376 — функция SetThreadPriority 365 — функция SuspendThread 364 — CWnd: 62, 366 — функция CreateSolid Caret 123 — функция DragAcceptFiles 64, 432 — функция DrawIcon 287 — функция FromHandle 378 — функция GetClientRect 116, 178 — функция GetMenu 279 — функция GetParentFrame 186 — функция.hideCaret 124 — функция InvalidateRect 19 — функция Islconic 184 — функция MoveWindow 178 — функция OnEditCopy 407, 411— 413, 417—418 — функция OnEditCut 407, 413 — функция OnEditPaste 407, 415— 416, 419—420 — функция OnUpdateEditCopy
407—408, 417 — функция OnUpdateEditCut 407— 408, 417 — функция OnUpdateEditPaste 407 — функция OpenClipboard 408, 410, 413, 417, 419 — функция ScrollWindow 178 — функция SendMessage 114 — функция SetCaretPos 124 — функция SetWindowText 109 — функция ShowCaret 124 — функция ShowWindow 61 — функция UpdateWindow 18—19, 61 — GWinThread, переменная m_hThread 365, 372 Класс—упаковка контейнерной программы 529 Классы MFC — функция AfxGetApp 287 — функция LineTo 167—168, 176 — функция MoveTo 176 — функция PX_Bool 507 Классы приложения для контейнеров OLE 467—468 Ключ PrtSc 110 Ключи переключения, проверка 114 Кнопка, свойства 16 Кнопка OCX 529 Кнопка панели инструментов — команда Copy 407 — команда Paste 407 — команда вырезания Cut 407 Код — виртуальной клавиши —VK_NEXT 112 —VK_PRIOR 112 — для сервера в OLE 428—429, 434—441 — завершения потоков 363 — клавиши — Ctrl 114
— End 111, 114 — Home 111, 114 — Shift 114 — VK_CAPITAL 114 — VK_DOWN 112 — VK_END 112 — VK_HOME 112 — VK_LEFT 112 — VK_RIGHT 112 — VK_SHIFT 114 — VK_UP 112 — растровой операции — BLACKNESS 280 — DSTINVERT 280 — MERGECOPY 282 — MERGEPAINT 282 — NOTSRCCOPY 282 — NOTSRCERASE 282 — PATCOPY 280 — PATINVERT 280 — PATPAINT 282 — SRCAND 282, 284 — SRCCOPY 279, 282—283, 285 — SRCERASE 282 — SRCFAINT 282 — SRCINVERT 284 — WHITENESS 280 Коды SB_ 114—115 Коды завершения процессов 398— 399 Коды клавиш PgUp и PgDn 112 Коды функциональных клавиш 113 Команда — Arrange Icon 58 — Copy 68 — буфер обмена 406—407 — графика 417—418 —текст 408—413 — Cut — буфер обмена 406—407 — графика 417—418 —текст 408—413
— Dark Colors 33 — Delete 407 — Find 66—67 — Find Next 66—67 — Insert New Object 426 — Light Colors 33 — Link Paste 427 — Open 66 — Paste 68 — буфер обмена 406—407 — графика 419—422 — текст 413—416 — Print, 307—310 — Print Preview 307—310 — Print Setup 307—310 — Print в программе MiniEdit 66 — Replace 66 — Save Copy As 436 — Select All 66 — Special Paste 426—427 — Update 436 Командные строки для процессов 398 Комбинации клавиш буфера обмена 406 Компоненты ActiveX — значок 502 — исходные файлы 499—500 — контейнерные программы 527— 529 — методы 498, 511 — настраиваемые свойства 505—508 — построение 513 — программа AXCont 527—529 — растровые изображения 501—503 — свойства 498, 504—511 — события 511—513, 498 — сообщения и обработчики сообщений 503—504 — стандартные свойства 504—505 Компоненты AXCtrl, свойство ShowFrame 505—508 Контейнер OLE 466—467
— класс документа 468 — классы представления 471 — ресурсы 471—472 Контейнер и сервер, опции 428 Контейнерные программы 498, 526 — исходные файлы 526—527 Координаты — для растровых изображений 278 — логические, преобразование 178 — рисунка 180 — устройства 177—180 — фигур 221 Копирование — в буфер обмена 408—413, 417— 418 — графика 417—418 — значка 68 — значков 68 — пунктов меню 66 — клавиша Ctrl 66 — текста 408—413 — растровые изображения 417—418 Кривые и искривленные линии 167, 202—206, 322 Кривые, рисование 202, 204—206 Круг, рисование 207—208 Л Линии прямые 201—202 Линии пунктирные 210, 230 Линия — работа с устройством 322 — режимы отображения 205—206 — рисование 167, 201—202 Логические координаты 177—180 — функция BitBlt 178 — режим проекции 178 — ширина пера 171 М Макрос — BEGIN_PROPPAGEIDS 511 — IMPLEMENT_SERIAL 315
— PROPPAGEID 511 — RGB 171—172 Массив ColorTable 184 Массивы для хранения текста 95— 104 Мастер — AppWizard 13—15 — класс документа OLE 432—433 — класс представления OLE 433— 434 — класс приложения OLE 429—432 — класс элемента сервера OLE 433—434 — контейнер OLE 466—467 — сервер OLE 428—429, 434 — ClassWizard 510 — Control Wizard 500 Меню — Edit 66—67 — буфера обмена 406—407 — команда Clear 116—117 — команда Copy 68 — команда Paste 68, 273 — команда Clear 407 — команда Insert New Object 426, 472 — команда Object 427—428 — команда Paste Link 427 — команда Paste Special 426—427 — File — команда New 56, 64 — команда Open 56 — команда Print 58 — команда Save 58 — команда Save As 58 — команда Save Copy As 436 — команда Update 436 — Image команда Delete Device Image 68 — Options — команда Dark Colors 33 — команда Light Colors 33
— Tab Order, команда Layout 18 — контейнера OLE 471—472 — программы ServDemo 435— 438 — редактирования OLE на месте 437—438 Метафайлы 433 Метки меню, перемещение 281—285 Метод About 511 Многопотоковый режим 372—379 — завершение 364—365 Многоугольник, рисование 209—211 Множественные потоки, управление 361—367 Мьютексы 369 — для потоков 368—371 — сопоставление имен С с C++ 369 Н Начало координат — для кисти 175—176 — области представления в режимах проекции 178 Нежелательное мерцание 121 Номер версии 315 О Область — вырезаемая 321 — недействительная 19 — обновления 92 — печати 318—321 — размер 314—315, 318—321 — представления, начало координат 319—321 — заполнение 210—212 Обработчик — UPDATE_COMMAND_UI 33, 214—215 — сообщения BN_CLICKED 18, 19, 33 — сообщения WM_CHAR 118—119 — сообщения WM_CREATE 122 — сообщения WM_KILLFOCUS 122
— сообщения WM_LBUTTONUP 504 — сообщения WM_SETFOCUS 122 — сообщения клавиши Alt 110 — сообщения прокрутки 114—115 Обработчики сообщений — компонентов ActiveX 503—504 — контейнерных программ 531—533 — программы AXCont 530—532 Общее диалоговое окно Insert Object 471—473 Объект —GDI 167 —OLE 428 — OLE, редактирование 425—428 — графический 167 — контекста устройства 89, 165— 167, 201, 273—276, 279—280, 274— 276, 311, 317, 319—320 — для кисти 170, 173—174 — для потоков 362 — для шрифтов 109 — для пера 170, 173—174 — синхронизации 368—371 — шаблона сервера 430 Окна — активные 110 — в MDI—приложениях 56—58 — дочерние активные 110 — и потоки 361 — каскадные 58 Окно — дочернее активное 56—58 — предварительного просмотра 310, 313, 323 — редактора меню 65 Оператор new 414 Операция — AND 282, 284 — OR поразрядная 282 —XOR 282 Опции мини—сервера 428 Опция
— Add Property 505—506 — Container 428, 466 — Debug Multithreaded 362 — Debug Multithreaded DLL 362 — Display A Frame Around The Picture 529 — Full—Server 428—429 — Import 273, 290 — MFC ActiveX ControlWizard 499 — Minimize Box 16 — Multiple Documents 58 — Multithreaded 362 — Multithreaded DLL 362 Отображение файла 404—405 П Палитра 167 Память — для буфера обмена 408—416 — для потоков 361 — для процессов 404—405 — для функция ProcessCommandLine класса CWinApp 404—405 — блокирование 408, 411, 413, 415 Панель инструментов 407 Параметр — ANSI_FIXED_FONT 107 — ANSI_VAR_FONT 107, 109 — BLACK_PEN 167—169 — COLOR_WINDOWTEXT 120 — DEVICE_DEFAULT_FONT 106— 107 — DwCreateFlags 364—365 — IpSecurityAttrs 363 — nIndex — функции SelectStockObject 106 — функция CreateHatchBrush 172 — функция SelectStockObject 169 — nPriority 363 — nStackSize 363 — OEM„FIXED_FONT 106—107 — pfnThread Proc 363 — pParam 363
— SYSTEM_FIXED_FONT 106—107 — SYSTEM_FONT 106—107 — m_nCurPage 320 Переопределение виртуальных функций 315—321 Перо 167—168 — инициализация 170—171 — режимы отображения 167 Перья по умолчанию 167 Печать 279 — и предварительный просмотр 310—313 — возможности устройства 322— 323 — класс CMainFrame 345—348 — класс CView 315—318 — ресурсы 308—309 — разрешающая способность 322 — режимы отображения 358—359 Поле — ID 273 — LOGFONT — высота текста 96, 134 — декоративный шрифт 99, 136 — зачеркнутый текст 97, 134 — знаки OEM 135 — качество текста 98, 135 — курсивный стиль 96, 134 — ориентация текста 96, 134 — переменный шаг текста 99 — символы по умолчанию 97, 135 — стиль с подчеркиванием 96, 134 — точность вырезания текста 98 — фиксированный текст 99 — шаг текста 99, 135—136 — шрифты Modern 99, 136 — шрифты Roman 99, 136 — шрифты Script 99, 136 — шрифты Swiss 99, 136 — TEXTMETRIC 138 — высота текста 99 —декоративный шрифт 101, 139
— зачеркнутый текст 139 — знаки ANSI 102 — курсивный стиль 101, 139 — набор знаков ANSI 140 — набор знаков OEM 102, 140 — переменный шаг текста 139 — перечеркнутый текст 101 — представление текста 139 — символы по умолчанию 102— 103 — стиль с подчеркиванием 101, 139 — текст с переменным шагом 101 — TEXT—METRIC — шаг текста 139 — ширина текста 100, 138 — шрифты Modem 102, 139 — шрифты Roman 102, 140 — шрифты Script 102, 140 — шрифты Swiss 102, 140 — прерывание 101 Поля tm (TEXTMETRIC) 90—91 Порядок печати 320—321 Построение и тестирование контейнерных программ 530 Поток — заблокированный 370 — рабочий 367 — родительский 368 — ввод—вывод 372 — завершение 364—365 Потоки 361 — асинхронные 367 — интерфейса пользователя 367 — первичные 361, 367 — потребители 368 — указатели 363 Почтовый ящик 403 Преобразование, SDI—приложения в MDI 64—65 Принцип WYSIWYG (What You See Is What You Get) полного соответствия при отображении
179 Приоритетный многопотоковый режим 367 Приоритеты потоков 363, 365 Проверка состояния клавиши — Caps Lock 114 — Scroll Lock 114 Программа —AXCont 524 — исходные файлы 526—527 — класс—упаковка 530 — построение и тестирование 531 — сообщения и обработчики сообщений 530—531 — BitDemo 288—291 — ContDemo — класс CMainFrame 482—485 — класс документа 468 — класс контейнера 469—470 — класс представления 471 — класс приложения 467—468 — построение и управление 472— 476 — ресурсы 471—472 — DlgDemo — генерация 13—15 — класс приложения 15 — настройка 16—22 — элементы управления 16—18 — Echo 116—117 — значок 117—118 — команда Clear 116—118 — меню Edit 117—118 — ресурсы 117—118 — FormDemo 30—31 — генерация 31—32 — настройка 38—39 — элементы управления 32—33 — Mandel — вторичные потоки 372—379 — значок 186 — класс CMainFrame 194—197
— многопотоковая версия 372—379 — потоки 372—379 — MandelMT 372—379 — файл MainFrm.cpp 387—389 — файл MainFrm.h 386—387 — MiniDraw 219—228, 310, 307—323 — класс CMainFrame 258—261 — меню 212—215 — Color 212—214 — Line Thickness 211—214 — Options 212—213 — обработчики сообщений 215— 218 — ресурсы 212—215 — MiniEdit — значок 67—68 — классы и файлы 60—64 — команд Print 67 — команда New Window 67 — комбинации клавиш 67 — меню ,65—68 — Edit 58 — File 56, 58 — Window 67 — ресурсы 65—68 — RegEdit exe 432 — ServDemo — класс CMainFrame 453—455 — меню Edit 436—438 — TextDemo 86 — генерация кода 88—93 — диалоговое окно Font 94—107 — значки 94 — класс CMainFrame 140 — меню Options 94 — отображение текста 88—93 — прокрутка 107—109 — файл MainFrm.cpp 141—143 — файл MainFrm.h 140 — диалоговая 12—13 — генерация 13—15
— просмотра формы — дополнительные возможности 30—31 — класс документа 30 — класс представления 30 — мастер AppWizard 31—32 — настройка 38—39 — прокрутка 30 — фрактала 181—187 Пропуски строк 93 Пропуски текста 92 Процесс — дочерний 397—398 — родительский 397—398 — приоритеты 398 Процессы, события 400—401 Прямоугольник — ограничивающий 222 — размер 222 — заполнение 211 — работа с устройством 322 — рисование 207—208 Р Рабочий поток, вторичный 367 Размер — буфера 409, 414 — значка 286 — метки меню 274, 278, 280, 285— 286, 290 — рисунков 178 — стеков потока 363 —фигур 221—222 — шрифта 89—91, 109—110 Размещение — данных 221 — кистей 176 — рисунков 180 Растровые — изображения 271, 283—285 — переключающиеся 285 — совместимые 274
— анимация 283—285 — белый цвет 280 — высота 274, 279—280, 290 — загрузка 273—274 — закрашивание 280—281 — значки 286—288 — импортирование 273, 289—290, 502 — инициализация 273—274, 290 — кисти 280 — кнопки 279 — копирование 281—285 — маски 283—285 — метки меню 279 — отображение 277—278 — перемещение 281—285 — проектирование 289—290 — размер 274, 279—280, 285—286, 290 — размещение 279 — режимы отображения 279 — рисование 273—276 — свойства 273 — создание 271—278 — функции рисования 273—278 — цвет 280—281 — шаблоны 280—282 — ширина 274, 279—280, 290 — элементы управления 278 Расширение — .bmp 273, 290, 502 — .dib 273, 290 — .ico 286 — .ocx 498 Регистрация информации сервера OLE 431—432 Редактирование OLE, полностью открытое 427 Редактор диалоговых окон 16 Режим — OPAQUE 206 — TRANSPARENT 206
— многопотоковый 361 — отображения — MM_ANISOMETRIC 359, 441 — MM_HIENGLISH 359 — MM_HIMETRIC 359 — MM_ISOMETRIC 359 — MM_LOENGLISH 359 —MM_LOMETRIC 359 — MM_TEXT 279 —для печати 358 — MM_TWIPS 359 — проекции — MM_ANISOMETRIC 177, 179 — MM_HIENGLISH 177, 179 — MM_HIMETRIC 177, 179 — MM_ISOMETRIC 177, 179 — MM_LOENGLISH 177, 179 — MM_LOMETRIC 177, 179 — MM_TEXT 176—179 — MM_TWIPS 177, 179 — измерение 177—180 — координаты 177—180 — начальный выбор 177—178 — пикселы 177 — рисования — R2_ 205—206 — RC_COPYPEN 206 — RC_NOTCOPYPEN 206 — белый цвет 206 — инвертирование цвета 205—206 — фона OPAQUE 91 — фона TRANSPARENT 91 Режимы отображения для текста 91—92 Ресурс — IDD_ABOUTBOX_AXCTRL 511 — IDD_PROPPAGE_AXCTRL 509 Ресурсы для потоков 361—362 Рисование линии 167, 201—202 Рисование — координаты 180—181, 202 — работа с устройством 322
— режимы отображения 175—180, 205—206 Рисунки, сообщения и обработчики сообщений 215—218 Рисунок, размер 314—315, 318—321 С Свойство Backcolor 504—505, 529 Связывание в OLE 427—428 Связывание и внедрение объектов 425, 427—428 Секции критические 370—371 Семафоры 400—401 — потоков 370—371 Сервер OLE — класс документа 432—433 — класс представления 433—434 — класс приложения 429—432 — ресурсы 434 — функция Initlnstance 429 Сервер автоматизации, свойства 428 Серверы OLE 427—428 Серверы автоматизации, методы 428 Сериализация 315 Синхронизация 369—370 — потоков 367—372 — процессов 399—402 — вторичные потоки 367—372 — многопотоковый режим 367—372 Собственные объекты синхронизации 370 События для потоков 370—371 Создание — инструментов рисования 170—175 — кисти 170—175 — пера 170—175 Сообщение — WM_CHAR 112—113, 116—121 — WM_KEYDOWN 110—116 — WM_MOUSEMOVE 179 — WM_PAINT 166 — WM_SIZE 179, 182, 185, 374
— WM_SYSCOMMAND 378—379 — WM_SYSKEYDOWN 110 — WM_VSCROLL 114—115 — WM_HSCROLL 115 Сообщения и обработчики сообщений клавиатуры 110 Сообщения мыши 179 Сопоставление — имен процессов С и C++ 398 — имен событий в С и C++ 512 — редактирования на месте и полностью открытого 426—427 Состояние синхронизации 369—370 Сплайны Безье 203—206 — контрольные точки 203—206 Стеки для потоков 363 Стили пера PS_ 171—207, 210, 228 Стиль линии 171, 205—206 Стиль пера 171 Страница свойств Color 529 Страницы свойств 509—511 Страницы свойств по умолчанию 529 Структура — BITMAP 278, 420 — BITMAPCLIP 420 — LOGFONT 95—99, 104—105 — LPPROCESSJNFORMATION 401 — POINT 180, 203—205, 210 — PROCESS_INFORMATION 398— 399 — SECURITY_ATTRIBUTES 404 —TEXTMETRIC 90, 99—103, 105, 137—140 Т Таблица соответствия сообщений 310, 326, 351 Текст 86 — сжатый 91 — атрибуты 90—92 — выравнивание 91—93 — вырезание 408—413
— координаты 93 — отображение 86—93 — размер 104 — размещение 93 — сохранение 95—107 — удаление 408—413 — цвет 90—92, 104, 120 — цвет фона 90—92 Текстовое поле — Compile Time Directives: 309 — File Extension: 58 — Type Name 58 Точка, рисование 180 Точки выравнивания текста 92—93 У Управление потоком 361—367 Ф Файл — Afxdisp.h 526 — Afxole.h 430 — Afxolecl.rc 471 — Afxolesv.rc 434 — AXCont.cpp 533—535 — AXCont.h 532—533 — AXContDlg.h 535—536 — AXCtrl.cpp 514—515, 540—542 — AXCtri.h 513—514, 539—540 —AXCtrl.ocx 513 — AXCtrlCtl.cpp 518—523 — AXCtrlCtl.h 502, 515—518 — AXCtrlPpg.cpp 524—525 — AXCtrlPpg.h 523—524 — BitDemo.cpp 293—295 — BitDemo.h 292—293 — BitDemoDoc.cpp 297—298 — BitDemoDoc.h 296—297 — BitDemoView.cpp 303—305 — BitDe moView.h 301—303 — ChildFrm.cpp 83—84 — ChildFrm.h 81—82 — CntrItem.cpp 493—496
— CntrItem.h 492—493 — ContDemo.cpp 476—479 — ContDemo.h 475—476 — ContDemoDoc.cpp 480—482 — ContDemoDoc.h 479—480 — ContDemoView.cpp 487—491 — ContDemoVicw.h 485—487 — Day bmp 502 — DlgDemo.cpp 24—30 — DlgDemo.h 23—24 — DlgDemoDlg.cpp 27—30 — DlgDemoDlg.h 25—26 — Echo.cpp 150—153 — Echo.h 149—150 — EchoDoc.cpp 154—155 — EchoDoc.h 153—154 — EchoView.cpp 160—163 — EchoView.h 158—160 — FormDeino.cpp 40—43 — FormDemo.h 39—40 — FormDemoDoc.cpp 44—45 — FormDemoDoc.h 43—44 — FormDemoView.cpp 51—54 — FormDemoView.h 49— 50 — IpFrame.cpp 461—463 — IpFrame.h 460—461 — MainFrm.cpp 47—48, 77—78, 157—158, 300— 301, 347—349, 484—485, 454— 455 — программа Mandel 195—196 — программа MiniDraw 258—261 — MainFrm.h 46—47, 76—77, 155— 156, 299—300, 346—347, 453— 454, 482—483 — программа Mandel 194—195, 258—260 — Mandel.cpp 187—190 — Mandel.h 186 — MandelDoc.cpp 192—193
— MandelDoc.h 191—192 — MandelMT.cpp 380—383 — MandelMT.h 379—380 — MandelMTDoc.cpp 384—386 — MandelMTDoc.h 383—384 — MandelMTView.cpp 390—394 — MandelMTView.h 389—390 — MandelView.cpp 198—201 — MandelView.h 196—198 — MiniDraw.cpp 237—245, 326—334 — MiniDraw.h 235—236, 324—325 — MiniDrawDoc.cpp 249—257, 338— 345 — MiniDrawDoc.h 245—249, 334— 337 — MiniDrawView.cpp 262—269, 351—359 — MiniDrawView.h 261—262, 349— 351 — MiniEdit.cpp 69—73 — MiniEdit.h 68—69 — MiniEditDoc.cpp 74—75 — MiniEditDoc.h 73—74 — MiniEditView.cpp 80—81 — MiniEditView.h 78—79 — Night.bmp 502 — ServDemo.cpp 442—446 — Sen'Demo.h 441—442 — ScrvDemo.reg 432 — ServDemoDoc.cpp 449—453 — ServDemoDoc.h 446—448 — ServDemo View.cpp 457—460 — ServDemoView.h 455—457 — Srvrltcm.cpp 464— 466 — SrvrItem.h 463—464 — StdAfx.h 430 — TextDemo.cpp 127—130 — TextDemo.h 125—127 — TextDemoDoc.cpp 131—140 — TextDemoDoc.h 130—131 — TextDemoView.cpp 144—148 — TextDemoView.h 143—144
Файлы, расширения по умолчанию 58 Фигуры замкнутые 207—211 Флаг — DT_RASDISPLAY 321 — GMEM_DDESHARE 409 — GMEM_MOVEABLE 409 — GMEM_ZEROINT 409 Фокус ввода 110 — окна 123—124 Формат — CF_BITMAP 417, 418—419, 420 — CF_OEMTEXT 414 — CF_TEXT 411, 414, 420 — CF_UNICODETEXT 414 — буфера обмена 411 413—414, 418—422 Функция — _beginthread 362 — _beginthreadex 362 — AfxEnableControlContainer 526 — CloseHandle 370—371 — CreateEvent 371 — CreateFile 372 — CreateFont 104 — CreateFontIndirect 103, 104 — CreaieMutex 369—371 — CreateProcess 372 — CreateSemaphore 371 — CreateThread 362 — DeleteCriticalSection 371 — DestroyCaret (API) 123 — DisplayBitmap 277—278 — DisplayDrawing 284 — DoPreparePrinting 311 — DrawBitmaplmage 273—276 — EnterCriticalSection 371 — FindFirstChangeNotification 372 — Fire 511—513 — GetAsyncKeyState (API) 114 — GetExitCodeThread 365—366 — GetKeyState (API) 114
— GetLength 109 — GetStdHandle 372 — GetSysColor (API) 120 — GetSystemMetrics 288 — GetTextMetrics 109 — InitializeCriticalSection 371 — LeaveCriticalSection 371 — MessageBeep 119 — MsgWaitForMultipleObjects 372 — OnDraw 174—175, 307, 312, 317, 320—322 — OpenProcess 372 — PulseEvent 371 — ReleaseMutex 369—371 — ReleaseSemaphore 371 — ResetEvent 371 — SetEvent 371 — SetRadio 35 — Sleep (API) 372 — TerminateThread 364 — Thread Function 363 — TranslateColor 508 — WaitForMultipleObjects 370—371 — WaitForSingleObject 369—372, 376 — WinMain, параметр IpCmdLine 398 — выравнивания текста 91—93 — рисования, — белый цвет 215, 217—218, 245 — голубой цвет 215—217 — желтый цвет 215, 245 — зеленый цвет 215, 217—218 — красный цвет 215, 217, 245 — пурпурный цвет 215, 217, 243— 244 — синий цвет 215—216 — черный цвет 206, 215—216 Ц Цвет — заливки 210 — значка 286 — кисти 172 — линии 171—172, 205—206
Цвет — пера 171—172, 205—206 — пикселей 180, 205—206, 280, 282—284 — рисунка 175, 180, 184 — фона для рисунков 175 — инвертирование 211 Цвета смешанные 172 Ч Черный цвет для пера и кисти 167— 169 Черный цвет для растров 281 Чтение символов клавиатуры 110 ш Шаблон IDD_DLGDEMO_DIALOG 22 Шаблоны для кисти 172—173, 210 Ширина области печати 318—321 Ширина пера 170—171 — измерение 171
Шрифт — по умолчанию 107 — стандартный 106—107 — размер 104 Штриховка — вертикальная 173 — перекрестная 173 — по диагонали 173 Э Элемент управления AXCtrl — значок 502 — исходные файлы 499—502 — методы 511 — построение 513 — растровые изображения 501—503 — свойства 504 — свойство ShowFrame 504— 508 — события 511—513 — страницы свойств 508—511