Программирование под Win32


Программирование для Windows с помощью библиотеки объектов OWL - стр. 75


Как уже отмечалось, графики рисуются относительно нижней границы окна, реальное значение ко­торой зависит от текущего размера окна на экране. Необходимым элементом такой техники является вы­зов функции GetClientRect(), которая возвращает структуру wndRect типа TRect с текущими размерами рабочей (клиентной) области окна. Значение wndRect.Bottom и определяет нижнюю границу.


Глава 29

Окна и их оформление

Исходный текст программы с порожденными окнами

В примере 29-1 рассматривается организация порожденных (дочерних и всплывающих) окон, а так­же целый ряд частных, но важных вопросов организации и взаимодействия прикладных классов. Идея программы заключается в том, что на экран выводятся строки текста, в которых отдельные фрагменты выделены зеленым цветом. При прохождении курсора мыши по такому фрагменту курсор приобретает форму ладони

, а щелчок левой клавишей мыши приводит к выводу на экран небольшого окна с до­полнительной информацией по данному вопросу. Как видно из рис. 29-1, в рассматриваемом примере в главное окно выводится часть содержания настоящей книги, причем зеленым цветом в нем выделены на­звания глав. Дополнительная информация по каждой главе представляет собой перечень разделов кон­кретной главы.

//Приложение 29-1.   Дочерние и всплывающие окна

//Файл 29-1.rc

Hand CURSOR   "hand.cur"

//Файл 29-1.cpp

#include <owl\framewin.h>

/*Глобальные переменные*/

TWindow*  plain[5];//Указатели на  базовый класс  TWindow,   которые  будут

TWindow*  quest[5];//использоваться,   как указатели на  классы Plain и Quest

const   long winStyle=WS_VISIBLE|WS_CHILD;//Стиль  всех  окон для  строк

const  char*  plainStrings[]={"Глава  1","Глава  2","Глава  3","Глава  4","Глава  5"};

const  char*  questStrings[]={"Простейшее приложение  DOS",

"Объявление и использование данных","Функции","Основные  конструкции языка",

"Интегрированные  среды разработки Borland C++"}; const TPoint  plainPos[]={TPoint(10,10),TPoint(10,30),TPoint(10,50) ,//Координаты




Начало  Назад  Вперед