CListBox mit Tabstops?



  • hey,

    hab hier ne listbox, die dateien in nem ordner ausgibt...
    links sollen die dateinamen stehen und rechts untereinander datum und uhrzeit, wann die entsprechende datei das letzte mal verändert wurde.

    jetz hab ich mir gedacht ich mach das mit tabstops.
    also hab ich zwischen dateienamen und datum/uhrzeit einfach \t in den string reingemacht... nur gibt mir das programm in der listbox dann nur das sonderzeichen von dem \t aus, und macht keinen abstand.

    was mach ich da falsch??

    mfg,
    smuRf



  • ok problem gelöst... hatte vergessen den entsprechenden listbox-style im create zu setzen.

    aber jetz ergibt sich ein neues problem...
    da ja die dateinamen unterschiedlich lang sind, passierts jetz, dass wenn nen sehr kurzer und nen entsprechend längerer name angezeigt werden, datum/uhrzeit nicht untereinander stehen.

    was kann man da machen?


  • Mod

    Hast Du SetTabStops entsprechend gesetzt? Du musst die erste Splate halt entsprechend breit definieren.

    Besser ist Du verwendest ein CListCtrl im Report Modus. Dann hast Du feste Spalten!



  • in abhängigkeit von was muss ich settabstops denn da setzen?



  • in Abhängigkeit von der Anzahl und Breite der einzelnen Zeichen:

    //Beispiel: Listbox mit 3 Spalten (2 Tabs) 
    	int tab[2]={65,160};
    	m_ListBoxVariable.SetTabStops(2,tab);
    

    Einfach probieren welcher Int-Wert geeignet ist.

    Wenn sich die Einträge in den Spalten in der Breite sehr unterscheiden bzw. bei vielen Spalten würde ich auch lieber CListCtrl nehmen, da man nie sicher sein kann, ob es sich für einzelne Einträge nicht doch verschiebt.



  • hey, hab das ganze jetz mit "CListCtrl" ... sieht einfach schöner aus 😃

    meine frage is jetz allerdings, wie ich darauf reagiere, wenn jemand ein item aus der listbox auswählt?

    bei der "normalen" CListBox Klasse hab ich einfach auf die ON_LBN_SELCHANGE message reagiert, was jetz nicht mehr klappt...

    hoffe mir kann da jemand helfen?


  • Mod

    Du bekommst ein WM_NOTIFY mit LVN_ITEMCHANGED!


Anmelden zum Antworten