Textfenster im dialog
-
Hi,
ich hab folgendes problem:
und zwar will ich mir in einem dialog einen kleinen chat programmieren,
und dazu hab ich ein CEdit Feld angelegt und das Häckchen vor ReadOnly gemacht,
aber wie kann ich in dem fenster jeweils eine zeile hinzufügen ?
also das z.B.
[-Nick1-]: Test
[-Nick2-]: Test
da steht, und dann wenn wieder jemand was geschrieben hat wieder eine zeile hinzufügen? und auch so damit man danach wieder hochscrollen kann.mfg, shark
-
Also
mit AddString(CString) der CListCtrl-Klasse kannst du einzelne Zeilen hinzufügen.
Um den Nick vor die Message zu bekommen, musst du nur einen kleinen Layoutstring machen, der das erscheinungsbild bestimmt (hört sich jetzt ziemlich unverständlich an, aber sieh dir das Beispiel an).
z.B.:CString strLayout; strLayout.Format("[%s]: %s", m_strNickName, m_strMessage); ((CListCtrl *)GetDlgItem(IDC_DERLIST))->AddString(strLayout);
Das müsste jetzt verständlich sein.
Was das scrollen angeht, so müsste ein Scrollbalken automatisch dann angezeigt werden, wenn mehr Einträge in der Liste sind, als diese lang ist.
Ein Problem gibt es trotzdem: Die Liste scrollt nicht automatisch zur letzten Position. Und dieses Problem habe ich gerade selbst in einem meiner Programme.
Aber da kann dir sicher jemand anderer helfen.
-
Hi,
erstma thx für deine antwort,aber irgendwie funktioniert das net so ganz
da komm andauernd dieser fehler:error C2039: 'AddString' : is not a member of 'CListCtrl'
kann man sonst irgendwie den inhalt einer edit box verändern ?
Mfg,
Shark
-
Ach ja habs vergessen.
Ich hab das nicht für eine EditBox sondern für eine ListCtrl gemacht.
-
Wie könnte man sowas sonst noch Realisieren?
Kann man da noch etwas anderes statt einer EditBox nehmen ?mfg,
Shark
-
NImm eine ListBox