Grafische Darstellung einer Dialogbox
-
Hallo Leute,
kaum das erste Problem gelöst schon das nächste da.
Es sieht ungefähr so aus:
http://i49.tinypic.com/f0x3n.jpgBevor jetzt einer fragt: Das ist nicht beabsichtigt, ich will nicht das es da doppelt steht und ich will einen Rand. Der Quelltext sieht ungefähr so aus:
IDD_SAVEDIALOG DIALOGEX 0, 0, 240, 92 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Speichern" FONT 9, "Comic Sans MS" BEGIN ICON IDR_MAINFRAME,IDC_STATIC,14,14,21,20 LTEXT "Bitte geben sie hier den Dateinamen ein!",IDC_STATIC,20,14,230,9,SS_NOPREFIX EDITTEXT IDC_FILENAME,20,38,100,12,ES_AUTOHSCROLL DEFPUSHBUTTON "Speichern",IDSAVE,20,60,50,14,WS_GROUP DEFPUSHBUTTON "Nicht Speichern",IDNOTSAVE,90,60,60,14,WS_GROUP DEFPUSHBUTTON "Abbrechen",IDABROKE,170,60,50,14,WS_GROUP END
Komischerweise zeigt der alles richtig an, sobald ich ihn in ein anderes Projekt kopiere... Da macht er alles wie ich will.
Kann mir einer helfen?
mfG TheCrip
-
Ich würde eher sagen, Dein Fenster in dem Du den Dialog erzeugst löscht nicht den Hintergrund.
Mit dem gezeigten Template hat das gar nichts zu tun.
-
Eingaben funktionieren ja, also kann das nicht sein. Ich kann die oberen Buttons anklicken und auch Eingaben in das Textfeld machen und es speichert die Datei mit dem angegeben Namen.
Im Quellcode kommt auch ziemlich oft InvalidateRect()...
-
TheCrip schrieb:
Eingaben funktionieren ja
Aber in nicht in beiden "Varianten" der Controls, oder? Die obere/untere Variante wird einfach nur eine ältere Abbildung sein, die noch da ist, weil der Dialog nicht neu gezeichnet wurde.
-
ne nur die obere reagiert. und auch nur die oberen Buttons sind anklickbar...
Wie kann ich das denn verändern?
-
na da hast du vielleicht die OnEraseBkgnd bei deinem Dialog überschrieben und zeichnest den Hintergrund nicht selbst neu
-
ok das war nicht der Fehler, der bestand darin, dass ich den Typ der Funktion die das bearbeitet von (INT_PTR) zu int geändert habe... hätte nicht gedacht das das was ausmacht.
danke für eure hilfe!
-
TheCrip schrieb:
ok das war nicht der Fehler, der bestand darin, dass ich den Typ der Funktion die das bearbeitet von (INT_PTR) zu int geändert habe... hätte nicht gedacht das das was ausmacht.
danke für eure hilfe!Kann mir kaum vorstellen, dass dies der Grund war...
-
ich auch nicht, aber ich hatte sonst nichts verändert...Also bis auf die Rückgabewerter der Funktion