Text ausgeben



  • Mein Programm soll bei bestimmten Aktionen gewisse Buchstaben ausgeben. Weshalb udn warum ist eigentlich nicht wichtig.
    Nun ich weis nicht wa sich nehmen soll:

    -Ein Mehrzeiliges Edit Feld?
    -Eine Listbox?

    Wie sieht da der Code etwa aus?

    hTastread=CreateWindowEx(WS_EX_CLIENTEDGE,"EDIT","",WS_CHILD| ES_AUTOHSCROLL |ES_MULTILINE|WS_VISIBLE  ,10,240,370,200,hWnd,NULL,hInstance,NULL);
    
    hTastread=CreateWindowEx(WS_EX_CLIENTEDGE,"LISTBOX","",WS_CHILD| ES_AUTOHSCROLL |ES_MULTILINE|WS_VISIBLE  ,10,240,370,200,hWnd,NULL,hInstance,NULL);
    
    SendMessage(hTastread,LB_ADDSTRING,0,(LPARAM)"Hallo");
    

    Nun ich weis nicht welches Steuerelement ich nehmen soll um den text anzuzeigen. Ich will auch nicht das bei jedem neuen eintrag ins Anzeige Feld das ganze eine zweile weiter unten erscheint. Wie kann ich sowas anstellen das erst wenn der Text das Horizontale Ende erreicht auf eine neue Zeile Springt???



  • weis niemand eine antwort ??? 😞



  • Wenn du beim Edit das ES_AUTOHSCROLL weglässt, dürfte es automatisch die Zeile umbrechen. Und für eine Textausgabe halte ich eine Listbox für nicht notwendig.



  • Also: Ich hab mal Listbox weggelaseen udn versuche es mit EDIT Hier der Code:

    hTastread=CreateWindowEx(WS_EX_CLIENTEDGE,"EDIT","",WS_CHILD | WS_VSCROLL | WS_HSCROLL | LBS_HASSTRINGS | WS_VISIBLE  ,10,240,370,200,hWnd,NULL,hInstance,NULL);
    //........//
    SendMessage(hTastread,LB_ADDSTRING,0,(LPARAM)"6");
    SendMessage(hTastread,LB_ADDSTRING,0,(LPARAM)"a");
    SendMessage(hTastread,LB_ADDSTRING,0,(LPARAM)"r");
    

    In meinem Edit Feld will ich nun das sehen: 6ar

    Nun ist ebe das Problem das er mit meinem Code erst gar ichts ins EDIt schribt udn das zweite Problem währe: wenn der Text das rechte Ende erreicht des Editfeldes soll der weitere Text auf der nächsten zeile des Mehrzeiligen EDitfeldes sein..... aber wie???



  • Nahc sehr langem suchen hab ichs nun heraus gefunden:

    SendMessage(hTastread, WM_SETTEXT, (WPARAM)0, (LPARAM)"Neuer Text\n");

    So nun beim drücken wird der Text im edit Feld angezeigt.. Ich will nun aber zu einem späteren zeitpunkt weiteren text hinten anhängen wie geht das??? udn wie kann ich einen Zeilen umbruch erzwingen?



  • http://www.winapi.net/index.php?inhalt=s10

    hier steht, wie man einen Text in einem editfeld anhängen kann.
    Der Index gibt die Zeile an. Tu einfach bei jedem Aufruf den Index um eins hochsetzen.


Anmelden zum Antworten