请VB同行们拉本菜鸟一把,我已经给出了我所能给的最高分

stephenz2 2000-07-23 01:31:00
请问:
如何用API函数实现象Magicwin 或 Richwin 一样的无标题栏窗体拖动?
谢谢!
...全文
80 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
stephenz2 2000-07-23
  • 打赏
  • 举报
回复
谢谢你!
flywhc 2000-07-23
  • 打赏
  • 举报
回复
转贴一篇给你
  大家知道,在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事件以摆放上述代码。

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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