非标题区域拖动窗体VB

窗体空白区域按下鼠标左键即可任意拖动窗体,不需要拖动标题栏。

Dim MoveScreen As Boolean
Dim MousX As Integer
Dim MousY As Integer
Dim CurrX As Integer
Dim CurrY As Integer

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = 1 Then
        MoveScreen = True
        MousX = X
        MousY = Y
    End If
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If MoveScreen Then
        CurrX = Form1.Left - MousX + X
        CurrY = Form1.Top - MousY + Y
        Form1.Move CurrX, CurrY
    End If
End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    MoveScreen = False
End Sub

原文地址:https://www.cnblogs.com/chenxiehan/p/12585337.html

时间: 2024-11-13 15:58:14

非标题区域拖动窗体VB的相关文章

Win32 GDI 非矩形区域剪裁,双缓冲技术

传统的Win32通过GDI提供图形显示的功能,包括了基本的绘图功能,如画线.方块.椭圆等等,高级功能包括了多边形和Bezier的绘制.这样app就不用关心那些图形学的细节了,有点类似于UNIX上的X-window协议.你信或者不信,那些看上去很花哨的控件,其实就是一笔一划画上去的而已.GDI提供了画笔(用于线条).画刷(用于填充).调色板(用于支持256色显示).字体(用于文字).如果简单的图形不足以表达,你可以使用位图和画布(DC,设备上下文)直接将图像绘制到屏幕上去.此外,GDI还支持一些简

jquery点击非div区域隐藏div

点击非div区域隐藏div,如图,点击圆的头像(.person-msg)弹出白色底框(.person-centre).点击圆头像以外的区域隐藏白色底框 html代码 <div class="per_c"> <div class="person-msg pull-right"> <img src="../../res/images/snow_man.jpg"> </div> <dl class=

FormBorderStyle为None的时候如何拖动窗体

1 //为DllImport导出命名空间, 2 using System.Runtime.InteropServices; 3 public partial class Form1 : System.Windows.Forms.Form 4 { 5 #region FormBorderStyle为None,拖放窗体 6 [DllImport("user32.dll")] 7 public static extern bool ReleaseCapture(); 8 [DllImport

WPF无边框可拖动窗体

下面主要记录下创建无边框窗体,并且可以拖动.这种窗体主要用于弹出小窗体时. <Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http

鼠标拖动窗体

1.鼠标在客户区拖动窗口 重载消息函数 procedure WMNCHitTest(var Message: TWMNCHitTest); message WM_NCHITTEST; procedure TForm1.WMNCHitTest(var Message: TWMNCHitTest); begin inherited; //不可缺少 if (=Message.Result = HTCLIENT) then Message.Result := HTCAPTION; end; 2.鼠标在

当winform窗体的Bordestyle设置为None时,鼠标可以拖动窗体的办法

1 2015-07-11 16:05:35 2 bool formMove = false;//窗体是否移动 3 Point formPoint;//记录窗体的位置 4 private void Form1_MouseDown(object sender, MouseEventArgs e) 5 { 6 formPoint = new Point(); 7 int xOffset; 8 int yOffset; 9 if (e.Button == MouseButtons.Left) 10 {

delphi无边框可拖动窗体

unit UFrmModless; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TFrmModeless = class(TForm) lblInfo: TLabel; btnClose: TButton; procedure FormClose(Sender: TObject; var Action: TClos

[转万一] 不使用标题栏拖动窗体

http://www.cnblogs.com/del/archive/2008/04/30/1178226.html 方法一.二.三效果图: 方法四效果图: 方法一: unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs; type   TForm1 = class(TForm)     procedure FormMous

窗体皮肤实现 - 重绘窗体非客户区(三)

窗体边框基本的绘制和控制完成,在第二篇中主要遗留的问题. 标题区域图标和按钮没绘制 缩放时客户区显示有问题 解决完下面的问题,皮肤处理基本完整.大致的效果GIF GIF中TShape的颜色表现有些问题,实际是正常的. 绘制标题区域内容 获取标题有效区域 绘制窗体图标 绘制按钮 绘制标题 标题区域主要考虑窗体是否在最大化状态,最大化后实际的标题绘制区域会有变化.可以通过 IsZoomed 或 GetWindowLong(Handle, GWL_STYLE) and WS_MAXIMIZE = WS