我想在拖动工具箱时首先拖动的是一个虚线框而非实体,等位置确定后才把工具箱移过去,怎么实现?

tlz 2002-09-08 01:43:49
?
...全文
34 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tlz 2002-09-10
  • 打赏
  • 举报
回复
怎么去实现一个虚线框跟着走?
怎么去擦除虚线框经过其它控件时留下的线框阴影?
DragonCity 2002-09-10
  • 打赏
  • 举报
回复
如果需要讨论,先把你的代码贴出来。
DragonCity 2002-09-10
  • 打赏
  • 举报
回复
你的问题其实就是橡皮线的画法。单纯用dotNet自带的Graphics方法不行,因为不跟操作系统交互,不能实现点的异或。需要调用API函数DrawFocusRect,在屏幕上面画图。如果工具箱不是矩形(例如像dotNet的Tab类型的工具箱),则DrawFocusRect还不行,需要组合或者用其他API(我还没有研究)。
你在论坛查找“橡皮线”、“异或”之类的关键字,可以有所收获。
Latitude 2002-09-08
  • 打赏
  • 举报
回复
这个可以做到的,你在工具箱中的mousedown定位一个工具,将工具编号记录进一个公用变量,然后在form的mousemove中实现一个虚线框跟着鼠标走,在form的mouseup事件中进行最后位置的记录(定位),然后读取公用变量中的工具编号,再在定好的位置上画出该工具即可。

----
Pls Try!
by Henry

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧