 |
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
AFE-GmdG JLI MVP


Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 07.09.2002, 12:10 Titel: MDI-Anwendung (Für Editor) |
|
|
Hallo, Leutchens...
Ich hab auch mal wieder eine Frage, vielleicht kann mir ja jemand helfen.
Ich hab nämlich eine MDI-Anwendung geschrieben, die auch Common Controls enthalten soll. (Basis Win32, nicht MFC)
Zur Unterstützung habe ich in der MSDN folgendes gefunden:
Plattform-SDK, User Interface Services, Windowing, Multiple Document Interface...
Ich hab also mein Framefenster mit Nachrichtenbehandlungsroutine geschrieben, ein Clientfenster eingebaut und danach noch das Common Control Statusleiste. Jetzt mein Problem: Die Statusleiste (und später auch noch Rebar-Controls sowie weitere Fenster) nehmen ja auch einen Platz im Framewindow ein. Ich hab es bis jetzt allerdings noch nicht geschafft, das Clientwindow so zu resizen, daß die Common Controls nicht überdeckt werden.
Die Nachricht WM_SIZE hat nicht den gewünschten erfolg, da das Clientwindow die Parameter für X, Y, SX und SY (in lParam codiert) ignoriert und eigene Werte aus der größe des Framewindows berechnet...
Gleiches gild für die Funktion SetWindowsPos() aus der Win32-API...
Kann mir jemand helfen? Den Quellcode-Ausschnitt kann ich notfalls auch per eMail zuschicken.
MFG, AFE-GmdG _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
 |
AFE-GmdG JLI MVP


Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 08.09.2002, 15:45 Titel: |
|
|
OKOK, Helfen kann mir warscheinlich mal wieder niemand *grins*
Na gut, nach einigem rumprobieren hab ich's dann doch noch hinbekommen. Hier die Lösung für alle, die es Interessiert: Innerhalb der Nachrichtenbehandliungsroutine WM_SIZE abfangen, die neue Fenstergröße einstellen (SetWindowPos) und danach rein Return angeben, damit nicht die Defaultroutine aufgerufen wird.
Diese hätte nämlich wieder dafür gesorgt, daß das Clientfenster neu resized wird...
AFE-GmdG _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
 |
DarK Super JLI'ler

Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 08.09.2002, 19:38 Titel: |
|
|
wie sollen wir Noobs dir den auch schon helfen  _________________ "Denken ist Arbeit, Arbeit ist Energie und Energie soll man sparen."
"Theorie ist, wenn man alles weiss, aber nichts funktioniert.
Praxis ist, wenn man nichts weiss, aber alles funktioniert.
Realität ist, wenn nichts funktioniert und keiner weiss warum."
"Es gehört ein wenig Mut dazu nicht das zu tun was ALLE tun" |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|