Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Dave

Alter Hase

  • »Dave« ist der Autor dieses Themas

Beiträge: 757

Wohnort: Berlin

  • Private Nachricht senden

1

05.09.2004, 13:55

Eingabefelder - Scrollen

Hi,

ich schreibe momentan einen kleinen chat basierend auf den mfc und winsock. klappt bisher auch ganz gut.

momentan hänge ich an folgendem:
ich habe ein ausgabefeld vom typ CEdit. eine neue "nachricht" füge ich folgendermaßen hinzu:

Quellcode

1
2
3
4
5
6
7
8
9
// String zum Protokoll hinzufügen
void CMainDlg::AddStringToProt(CString strText)
{
    CString strProt;

    m_cEditProtokoll.GetWindowText(strProt);
    strProt = strProt + strText;
    m_cEditProtokoll.SetWindowText(strProt);
}


das allein scheint mir schonmal etwas umständlich. gibt es eine möglichkeit nen string einfach nur "dranzuhängen"??
das eigentlich problem ist allerdings, dass ich ja immer den kompletten text neu einfüge und somit immer die erste zeile gezeigt wird. wenn der auszugebende text mehr zeilen als das editfeld hat sollte aber die letzte zeile sichtbar sein, nicht die erste.
habe es schon mit CEdit::ScrollWindow() versucht. allerdings hatte das überhaupt keine auswirkungen...

chat gibts hier: http://www.herder-abi06.de/stuff/chat.zip


mfg dave

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

2

05.09.2004, 20:26

Ist zar winapi aber vielleicht hilfts: EM_REPLACESEL

Dave

Alter Hase

  • »Dave« ist der Autor dieses Themas

Beiträge: 757

Wohnort: Berlin

  • Private Nachricht senden

3

07.09.2004, 17:59

danke, allerdingst hilft mir das nicht wirklich weiter.... :-(
*SOS* *g*

CuTeX0r

Treue Seele

Beiträge: 174

Wohnort: Deutschland

  • Private Nachricht senden

4

07.09.2004, 18:35

also generell, um an den String das einfacher anhängen zu können gibts schon einige Möglichkeiten. Ich würde gar nicht erst mit GetWindowText hantieren, sondern deinem Edit feld einen CString zuweisen. Dann kannst du es z.b. so machen:

C-/C++-Quelltext

1
2
3
4
5
6
7
void CMainDlg::AddStringToProt(const CString& txt)
{
    UpdateData();
    m_strProt += txt;
    m_strProt += "\n\r"; // newline nach text einfügen

    UpdateData(FALSE);
}


Um den Text zu scrollen gabs auch was, hatte ich glaub ich mal bei codeguru oder so gesehn.. ich such mal, kann bissi dauern, vllt find ichs ..

/edit: Probier mal LineScoll aus :) :huhu:

mfg cutu

Werbeanzeige