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.jpg

    Bevor 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


  • Mod

    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!


  • Mod

    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


Anmelden zum Antworten