软件注册站
热情软件屋

 
怎样使窗体移动时,窗体都以显示内容的方式来显示
编号: QA001292    
建立日期: 1999年7月6日 最后修改日期: 2003年12月27日
所属类别: Visual Basic - 窗体与菜单
   
    怎样使窗体在移动时,不管系统设置是“移动时显示内容”还是“移动时不显示内容”我的窗体都以显示内容的方式来显示?(joeyu)
   
    关于这个问题,我有一个折中的办法,就是先使窗体无标题栏(无法移动),再自己加入一个“标题栏”(点击它拖动窗体),然后在这个“标题栏”的DragDrop或DragOver事件中加入代码使窗体关于DragDrop(DragOver)事件中的X,Y值进行移动,就可做到。这只是本人的意见,若有更好的方法请予以赐教!
    
    贺海波的意见:
    可以用API函数和计时器控件来解决这个问题,具体实例如下:
    新建一个窗体,在上面加入一个计时器控件,设置其ENABELD属性为FLASE,INTERVAL属性为1。
    新建一个模块,加入以下声明:
    Option Explicit
    Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    Public Declare Function ReleaseCapture Lib "user32" () As Long
    Public Const WM_NCLBUTTONDOWN = &HA1
    Public Const HTCAPTION = 2
    
    

    在计时器的TIMER事件中加入以下代码:
    Private Sub Timer1_Timer()
    ReleaseCapture
    SendMessage Me.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0
    End Sub
    
    

    在窗体的MOUSEMOVE事件中加入以下代码:
    Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = 1 Then
    Timer1.Enabled = True
    Else
    Timer1.Enabled = False
    End If
    End Sub
    

    OK,就这么简单

    

此问题由Words Tenner回答。

附加关键字:编程, 源程序, programming, source code, Visual Basic, VB, 窗体与菜单, form, window, tform

   
 
把这个问题推荐给朋友
   
 
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio