Я пишу приложение для 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();
}
Итак, в конце концов, он открывается с помощью aplicat.cpp библиотеки owlnext, используя MainWindow->ShowWindow(nCmdShow);
,
Тем не менее, теперь я хочу открыть его в развернутом виде.
Я сделал некоторые исследования и натолкнулся на
PMW->WindowProc(WM_SIZE,SIZE_MAXIMIZED,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 Application nCmdShow,
что соответствует параметру ^ / WinMain nCmdShow. Вы можете установить
эта переменная, как только RunФункция начинается, до тех пор, пока вы не вызовете приложение T:
: Lnitlnstance. Это фактически означает, что вы можете установить nCmdShow либо в
функция InitApplication или InitMainWindow.Например, предположим, что вы хотите, чтобы ваше окно было развернуто
всякий раз, когда пользователь запускает приложение. Вы можете установить nCmdShow в вашем
Функция InitMainWindow:Класс TMyApplication: public TApplication {public:
TMyApplication (char far * name): TApplication (name) {}
void InitMainWindow ();
1; ■ ■
void TMyApplication :: InitMainWindow () {
SetMainWindow (новый TFrameWindow (, «Максимальное окно»)); nCmdShow =
SW_SHOWMAXIMIZED;
- } int ‘
OwlMain (int argc> char * argv []) {
, return TMyApplication («Ух ты!»). Run (); } ‘
nCmdShow может быть установлен на любое значение, соответствующее как (параметр
Windows-функция ShowWindow или функция-член TWindow :: Shozv,
такие как SW_HIDE, SW_SHOWNORMAL, SW_NORMAL и так далее.
Итак, в моем случае добавление nCmdShow = SW_SHOWMAXIMIZED;
внутри моего InitMainWindow ()
определения было достаточно.