怎样实现在拖动窗口时画虚线框……………………………………

苯苯苯熊PK 软件工程师  2006-01-21 03:09:44
拖动窗口时先画个虚线框,放开鼠标时改变窗口大小。
...全文
194 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fuxc 2006-01-22
谢谢上面两位,不过我是2000,

1、2000上面也有类似对应的设置,不过位置不一样而已
2、超出Form之外的东西,自己画巨麻烦,就像zyl910说的那样
回复
zyl910 2006-01-21
DrawFocusRect是用来画矩形虚线框的,它是个绘图函数

如果你想实现拖曳时显示虚线框,得自己处理鼠标事件模拟拖曳,并在合适的时候调用DrawFocusRect绘制虚线框


rainstormmaster(暴风雨 v2.0)是对你这句话的回答:“晕,我是要在程序里实现拖动窗体之前先画个虚线框。”


由于拖曳标题栏是触发非客户区消息
VB没有对应事件
所以得自己用子类技术拦截消息并自己编码模拟拖曳效果
回复
苯苯苯熊PK 2006-01-21
TO:rainstormmaster
不过这个函数对你的问题应该没什么帮助,你应该考虑在子类中拦截相应的消息,然后进行处理
????

怎么实现呢。
回复
rainstormmaster 2006-01-21
【VB声明】
Private Declare Function DrawFocusRect Lib "user32" Alias "DrawFocusRect" (ByVal hdc As Long, lpRect As RECT) As Long

【说明】
画一个焦点矩形。这个矩形是在标志焦点的样式中通过异或运算完成的(焦点通常用一个点线表示)。如用同样的参数再次调用这个函数,就表示删除焦点矩形

【返回值】
Long,非零表示成功,零表示失败。会设置GetLastError

【参数表】
hdc ------------ Long,设备场景的句柄

lpRect --------- RECT,要在逻辑坐标中描绘的矩形

不过这个函数对你的问题应该没什么帮助,你应该考虑在子类中拦截相应的消息,然后进行处理
回复
苯苯苯熊PK 2006-01-21
谢谢上面两位,不过我是2000,谁知道用DrawFocusRect函数在拖动窗体大小时画虚线的实现。
回复
faysky2 2006-01-21
赞同 fuxc(Michael(继续迷茫))
回复
苯苯苯熊PK 2006-01-21
晕,我是要在程序里实现拖动窗体之前先画个虚线框。
回复
fuxc 2006-01-21
我的电脑-->属性-->高级-->性能选项-->视觉效果-->自定义-->拖拉时显示窗口内容
回复
fuxc 2006-01-21
是通过windows设置改变的
回复
发动态
发帖子
VB基础类
创建于2007-09-28

7453

社区成员

VB 基础类
申请成为版主
社区公告
暂无公告