Hauptfenster mit Template erzeugen
-
Hi, mir ist absolut suspekt, wieso ich in sämtlichen Foren und Seiten keine Lösung für mein "Problem" finde. Möglicherweise suche ich auch einfach nur falsch, also hoffe ich ihr könnt mir weiterhelfen.
Ich erzeuge mir ein Fenster, wie man das eben macht so:
HWND hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);Nun möchte ich das Fenster aber gerne wie bei Dialogen in meiner Entwicklungsumgebung (VC++ 2005) erzeugen und als Teplate oder wie man dazu sagt/ sagen möchte, reinladen
DialogBox(hInst, MAKEINTRESOURCE(IDD_HAUPTFENSTER_TEMPLATE), NULL, AboutDlg);So eben. Mit CreateWindow ist das ja nicht möglich, wie dann?
Es ist nämlich sehr lästig die Button, Label usw per Code zu erzeugen und an die richtige Position hinzufummeln.
-
SUchst Du etwa ein "Nicht Modaler Dialog"?
http://msdn2.microsoft.com/en-us/library/ms644996.aspx#modeless_box
-
Naja das kenn ich schon, aber da bekomme ich doch auch kein Handle oder doch? Hatte das jetzt gerade nur überflogen.
Das Hauptfenster sollte man doch auch mit CreateWindow erzeugen und nicht mit irgendwelchen Dialog Routinen.
Ich verstehe gar nicht, wieso es in der Funktion keine Möglichkeit gibt, Templates mit einzubinden.EDIT:
Ja, hast schon recht, mit CreateDialog könnte man das machen, aber irgendwie hab ich das bisher noch nicht gemacht, da für mich die Dialog Routinen für spätere Dialoge sind und das Hauptfenster eben etwas extra benötigt.
Aber dadurch habe ich keine Veränderungen, anderes Verhalten oder so?
-
Wenn Dein hauptfenster Dialog-Elemente enthält (also Buttons Textboxen usw., dann musst Du auch die IsDialogMsg Funktion aufrufen und diese speziellen Messages abhandeln (siehe mein Link und die dortigen Code-Beispiele!). Aber ansonsten ist es ein ganz normales Fenster...