3 Fragen zu Steuerelementen



  • Hallo,
    hier meine Fragen:

    1. Ich habe eine EditBox erstellt, aber wenn ich mit SetWindowText() einen zu langen Text hineinschreibe, wird der Rest nicht mehr angezeigt. Was muss ich tun, damit man (z.b. mit den Pfeiltasten oder mit der Maus markieren) den restlichen Text sehen kann? Ich meine so etwas wie in der Art von Start/Ausführen, nur das das eine ComboBox ist..

    2. Um für jedes Steuerlement auf meinem Formular eine bestimmte Schriftart/größe festzulegen (bei allen gleich) führe ich folgendes in der WM_CREATE aus:

    SendMessage(hGpbOptions, WM_SETFONT, (WPARAM)hFont, MAKELONG(TRUE, 0));
    			SendMessage(hStcInfo, WM_SETFONT, (WPARAM)hFont, MAKELONG(TRUE, 0));
    			SendMessage(hBtnStart, WM_SETFONT, (WPARAM)hFont, MAKELONG(TRUE, 0));
    			SendMessage(hEdtFileName, WM_SETFONT, (WPARAM)hFont, MAKELONG(TRUE, 0));
    			SendMessage(hEdtPartSize, WM_SETFONT, (WPARAM)hFont, MAKELONG(TRUE, 0));
    

    Gibt es eine Möglichkeit, für mehrere Steuerlemente gleichzeitig eine Schrift zu setzen, oder kann man beim Erstellen gleich das Handle mitgeben?

    3. Wie kann ich bewirken, dass die Steuerelemente per Tab durchlaufen werden können, und wie kann ich einen DefaultButton (kenn ich von VB her) erstellen?

    MfG,
    Max


  • Mod

    1. Korrekt. Man kann einfach in dem Control de Ende Taste drückenund der User bekommt das Ende des Textes angezeigt.
    Handelt es sich umn ein Singleline oder Multiline Control?
    2. Jedes Control muss den Font gesetzt beklommen. Wenn Du die Controls in einem Dialog platzierst und diesem den Font zuweist, dannn bekommen auch alle Child-Controls diesen Font automatisch zugewiesen.
    3. Du musst in Deine Messageloop IsDialogMessage einbauen.

    Warum verwendest Du keinen Dialog, der kann das von selbst....



  • Danke für die Antworten.

    Wegen 1.:
    Es ist eine Singleline Editbox.
    Wenn ich die Ende Taste drücke, springt der Cursor aber nur zum Ende der Editbos, aber nicht zum Ende des Texts.
    Bsp: Text ist: C:\ganz_langer_pfad\ordner\bla, und die Box ist zb. nur 150px Breit, wird nur C:\ganz_langer_pfad\o angezeigt und man bekommt den Rest nicht zu sehen..

    2. hat sich ja dann erledigt 😉

    und 3. probiere ich mal aus.



  • Hast du mal versucht, Scrolling für das Editfeld zu aktivieren (Stil: ES_AUTOHSCROLL).



  • Hallo,
    nein, das habe ich bisher nicht gesetzt, ich dachte dann kommen autom. bei Bedarf Scrollbars..
    Aber es funktioniert jetzt genau wie es soll!!
    Danke!!


Anmelden zum Antworten