Einzelnen Beitrag anzeigen

Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#8

AW: [nonVCL] Automatisch verschwindender Text in Edit Box

  Alt 30. Jan 2015, 17:01
Hallo Sherlock,
wie genau meinst du das? Also der CueText steht ja gar nicht drin, sondern wird einfach nur "drübergepinselt".
Wie gesagt, das funktioniert alles. Nur hab ich das Problem, das halt der selbst eingegebene Text verschwindet, wenn das Control den Fokus wiedererlangt.
Wenn man dann den darin stehenden Text markiert oder ebend um einen Buchstaben ergänzt (oder aber auch löscht) erscheint er wieder. der Text steht also noch im Control, es macht aber den Anschein als würde der Text in der Farbe des Controls eingefärbt wenn es den Fokus wiedererlangt.

Der Effekt ist auch vorhanden, wenn ich alles ausklammer in der OnPaint Methode und quasi nur dieses übrig lasse:

Delphi-Quellcode:
function MemoWndProc(hEdit: HWND; uMsg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
var
 rc: TRect;
 OldFont: HFONT;
 S: string;
 DC: HDC;
 PaintStruct: TPaintStruct;
begin
  case uMsg of
    WM_PAINT:
      begin;
        DC := BeginPaint(hEdit, PaintStruct);
        EndPaint(hEdit, PaintStruct);
        Result := 0;
     end
  else
    Result := CallWindowProc(OldWndProc, hEdit, uMsg, wParam, lParam);
  end;
end;

Wo kann denn dort nen Fehler sein, das verstehe ich nicht.


Edit:
Also ich bin jetzt schon mal so weit zu sagen, das es an dem or ES_MULTILINE liegt:

       CreateWindowEx(WS_EX_CLIENTEDGE, 'Edit', '', WS_CHILD or WS_VISIBLE or WS_VSCROLL {or ES_MULTILINE }or ES_NOHIDESEL or ES_WANTRETURN, 5, 155, 200, 110, hWnd, IDC_MEMO2, hInstance, nil);
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)

Geändert von lbccaleb (30. Jan 2015 um 17:15 Uhr)
  Mit Zitat antworten Zitat