2015-03-30 4 views
0

Я пишу приложение с Embarcadero RAD 2 Studio (borland) и библиотекой owlNext.Open TDecoratedMDIFrame Maximized

Там я создаю TDecoratedMDIFrame объект, который я открываю с помощью

class TMDIApp : public owl::TApplication { // ------------------------------- 

    public: 
    TMDIApp() : owl::TApplication(ProgName) {} 

    TMDIApp(const char far* name, HINSTANCE instance, HINSTANCE prevInstance, const char far* cmdLine, int cmdShow) : owl::TApplication(name, instance, prevInstance, cmdLine, cmdShow) {} 

    void InitMainWindow(); 
}; 

void TMDIApp::InitMainWindow() { // -------------------------- 
    PMAcMDI = new TMAcMDI; 
    PMW = new TDecoratedMDIFrame(ProgName, MAC_MENU, *PMAcMDI); 

    MainWindow = PMW; 
} 

int OwlMain(int, char* []) { // ------------------------ 
    return TMDIApp().Run(); 
} 

Так что, в конце концов, получить раскрылись от aplicat.cpp из owlnext библиотеки с использованием MainWindow->ShowWindow(nCmdShow);.

Однако, теперь я хочу открыть его максимально.

Я сделал некоторые исследования и пришли на PMW->WindowProc(WM_SIZE,SIZE_MAXIMIZED,0); Который, кажется, не делать ничего ...

ли кто-нибудь из вас знает, как максимизировать это окно или запустить его максимально?

ответ

0

Я нашел информацию об этой проблеме в старом Archive.org копию «Руководство OWL программиста» http://archive.org/stream/bitsavers_borlandborindowsforCVersion2.0ProgrammersGuideOct9_19152845/Borland_ObjectWindows_for_C_Version_2.0_Programmers_Guide_Oct93_djvu.txt

Там говорится:

~ ~ Вы можете изменить, как главное окно вашего приложения отображается

Задание мамы, задающей элемент данных приложения T nCmdShow, , который соответствует параметру ^/WinMain nCmdShow. Вы можете установить эту переменную, как только будет запущен

функция начинается, до момента, когда вы вызываете T. Приложение: : lnitlnstance. Это эффективно означает, что вы можете установить nCmdShow в функции InitApplication или InitMainWindow.

Например, предположим, что вы хотите, чтобы ваше окно максимально увеличивало всякий раз, когда пользователь запускает приложение. Вы можете установить nCmdShow в функции InitMainWindow:

включают ttinclude

класса TMyApplication: общественный TApplication {общественности:

TMyApplication (обугливается далеко * имя): TApplication (имя) {}

void InitMainWindow();

1; ■ ■

недействительного TMyApplication:: InitMainWindow() {

SetMainWindow (новый TFrameWindow ("Максимальное окно")); nCmdShow = SW_SHOWMAXIMIZED;

  • } INT '

OwlMain (интермедиат ARGC> символ * ARGV []) {

, возвращение TMyApplication ("Ничего себе!").Бег(); } '

nCmdShow может быть установлен на любое значение, как соответствующий (параметр в функции ShowWindow Windows, или функции члена TWindow :: Shozv, , такие как SW_HIDE, SW_SHOWNORMAL, SW_NORMAL, и так далее.

Итак, в моем случае добавление nCmdShow = SW_SHOWMAXIMIZED; внутри моего определения InitMainWindow() было достаточно.