L
Genau das hatte ich Versucht (SetWindowText), doch dann passiert, daß der Bildschirm flakkert, weil ich jedes einzelnes Zeichen neu updaten will. Zudem geht der Cursor immer an den Anfang der Editbox, nicht da, wo der Text aufhört.
Wenn die Edit Box zu voll wird, muß ich Außerdem immer die CEdit::ScrollDown funktion aufrufen, damit man sieht, welches Zeichen als letztes Ausgegeben wurde.
Das Problem habe ich jetzt folgendermaßen gelöst:
CEdit::SendMessage(WM_CHAR, c);
wenn ein Zeichen auf der seriellen Schnittstelle Ankommt.
Meine Funktion OnChar sieht dann so aus:
void CExpertEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
unsigned long X;
if (nFlags) { //nFlags != 0 wenn von Tastatur kommend, mit SendMessage
//ist mFlags == 0
WriteFile(hcom, &nChar, 1, &X, NULL);
return;
}
CEdit::OnChar(nChar, nRepCnt, nFlags);
}
So gehts.
Also Ein Zeichen von der Seriellen Schnittstelle kommend wird im Editierfeld angezeigt, ein Zeichen von der Tastatur wird an die Serielle Schnittstelle gesendet.