Wie einen Text ausgeben



  • grüsse euch,

    also beim meinem letzten Problem habt ihr mir helfen können. Jetzt müsste ich einen Text ausgeben. Genauer gesagt einige Zahlenreihen.

    Das Feld müsste scrollbar sein, wie z.B. das Textfeld wo ich gerade meine Antwort reinschreibe.

    Ich habe noch nie mit WinAPI gearbeitet. Und weiss nicht wonach ich suchen soll. Könnt ihr mir helfen?



  • meinst du ein (Rich)Edit?

    such mal in google nach CreateWindow und Edit!
    den text liest man mit GetWindowText ein und mit SetWindowText setzt man den text (eines hwnds)



  • Das hat mir geholfen. Danke.



  • gerne



  • Ich verwende jetzt Listen

    Wo muss aber das rein?

    SendMessage(hwndEdit,LB_ADDSTRING,0,(LONG) buffer);
    

    egal wohin ich das schreibe es kommt nichts rein in die Liste. Nur unmittelbar nach dem erstellen mit CreateWindow geht es. Sonst an keiner Stelle im Programm.



  • hwndEdit muss eben bekannt sein (oder du besorgst es dir über GetDlgItem o.ä.



  • hwndEdit ist ja in der Nachrichtenfunktion deklariert worden.

    Also muss es ja in der gesamten Funktion sichtbar sein.

    case WM_COMMAND:
    	switch(LOWORD(wParam)) 
    	{
    		case 1:// ID VON LISTBOX
    		         SendMessage(hwndEdit,LB_RESETCONTENT,0,0);
    			MessageBox(NULL,"TEST","TEST",MB_OK);
    			break;
    		default:
    
    			break;
    	}
    

    Dies müsste ja die List löschen. Die Messagbox kommt zum vorschein wenn ich in die Liste klicke. Aber der Text wird nicht gelöscht.



  • Da die Nachrichtenfunktion immer wieder aufgerufen wird wird das Handle immer wieder neu initialisiert.
    Das heist wenn du

    HWND hwndList = NULL;
    

    schreibst hat es am start der funktion immer NULL!
    Endweder du schreibst:

    static hwndList = NULL;
    

    Hier wird beim ersten aufrufen der Funktion hwndLsit auf NULL gesetzt sonst behält das Handle sein wert! Oder du schreibst:

    SendMessage(GetDlgItem(hwnd, 1), LB_RESETCONTENT,0,0); //1 = ID Nummer der Listbox, hwnd = Hwnd des Hauptfensters
    

    Vielleicht ein bischen schlecht erklärt :)!
    MfG schirrmie



  • Ich liebe dieses Forum 😃


Anmelden zum Antworten