mfc fenster problem
-
hi ich hab ein problem und zwar hab ich ein Dialogfenster und in diesem öffne ich ein neues Modales fenster mit einer bestimmten größe.
Das Problem ist jetzt wenn ich das Programm auf meinem Atom Laptop starte is dieses Fenster etwas kleiner und man sieht einige texte nimmer
weiß jmd woran das liegt?So setz ich die fenstergröße:
this->SetWindowPos(&this->GetParent()->wndTop,0,0,410,240,SWP_NOMOVE);
-
Dialoge werden in DLUs berechnet. Dialog Base Units! D.h. Du musst schon den entsprechenden Font berücksichtigen und die DLUs in Pixel umrechnen.
Mal grundsätzlich: Warum veränderst Du überhaupt die Größe, wenn Du den Dialog exakt im Ressourcen Editor erzeugt hast?
-
jenachdem was ich für text im dialog ausgebe soll sich die größe verändern
-
Und?
In OnInitDialog, besorgst Du Dir den Font des Feldes in dem Du den Text anzeigst (GetFont). Dann verwendest Du DrawText mit DT_CALCRECT und ermittelst die notwendige Größe. Dann setzt Du die Kindfenstergröße und das Parentfenster errechnest Du eben mit CalcWindowRect...
-
das parentfenster hat ja die richtige größe ich muss nur im kindfenster die größe dem font anpassen oder?
this->SetWindowPos(this->GetParent(),0,0,410,240,SWP_NOMOVE);
eine frage sind die werte die ich per SetWindowPos setze in Pixel oder dbu?
-
Pixel.