Hallo!
Folgendes Problem: Ich erstelle ein Edit und lasse das dann nach dem Drücken einer Taste wieder löschen.
Hier mal grob der Code dazu:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29:
| const WM_EditFree=WM_USER+1;
type TMyEdit=class(TEdit) private procedure EditKeyPress(Sender: TObject); procedure EditMsgHandler(var Msg: TMessage ); message WM_EditFree; public constructor Create(aOwner: TComponent); end;
constructor TMyEdit.Create(aOwner: TComponent); begin inherited Create(aOwner); OnKeyPress:=EditKeyPress; end;
procedure TMyEdit.EditKeyPress(Sender: TObject); begin PostMessage(self.Handle,WM_EditFree,0,0); end;
procedure TMyEdit.EditMsgHandler(var Msg: TMessage); begin self.Free; end; |
Unter WinXP funktioniert das ganze auch wie es soll, aber unter Win98 wird MyEdit nicht wieder gelöscht.
Kann mir jemand sagen, woran das liegt? Gibt es hinsichtlich des PostMessage bei Windows98 was, was man beachten müßte??
Moderiert von
Motzi: Topic aus VCL (Visual Component Library) verschoben am Di 08.06.2004 um 16:27