1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| procedure TForm1.ListBox1Click(Sender: TObject);
var Msg: TMessage;
x,y:integer;
pt:TPoint;
begin
//La bulle d'aide s'affiche si la souris est sur le control;
//si on se déplace avec le clavier et que la souris n'est
//pas sur le control, on déplace la souris.
x:=Mouse.CursorPos.x;
y:=Mouse.CursorPos.y;
pt:=ListBox1.ClientToScreen(Point(0,0));
if (x < pt.x)or(x > pt.x + ListBox1.Width)then x:=pt.x;
if (y < pt.y)or(y > pt.y + ListBox1.Height)then y:=pt.y;
if (x <> Mouse.CursorPos.x) or (y <> Mouse.CursorPos.y) then
SetCursorPos(x, y);
//On a besoin d'un "MouseMove" pour activer le hint
ListBox1.Hint:='Sélectionnez '+ListBox1.items[ListBox1.ItemIndex];
// Application.CancelHint;
Msg.Msg:=WM_MOUSEMOVE;
Msg.WParam := 1;
Msg.LParam := 1;
Application.HintMouseMessage( ListBox1 , Msg ) ;
Application.ActivateHint(Mouse.CursorPos);
end; |