如何在一个图片上不同的区域显示不同的提示(Hint)??急、急、急、急(100分)

  • 主题发起人 主题发起人 至尊王
  • 开始时间 开始时间
我以前就在此问题卡住,一直没解决掉,既然有人提出,就关注一下,希望有高手帮忙!
 
分成十二块,愚见
 
不是把图片分成十二块,而是作十二个区域来看看。
根据坐标来判断,没试验过
 
你可以在图片上放n个label 啊,属性设为透明,caption设为空
autosize为false,并把他们拉大到你想hint的区域,然后。。label的hint
呵呵
 
如果不同区域的图形是规范的,那就用OnMouseMove,如果不是规则的,那就困难了。
 
不行!hint会一直显示,前面几位说的我都试过,不理想!
 
不会吧,我的方法虽然很笨,但管用啊
 
小生有一办法,不知可行否。
构造新的tMyHintWindow继承Vcl提供的 THintWindow类,override
ActivateHint(const Types::TRect &Rect, const AnsiString AHint);
这个方法函数,判断MousePos,根据不同的pos决定AHint的内容,再调用旧的ActivateHint
方法。
新类构造好后,就可以在我们的App中使用了。

( By the way,比起Delphi,我更习惯用Borland C++ Builder 6.0 )



 
Application.ActivateHint(CurPos);
 
我还是一向的主张,我不希望一些问题过于复杂化,如果说
上必须的话那也没有办法。

不过就本贴而言,如果你只是想实现你所说的这个功能。我
觉得完全可以放几个透明的控件上去,比如speedButton什么
的,然后在这些控件里设置hint不就结了,不用那么麻烦。
 
定义一个TOBJECT类型变量,然后对不同得区域生成不同得区域类,他们继承IMAGE得鼠标移动事件,在事件里判断
:原TOBJECT类是哪个区域,是否改变区域,TOBJECT类改变时,显示HINT,改变TOBJECT 为
当前区域值
 
娃娃 的方法不好,资源太大!
hewen7509方法值得一试?!由代码吗?
 
好久没来了;
这样吧,你的分区是规则的还是不规则的,你先将分区范围搞好,然后在MouseMove
事件里判断当前鼠标在哪个区间,对用将OBJECT的改为新区间,这时判断是否改变了object
 
我很赞同娃娃方法,省事呀!!!
在Image上不同区域放上几个TPaintBox,你直接定义TPaintBox的hint就可以了。
相当省事。甚至你要定义不同区域的的鼠标事件也可以在TPaintBox中直接写。
 
后退
顶部