zum Nachsatz: mach in in SetControl und ähnlich auch in Destroy:
Delphi-Quellcode:
if not Assigned(Value) then begin
if Assigned(FControl) then
begin
DeleteObject(FAssociateRegion);
FAssociateRegion := CreateRectRgn( 0,1,
FControl.Width,FControl.Height);
SetWindowRgn(FControl.Handle, FAssociateRegion,True);
TWinControl(FControl).WindowProc := FLsWndMethod;
zu 1. : verstanden
zu 2. :
a) meinst Du mit "Deiner WindowProc" die MyWndProc (ursprünglich von mir zum Reagieren auf Paintereignisse des gekaperten TWincontrols gedacht) oder die (für mich bisher unsichtbare) WindowProc meiner eigenen Komponente?
und:
b) wenn MyWndProc gemeint ist, dann würde:
Delphi-Quellcode:
procedure TAngehangeneKomponente.MyWndProc(Var Message : TMessage);
begin
if Message.Msg = CM_ENTER
then Dispatch(Message); // ¿oder Dispatch(Message.Msg)?
...
dazu führen, das eine mit
procedure CMEnter(var Message : TMessage); message CM_ENTER;
in meiner Komponente deklarierte Prozedur abgearbeitet würde? (wenn ja, dann hätte ich endlich mal das Ende vom Wollknäul in der Hand
)
Danke für die Antwort!