実行時に有効/無効になるチェックボックスがあります。私は、有効/無効にされている場合、異なるツールのヒントを表示したいだけです。 OnMouseEnterイベントをオーバーライドしてそこで処理することを考えていましたが、OnMouseEnterはコントロールが有効な場合にのみ呼び出されます。どのように私はその行動を達成することができますか?どんな助けもありがとう。無効なコントロールのヒントを表示するにはどうすればいいですか?
私は、フォームのONMOUSEMOVEを処理し、この
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;
ような何かをしようとしたが、条件PtinRectは満たされません。私は何を間違っているのですか?
回避策は、グラフィックコントロールを配置することです。あなたのコントロールの背後にある空のイメージに、望ましいヒントを付けます。 – bummi
checkBoxCursorPos:= chkBx.ScreenToClient(point)が正しくありません。 – Giel
@ジール:実際のポジションを得るにはどうすればよいですか? – Jeeva