发信人: mendy.bbs@bbs.nju.edu.cn (孟迪), 信区: cnprogram
标  题: VB调用API技巧--拖动无系统标准标题棒的窗口 
发信站: nju_bbs (Mon Apr 20 04:40:31 1998)
转信站: Lilac!ustcnews!nju_bbs

发信人: wangzhe (大傻), 信区: RAD
标  题:  VB调用API技巧--拖动无系统标准标题棒的窗口 (转载)
发信站: '3m紫金飞鸿m' (Fri Feb 13 12:36:04 1998) , 转信

【 原文由 xiaobo 所发表 】
转自《中国计算机报》[一九九七年十月六日 总第678期] 第128版

吴斌

VB调用API技巧--拖动无系统标准标题棒的窗口

  大家知道,在VB中可以通过设置Form的属性,制作无
系统标题棒的窗口。可是,由于失去了系统标题棒,如何
使用鼠标拖动窗口便成了一个棘手的问题。其实,借助API函数
ReleaseCapture和SendMessage,这个问题便可迎刃而解了。

  首先,在module文件中加入下列声明语句:

  Declare Sub ReleaseCapture Lib"User"()

  Declare Function SendMessage Lib"User"(ByVal hWnd _
As Integer,ByVal wMsg As Integer,ByVal wParam As Integer,_
lParam As Any)As Long

  Public Const WM_SYSCOMMAND=&H112

  Public Const SC_MOVE=&HF010
  Public Const HTCAPTION=2

  然后,在Form的MouseDown事件中加入下列代码:

  ReleaseCapture

  Ret&=SendMessage(Me.hWnd,WM_SYSCOMMAND,_
SC_MOVE+HTCAPTION,0)

  ……

  程序运行后,只要当光标落在Form区域时按住鼠标左
键,便可以拖动窗口了。在一些要求生动活泼的界面的程
序设计中,开发者常常希望自制风格独特的标题棒,以满
足整个界面的要求。通过这个方法,就可以使自制的标题
棒达到乱真的地步。不过,用作自制标题棒的控件,必须
具有MouseDown事件以摆放上述代码。

--
m;32m※ 来源:·紫金飞鸿 bbs.njupt.edu.cn·[FROM: 166.111.28.76]m

--
※ 来源:.南大小百合信息交换站 bbs.nju.edu.cn.[FROM: a507yjh.nju.edu]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.515毫秒