vb6中无边框窗口拖动窗口很卡问题

Vb编程的窗口改成无边框后怎么随意点一处可以拖动窗口?? 谢谢啦啦啦啦啦_百度知道
Vb编程的窗口改成无边框后怎么随意点一处可以拖动窗口?? 谢谢啦啦啦啦啦
提问者采纳
Y As Single)X0 = XY0 = YEnd SubPrivate Sub Form_MouseMove(Button As Integer。以下程序可以实现点击窗体空白部分对窗体进行拖曳移动!.Top = Me用mousedown和mousemove事件结合就可以了。Dim X0!Private Sub Form_MouseDown(Button As Integer.Left = Me, Y0, Y As Single)If Button = 1 ThenMe, Shift As Integer, X As Single, X As Single, Shift As Integer.Left + X - X0Me
提问者评价
谢谢你帮我大忙了
其他类似问题
为您推荐:
其他2条回答
X As Single.Enabled = FalseEnd SubPrivate Sub Timer1_Timer()
GetCursorPos p
Form1.YEnd SubPrivate Sub Form_MouseUp(Button As Integer, Y1 As LongPrivate Sub Form_MouseDown(Button As Integer.Y - Y1) * 15
X1 = p, Shift As Integer.Left = Form1.Left + (p.Enabled = True
GetCursorPos p
Y1 = p.Top + (p;设置为falseOption ExplicitPrivate Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As LongPrivate Type POINTAPI
Y As LongEnd TypeDim p As POINTAPI窗体放一个timer&nbsp.X - X1) * 15
Y1 = p, Y As Single)
Timer1, Shift As Integer, X1 As Long, X As Single.Interval = 10
Timer1, Y As Single)
Timer1.Top = Form1
你的无边框是将borderstyle改为0吗?
是的,改为零就不能够移动了。
使用窗体Form的mousedown和mousemove事件,当鼠标点下时获得当前窗体坐标,然后在鼠标移动事件中重新加载窗体位置
vb编程的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁VB6&移动无边框无标题栏窗口
'**************************************************
Const HTCAPTION = 2
Const WM_NCLBUTTONDOWN =
'Private Const GWL_STYLE = (-16)
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
Private Sub
Form_MouseDown(Button As
Integer, Shift As
Integer, x As
Single, Y As
If Button = 1 Then
Dim ReturnVal As
x = ReleaseCapture()
ReturnVal = SendMessage(hwnd, WM_NCLBUTTONDOWN,
HTCAPTION, 0)
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。本文欢迎转载,转载请注明:转载自中国学网: []
用户还关注用心创造滤镜
扫码下载App
汇聚2000万达人的兴趣社区下载即送20张免费照片冲印
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
import java.awt.Pimport java.awt.event.MouseAimport java.awt.event.MouseEimport java.awt.event.MouseMotionAimport javax.swing.JFpublic class P { private JF // 全局的位置变量,用于表示鼠标在窗口上的位置 static Point origin = new Point(); /**
* Launch the application.
*/ public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
P window = new P();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
* Create the application.
*/ public P() {
initialize(); } /**
* Initialize the contents of the frame.
*/ private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 380, 290);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
frame.setLocationRelativeTo(null);
frame.setUndecorated(true);
frame.addMouseListener(new MouseAdapter() {
// 按下(mousePressed 不是点击,而是鼠标被按下没有抬起)
public void mousePressed(MouseEvent e) {
// 当鼠标按下的时候获得窗口当前的位置
origin.x = e.getX();
origin.y = e.getY();
frame.addMouseMotionListener(new MouseMotionAdapter() {
// 拖动(mouseDragged 指的不是鼠标在窗口中移动,而是用鼠标拖动)
public void mouseDragged(MouseEvent e) {
// 当鼠标拖动时获取窗口当前位置
Point p = frame.getLocation();
// 设置窗口的位置
// 窗口当前的位置 + 鼠标当前在窗口的位置 - 鼠标按下的时候在窗口的位置
frame.setLocation(p.x + e.getX() - origin.x, p.y + e.getY()- origin.y);
阅读(2575)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'Java。Swing。无边框拖动整个窗口',
blogAbstract:'import java.awt.EventQimport java.awt.Pimport java.awt.event.MouseAimport java.awt.event.MouseEimport java.awt.event.MouseMotionAimport javax.swing.JFpublic class P {',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:7,
permalink:'blog/static/',
commentCount:1,
mainCommentCount:1,
recommendCount:2,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}网页设计教程与开发
提供各种常见网页效果
提供各种各样的设计教程
装扮QQ,让QQ变得更酷
设计参考,提高自升水平
学习服务器和操作系统
提供各种素材和工具
收藏学习资料
您现在的位置:&&>>&&>>&&>>&&>>&正文
VB.NET 拖动无边框窗体编程实例
 Imports System.Drawing Imports System.Windows.Forms '******************************************   Private oOriginalRegion As Region = Nothing   ' 用于窗体移动   Private bFormDragging As Boolean = False   Private oPointClicked As Point   '******************************************
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
  Me.bFormDragging = True   Me.oPointClicked = New Point(e.X, e.Y)
  End Sub
  '******************************************
Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseUp   Me.bFormDragging = False
  End Sub
  '******************************************
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove   If Me.bFormDragging Then   Dim oMoveToPoint As Point   ' 以当前鼠标位置为基础,找出目标位置   oMoveToPoint = Me.PointToScreen(New Point(e.X, e.Y))   ' 根据开始位置作出调整   oMoveToPoint.Offset(Me.oPointClicked.X * -1, _   (Me.oPointClicked.Y + _   SystemInformation.CaptionHeight + _   SystemInformation.BorderSize.Height) * -1)   ' 移动窗体   Me.Location = oMoveToPoint   End If
  End Sub
转载请注明:破洛洛(谢谢合作)
上一篇文章: 下一篇文章:
网友评论:

我要回帖

更多关于 拖动窗口很卡 的文章

 

随机推荐