我正在使用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);
哪个似乎没有做任何事......
你们中的任何人都知道如何最大化这个窗口或开始最大化吗?
答案 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 ()
就足够了。