|
Программирование >> Программирование на языке c++
int number of children = 0; число детей int child number = 0; номер ребенка class my app : public TApplication { public: fny-appO : TApplicationO {} protected: virtual void InitMainWindow(void); }; class my child : public TMDIChild { public: TEdit* my text; my child{TMDICIient& parent); protected: virtual BOOL CanClose(void); }; my child::my child(TMDIClient& parent) : TMDIChild(parent), TFrameWindow(&parent), TWindow(&parent) { char str[50], caption[40] = I am child , ss[3]; wsprintf(str, Number of children = %d; ,number of children); Attr.Style 1= WS VSCROLL WS HSCROLL; Scroller = new TScroller(this, 200, 15, 10,50); wsprintf (ss, %d ,child number); Title = fstrdup(strcat(caption,ss)); my text == new TEdit(this, ID TEXT EDIT,str,10,10,300,200,0, TRUE); my text -> Attr.Style &= ~WS BORDER; my text -> Attr.Style &= ~WS VSCROLL; my text -> Attr.Style &= ~WS HSCROLL; BOOL my child::CanClose() { if (MessageBoxCDo you want to close? , ??? , MB YESNO) == IDYES) { -number of children; return TRUE;} else return FALSE; } class my client : public TMDIClient { public: my client() : TMDIClient() {} protected: virtual TMDIChild* lnitChild(); }; TMDIChild* my client::lnitChild(void) { TMDIChild* child; ++number of children; +-l-child number; child = new my child(*this); child -> Setlcon(GetModule(),llC1-1+number of children); return child; void my app :: InitMainWindow(void) { MainWindow = new TMDIFrame( MDI , TReslD{lDM COMMANDS),*new my client); } int OwlMain{int, char**) { return my app().Run(); } В программе был использован следующий конструктор класса TMDIFrame: TMDIFrame(const char far *title, TResID menuResld, TMDIClient &clientWnd = *new TMDIClient, TModule* module = 0); Oh строит MDI фрейм с заданным заголовком (title = MDI ) и ресурсом (menuResld = TResID(IDM COMMANDS)). Третий параметр определяет объект, который обслуживает рабочую область. Файл ресурса для нашей программы может быть представлен в таком виде: #include mdi2.h #include <owl\mdi.rh> #include <windows.h> #include <owl\window.rh> IDM COMMANDS MENU { POPUP &MDi Children { здесь используются заданные в системе имена пунктов меню MENUITEM C&reate , CM CREATECHILD MENUITEM &Cascade , CM CASCADECHILDREN MENUITEM &Tile , CM TILECHILDREN MENUITEM Arrange &lcons , CM ARRANGE1C0NS MENUITEM C&lose All , CM CLOSECHILDREN } } описание иконок 9.6.9. Пример программы для работы с графикой и стандартными диалоговыми окнами Программа использует стандартные диалоговые окна для работы с файлами. Эти окна позволяют открыть новый файл, сохранить данные в файле и прочитать данные из файла. Меню программы содержит два раздела: Figure и File. Первый раздел позволяет вычерчивать на экране такие фигуры, как прямоугольник, окружность и многоугольник (первый пункт раздела позволяет также очистить экран). Второй раздел меню поддерживает работу с файлами путем вызова стандартных диалоговых окон. #include <owl\owlpch.h> #include <ow!\applicat.h> #include <owl\framewin.h> #include <owl\opensave.h> #include <owl\dc.h> #include <owl\color.h> #include gr.rc включение соответствующего файла ресурса class TMyWindow : public TWindow { public: TMyWindow(TWindow *parent = 0); конструктор -TMyWindowO { delete DragDC; delete FileData; } деструктор
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |