打开TDecoratedMDIFrame最大化

时间:2015-03-30 12:38:49

标签: c++ windows owlnext

我正在使用Embarcadero RAD 2 Studio(borland)和owlNext库编写应用程序。

在那里我创建了一个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();
}

所以,最后它使用MainWindow->ShowWindow(nCmdShow);通过owlnext库的aplicat.cpp打开。

然而,现在我想打开它最大化。

我做了一些研究并且发现了 PMW->WindowProc(WM_SIZE,SIZE_MAXIMIZED,0); 哪个似乎没有做任何事......

你们中的任何人都知道如何最大化这个窗口或开始最大化吗?

1 个答案:

答案 0 :(得分:0)

我在“OWL程序员指南”的旧archive.org副本中找到了有关此问题的信息 http://archive.org/stream/bitsavers_borlandborindowsforCVersion2.0ProgrammersGuideOct9_19152845/Borland_ObjectWindows_for_C_Version_2.0_Programmers_Guide_Oct93_djvu.txt

它说:

  

~~您可以通过

更改应用程序主窗口的显示方式      

指定mam设置T Application数据成员nCmdShow,   它对应于^ / WinMain参数nCmdShow。你可以设置   这个变量一旦运行

     

功能开始,直到你调用T Application为止:   :lnitlnstance。这实际上意味着你可以在任何一个中设置nCmdShow   InitApplication或InitMainWindow函数。

     

例如,假设您要显示最大化的窗口   每当用户运行应用程序时。你可以在你的设置中设置nCmdShow   InitMainWindow函数:

     

包括ttinclude

     

类TMyApplication:public TApplication {public:

     

TMyApplication(char far * name):TApplication(name){}

     

void InitMainWindow();

     

1; ■■

     

void TMyApplication :: InitMainWindow(){

     

SetMainWindow(new TFrameWindow(,“Maximum Window”)); nCmdShow =   SW_SHOWMAXIMIZED;

     
      
  • } int'
  •   
     

OwlMain(int argc> char * argv []){

     

,返回TMyApplication(“哇!”)。Run(); ''

     

nCmdShow可以设置为任何适合的值((参数)   ShowWindow Windows函数或TWindow :: Shozv成员函数,   例如SW_HIDE,SW_SHOWNORMAL,SW_NORMAL等。

因此,就我而言,在nCmdShow = SW_SHOWMAXIMIZED;定义中添加InitMainWindow ()就足够了。