// Wenn bei einem
Control
Enabled
oder
Visible
auf
False
steht, erhält man
// keine Rückmeldung auf Events, wie beispielsweise
OnMouseDown
oder
//
OnMouseMove.
Das kann man aber beim Parent abfragen. Wenn also ein Button
// auf Form1 sitzt, fragt man z.B. die Mausbewegung in
FormMouseMove
ab.
// Hat man ein Memo auf Panel1 gesetzt, dann erfolgt die Abfrage eben
// in
Panel1MouseMove.
// Wenn
Enabled
und
Visible
der Controls wieder auf
True
gesetzt werden,
// erfolg die Abfrage natürlich wieder in
Button1MouseMove
bzw.
Memo1MouseMove.
// Getestet mit D4 unter WinME
// Grundfunktion
function testen(TC: TControl; x, y: integer): boolean;
begin
result := ptinrect(tc.boundsrect, point(x, y));
end;
// Abfrage für einen Button auf Form1
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if testen(Button1, x, y) then
label1.caption := 'darüber' else label1.caption := 'daneben'; // z.B.
end;
// Abfrage für ein Memo auf Panel1
procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if testen(Memo1, x, y) then
beep; // z.B.
end;
|