Mam pole wyboru, które będzie włączone/wyłączone w czasie wykonywania. Chcę wyświetlać różne porady narzędziowe, jeśli są włączone/wyłączone. Myślałem o nadpisaniu zdarzenia OnMouseEnter i obsłudze go, ale OnMouseEnter będzie wywoływane tylko wtedy, gdy kontrola jest włączona. Jak mogę osiągnąć to zachowanie? Każda pomoc będzie doceniona.Jak wyświetlić podpowiedź dla wyłączonego formantu?
Próbowałem poradzić onmousemove formy i zrobić coś takiego
procedure Tdlg.pnlTopMouseMove(Sender: TObject;Shift: TShiftState; X, Y: Integer);
var
point: TPoint;
checkBoxCursorPos: TPoint;
begin
inherited;
point.X := X;
point.Y := Y;
checkBoxCursorPos := chkBx.ScreenToClient(point);
if (PtInRect(chkBx.ClientRect, checkBoxCursorPos)) then
begin
if(chkBx.Enabled) then
chkBx.Hint := 'Enabled'
else
chkBx.Hint := 'Disabled' ;
Application.ShowHint := True;
end;
end;
ale PtinRect warunek nie jest spełniony. Co robię źle?
Obejście polegałoby na umieszczeniu sterowania graficznego, np. pusty obraz za twoją kontrolą z żądaną wskazówką. – bummi
checkBoxCursorPos: = chkBx.ScreenToClient (punkt) nie jest poprawny. – Giel
@Giel: Co powinienem zrobić, aby uzyskać rzeczywistą pozycję? – Jeeva