| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1721 人关注过本帖
标题:[求助]窗体去掉边框后为什么不能移动了?
只看楼主 加入收藏
airattic
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-5-3
收藏
得分:0 

楼上的兄台:我早就想过这个问题,现在的问题就是在没有边框的情况下如何才能移动窗体?还有6楼的代码我加了,但是还是不能移动。咋回事?


2007-07-24 19:26
slore
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1108
专家分:0
注 册:2005-7-1
收藏
得分:0 

汗~我打不开你的工程我没有装EXCEL...所以看不了你的窗体样子。。。你的窗体被控件覆盖了?

6楼的代码是FORM的鼠标按下触发。。。。如果你的FORM挡住了当然就不行了。。。。


人家代码对的。。你对边框是什么概念?

下面是个例子,你放个按钮上去:
Option Explicit
Private Declare Function
ReleaseCapture Lib "user32" () As Long
Private Declare Function
SendMessage& Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any)
Private Const htcaption = 2
Private Const wm_nclbuttondown = &HA1

Private Sub Command1_Click() '这个需要空格或者回车触发
End
End Sub

Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim i& , r&
If Button = 1 Then
i = ReleaseCapture()
r = SendMessage(hwnd, wm_nclbuttondown, htcaption, 0)
End If
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim i & , r &
If Button = 1 Then
i = ReleaseCapture()
r = SendMessage(hwnd, wm_nclbuttondown, htcaption, 0)
End If
End Sub


拖窗体可以移动。。。。如果你把按钮放大到整个屏幕。。。拖按钮可以移动。。。


快上课了……
2007-07-24 20:26
zrgong
Rank: 1
等 级:新手上路
帖 子:95
专家分:0
注 册:2007-6-26
收藏
得分:0 
6楼代码加了,登陆框可以移动啊,你只要在登陆框(login)中粘贴上6楼代码就可以了

2007-07-25 00:27
airattic
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-5-3
收藏
得分:0 
我试试先

2007-07-25 23:05
cccool
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:268
专家分:555
注 册:2007-5-1
收藏
得分:0 
窗体有边框时就可以用鼠标拖动,但当没有时就得自己写代码,我写了一点:
dim flag as Boolean
Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = 1 Then
flag = True
X1 = x
Y1 = y
End If
End Sub
Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
If flag = True Then
Form1.Move Form1.Left + (x - X1), Form1.Top + (y - Y1)
End If
End Sub
窗体有边框时就可以用鼠标拖动,但当没有时就得自己写代码,我写了一点:
dim flag as Boolean
Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = 1 Then
flag = True
X1 = x
Y1 = y
End If
End Sub
Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
If flag = True Then
Form1.Move Form1.Left + (x - X1), Form1.Top + (y - Y1)
End If
End Sub
窗体有边框时就可以用鼠标拖动,但当没有时就得自己写代码,我写了一点:
dim flag as Boolean
Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = 1 Then
flag = True
X1 = x
Y1 = y
End If
End Sub
Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
If flag = True Then
Form1.Move Form1.Left + (x - X1), Form1.Top + (y - Y1)
End If
End Sub
窗体有边框时就可以用鼠标拖动,但当没有时就得自己写代码,我写了一点:
dim flag as Boolean
Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = 1 Then
flag = True
X1 = x
Y1 = y
End If
End Sub
Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
If flag = True Then
Form1.Move Form1.Left + (x - X1), Form1.Top + (y - Y1)
End If
End Sub
Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
flag = False
Form1.Move Form1.Left + (x - X1), Form1.Top + (y - Y1)
End Sub

[fly]让心情飞一会[/fly]
">Email to Me     
2007-07-26 10:31
心中有剑
Rank: 2
等 级:新手上路
威 望:5
帖 子:611
专家分:0
注 册:2007-5-18
收藏
得分:0 

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 Const WM_SYSCOMMAND = &H112
Private Const SC_MOVE = &HF010&
Private Const HTCAPTION = 2
Private Declare Function ReleaseCapture Lib "user32" () As Long

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
ReleaseCapture
SendMessage Me.hWnd, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0
End If
End Sub


2007-07-26 11:34
快速回复:[求助]窗体去掉边框后为什么不能移动了?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017437 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved