|
VickyMao :
当使用select工具时,鼠标放在某个图元上之后,会出现提示框显示该图元的关键属性,我不想让他显示这个提示框,而显示我自己做的提示框,怎么实现呢,我用的是delphi
yxbhw :
我刚做好了一个,下面是思路。 1、在一个TPanel上放LABEL,将TPanel修改成黄色HINT的样子 2、将timer的触发时间定为1秒以上,timer触发时显示TPanel,并根据关键属性更改LABEL,改变TPanel位置到屏幕外,显示TPanel,改变TPanel位置到鼠标附近。 3、Map1MouseMove事件将timer重置,隐藏TPanel。注意一定要在此事件中判断上次的坐标是否等于本次的坐标,因为显示TPanel后会不停的引起Map1MouseMove事件。 Mouse_MapPoint : TPoint; Mouse_LastMapPoint: TPoint; procedure Tmain.Map1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin Mouse_MapPoint.X := X; Mouse_MapPoint.Y := Y; if (Mouse_LastMapPoint.X <> Mouse_MapPoint.X) or (Mouse_LastMapPoint.Y <> Mouse_MapPoint.Y) then begin Mouse_LastMapPoint.X := X; Mouse_LastMapPoint.Y := Y; tmr_hint.Enabled := False; tmr_hint.Enabled := True; main.pnl_hint.Visible := False; end; end; procedure Tmain.tmr_hintTimer(Sender: TObject); begin tmr_hint.Enabled := False; ShowHint(Map1, Mouse_MapPoint.X, Mouse_MapPoint.Y); end;
VickyMao :
tmr_hint是什么?
yxbhw :
tmr_hint是时钟Timer
pnl_hint是Tpanel
VickyMao :
那怎么让使用"选择"工具时弹出的小提示框不显示呢
yxbhw :
在设计阶段可以设置不显示hint
VickyMao
我说的那个提示框是在地图窗口中弹出的信息框,一般是图元的关键属性字段,showhint设为true和false都不起作用的
yxbhw
双击MAPX控件-->mouse-->show infotip去掉看看
VickyMao
yxbhw,谢谢,可以了,呵呵
|