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

1

16.06.2008, 18:26

2 Fragen: WM_KEYDOWN wird von Editbox blockiert + Zeilenumbr

Hallo.
Ich habe 2 Probleme. Ich schreibe einen Chat. Jetzt ist es möglich, dass sich mehrere Clienten sich auf einen Server einloggen und Texte austauschen können. Jetzt soll man den Text mit Enter versenden können:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
case WM_KEYDOWN:
                if(wParam==VK_RETURN)
                {
                    char buffer[255];
                    GetWindowText(Input, buffer, 255);
                
                    Connected=Client.Send((char*)buffer,255);
                    SetWindowText(Input,0);
                }
        break;


Doch ich habe da natürlich auch die Textbox. Wenn ich nun auf diese gehe, dann wird WM_KEYDOWN nicht mehr aufgerufen!
Woran kann das liegen?
So wird die Editbox erstellt:

C-/C++-Quelltext

1
2
Input=CreateWindow("edit","",WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 165,
        260, 25, hwnd, NULL, ((LPCREATESTRUCT) lParam) -> hInstance, NULL);


2. Frage:
Die große Editbox nimmt keinen Zeilenumbruch an!
Es wird anstatt einen Zeilenumbruch zu machen immer
ein komisches zeichen angezeigt (so ein strich).
So erstelle ich die große editbox:

C-/C++-Quelltext

1
2
3
4
5
Editbox=CreateWindow("edit","",WS_CHILD | WS_VISIBLE | WS_BORDER |ES_READONLY|ES_MULTILINE| WS_VSCROLL | ES_AUTOVSCROLL|ES_WANTRETURN, 20, 20,
        260, 130, hwnd, NULL, ((LPCREATESTRUCT) lParam) -> hInstance, NULL);

        if(Editbox==NULL)
            MessageBox(hwnd,"Editbox konnte nicht erstellt werden!", "Error...", MB_ICONERROR);


Wo liegen die Probleme?
Gruß Flo

2

16.06.2008, 20:10

Ok das Problem mit dem Zeilenumbruch habe ich gelöst.
Mann muss immer \r\n schreiben!

Jetzt weiß ich aber immer noch nicht weiter mit dem WM_KEYDOWN.

Gruß Flo

3

16.06.2008, 20:24

Dieser coding-board.de Thread hilft dir bestimmt weiter.

4

18.06.2008, 14:14

genial !! DAnke

5

18.06.2008, 16:33

Gerne. Ich benutze die Callbacks für verlinkten, statischen Text.
Wie ich sehe, hast du ja schon in einem anderen Thread dein Meisterwerk (mit Startschwierigkeiten) vorgestellt. :)

Werbeanzeige