我正在用EmbarcaderoRAD2Studio (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();
}因此,最终它将由owlnext库的aplicat.cpp使用MainWindow->ShowWindow(nCmdShow);打开。
然而,现在我想打开它最大化。
我做了一些研究,偶然发现PMW->WindowProc(WM_SIZE,SIZE_MAXIMIZED,0);似乎什么也不做.
你们中有人知道如何最大化这个窗口或启动它吗?
发布于 2015-04-09 18:53:47
我在"OWL程序员指南“的旧archive.org副本中找到了有关这个问题的信息。
上面写着:
~~您可以更改应用程序主窗口的显示方式。 指定mam设置T应用程序数据成员nCmdShow,该成员对应于^/ WinMain参数nCmdShow。可以在运行时立即设置此变量。 函数开始,直到调用T Application::lnitlnstance为止。这实际上意味着您可以在InitApplication或InitMainWindow函数中设置InitMainWindow。 例如,假设您希望在用户运行应用程序时最大限度地显示您的窗口。您可以在您的nCmdShow函数中设置InitMainWindow: 包括ttinclude 类TMyApplication : public TApplication { public: TMyApplication (char *name):TApplication (名称) {} 空洞InitMainWindow (); 1; TMyApplication::InitMainWindow () { SetMainWindow(新TFrameWindow (“最大窗口”));nCmdShow = SW_SHOWMAXIMIZED;
OwlMain(int argc> char* argv[]) {
,返回TMyApplication(“哇!”).Run();}‘
nCmdShow可以设置为任何适当的值( ShowWindow窗口函数或TWindow::Shozv成员函数的参数,如SW_HIDE、SW_SHOWNORMAL、SW_NORMAL等)。
因此,在我的例子中,在我的nCmdShow = SW_SHOWMAXIMIZED;定义中添加nCmdShow = SW_SHOWMAXIMIZED;就足够了。
https://stackoverflow.com/questions/29346479
复制相似问题