Tôi có một hộp kiểm sẽ được bật/tắt trong thời gian chạy. Tôi chỉ muốn hiển thị các mẹo công cụ khác nhau nếu nó được bật/tắt. Tôi đã suy nghĩ về sự kiện OnMouseEnter trọng và xử lý nó ở đó nhưng OnMouseEnter sẽ được gọi chỉ khi điều khiển được kích hoạt. Làm thế nào tôi có thể đạt được hành vi đó? Bất kỳ trợ giúp sẽ được đánh giá cao.Làm cách nào để hiển thị gợi ý cho điều khiển bị vô hiệu hóa?
tôi đã cố gắng để xử lý OnMouseMove của mẫu và làm điều gì đó như thế này
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;
nhưng PtinRect điều kiện là không hài lòng. Những gì tôi đang làm sai?
Giải pháp thay thế sẽ đặt điều khiển đồ họa, ví dụ: một hình ảnh trống phía sau kiểm soát của bạn với gợi ý mong muốn. – bummi
checkBoxCursorPos: = chkBx.ScreenToClient (điểm) không đúng. – Giel
@Giel: Tôi nên làm gì để có được vị trí thực tế? – Jeeva