您的位置:程序门 -> vb ->



一个窗体在标题栏及边框被隐藏后,如何使用边框的一些特有功能


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


一个窗体在标题栏及边框被隐藏后,如何使用边框的一些特有功能
发表于:2007-07-19 09:55:50 楼主
小弟我正在制作一个软件的ui界面,希望能实现如:windows   media   player   那样在标题栏及边框被隐藏的情况下,使用其他控件模拟他们的功能,从而能应用自定义外观。
    但在使用其他控件模拟他们的功能后,如:在客户区右下角拖动窗体以改变窗体大小时,窗体会因mouse_move事件而不断重绘窗体,而我希望能够象windows   media   player   那样在mouse_move事件发生时只是显示一个用于定位的虚线框,在发生mouse_up事件时才重绘窗体(类似于边框的功能),还有在移动窗体时也希望使用虚线框来定位。
    但我没有找到vb2005类库里有类似功能的支持,是否要用到api
    请各位老大指点!
发表于:2007-07-19 10:25:021楼 得分:0
没有人知道吗
发表于:2007-07-19 13:16:182楼 得分:0
各位大虾给些提示也好呀,我已经加分了
发表于:2007-07-19 14:21:203楼 得分:0
....帮顶一下
发表于:2007-07-23 13:27:274楼 得分:0
应该是要用到api.对.net这个堡垒了解太不了.
这里是一个,移动无标题的窗体的vb6代码,希望对你有帮助
private   declare   function   sendmessage   lib   "user32 "   alias   "sendmessagea "   (byval   hwnd   as   long,   byval   wmsg   as   long,   byval   wparam   as   long,   lparam   as   any)   as   long
private   declare   sub   releasecapture   lib   "user32 "   ()
const   wm_nclbuttondown   =   &ha1
const   htcaption   =   2
private   sub   form_mousemove(button   as   integer,   shift   as   integer,   x   as   single,   y   as   single)
        'kpd-team   1999
        'url:   http://www.allapi.net/
        'e-mail:   kpdteam@allapi.net
        dim   lngreturnvalue   as   long
        if   button   =   1   then
                'release   capture
                call   releasecapture
                'send   a   'left   mouse   button   down   on   caption '-message   to   our   form
                lngreturnvalue   =   sendmessage(me.hwnd,   wm_nclbuttondown,   htcaption,   0&)
        end   if
end   sub
private   sub   form_paint()
        me.print   "click   on   the   form,   hold   the   mouse   button   and   drag   it "
end   sub
发表于:2007-07-23 17:29:125楼 得分:0
既然知道了如何拖动窗体,那改变大小不就容易了。

'   拖动窗体
private   sub   label1_mousedown(button   as   integer,   shift   as   integer,   x   as   single,   y   as   single)
        releasecapture
        sendmessage   me.hwnd,   wm_nclbuttondown,   htcaption,   0
end   sub

'   从左下改变窗体大小
private   sub   label2_mousedown(button   as   integer,   shift   as   integer,   x   as   single,   y   as   single)
        releasecapture
        sendmessage   me.hwnd,   wm_nclbuttondown,   htbottomleft,   0
end   sub

'   从右下改变窗体大小
private   sub   label3_mousedown(button   as   integer,   shift   as   integer,   x   as   single,   y   as   single)
        releasecapture
        sendmessage   me.hwnd,   wm_nclbuttondown,   htbottomright,   0
end   sub

'   从左上改变窗体大小
private   sub   label4_mousedown(button   as   integer,   shift   as   integer,   x   as   single,   y   as   single)
        releasecapture
        sendmessage   me.hwnd,   wm_nclbuttondown,   httopleft,   0
end   sub

'   从右上改变窗体大小
private   sub   label5_mousedown(button   as   integer,   shift   as   integer,   x   as   single,   y   as   single)
        releasecapture
        sendmessage   me.hwnd,   wm_nclbuttondown,   httopright,   0
end   sub
发表于:2007-07-31 17:37:146楼 得分:0
好像lz说的是想要拖动窗体时,仅显示边框吧?

ps:偶的wmp在移动时没有虚线框滴:)

桌面,右键,属性,外观,效果,“拖动时显示窗口内容”


快速检索

最新资讯
热门点击