Private Const GWL_STYLE = (-16)             '窗口样式

'窗口风格
Private Const WS_CAPTION = &HC00000         '带标题栏的窗口
Private Const WS_MAXIMIZEBOX = &H10000      '带最大化按钮的窗口
Private Const WS_MINIMIZEBOX = &H20000      '带最小化按钮的窗口
Private Const WS_SYSMENU = &H80000          '带系统菜单的窗口
Private Const WS_CLIPSIBLINGS = &H4000000   '不重绘层叠子窗口
Private Const WS_CLIPCHILDREN = &H2000000   '绘图时排子窗口区域
Private Const WS_OVERLAPPED = &H0&          '具有标题栏和边框的层叠窗口
Private Const WS_THICKFRAME = &H40000       '具有可调边框
'WS_OVERLAPPEDWINDOW具有标题栏、窗口菜单、可调边框和最大化、最小化按钮的窗口
Private Const WS_OVERLAPPEDWINDOW = (WS_OVERLAPPED Or WS_CAPTION Or WS_SYSMENU Or WS_THICKFRAME Or WS_MINIMIZEBOX Or WS_MAXIMIZEBOX)
Private Const WS_GROUP = &H20000            '指定一组控制的第一个控制
Private Const WS_POPUP = &H80000000         '弹出式窗口
Private Const WS_BORDER = &H800000          '单边框窗口
Private Const WS_POPUPWINDOW = (WS_POPUP Or WS_BORDER Or WS_SYSMENU) '具有单边框、标题栏菜单的弹出式窗口
Private Const WS_MINIMIZE = &H20000000      '窗口最小化
Private Const WS_VISIBLE = &H10000000       '窗口可见
Private Const WS_DISABLED = &H8000000       '窗口被禁用
Private Const WS_MAXIMIZE = &H1000000       '窗口最大化
Private Const WS_DLGFRAME = &H400000        '对话框边框风格
Private Const WS_VSCROLL = &H200000         '具有垂直滚动条
Private Const WS_HSCROLL = &H100000         '具有水平滚动条
Private Const WS_TABSTOP = &H10000          '具有TAB键控制
Private Const WS_CHILD = &H40000000
Private Const WS_CHILDWINDOW = (WS_CHILD)   '具有子窗口

'扩展风格
Private Const WS_EX_WINDOWEDGE = &H100&         '窗口具有凸起的3D边框
Private Const WS_EX_CLIENTEDGE = &H200&         '窗口具有阴影边界
Private Const WS_EX_TOOLWINDOW = &H80&          '小标题工具窗口
Private Const WS_EX_TOPMOST = &H8&              '窗口总在顶层
Private Const WS_EX_OVERLAPPEDWINDOW = (WS_EX_WINDOWEDGE Or WS_EX_CLIENTEDGE) 'WS_EX-CLIENTEDGE和WS_EX_WINDOWEDGE的组合
Private Const WS_EX_PALETTEWINDOW = (WS_EX_WINDOWEDGE Or WS_EX_TOOLWINDOW Or WS_EX_TOPMOST) 'WS_EX_WINDOWEDGE和WS_EX_TOOLWINDOW和WS_EX_TOPMOST的组合
Private Const WS_EX_DLGMODALFRAME = &H1&        '带双边的窗口
Private Const WS_EX_NOPARENTNOTIFY = &H4&       '窗口在创建和销毁时不向父窗口发送WM_PARENTNOTIFY消息
Private Const WS_EX_TRANSPARENT = &H20&         '窗口透眀
Private Const WS_EX_MDICHILD = &H40&            'MDI子窗口
Private Const WS_EX_CONTEXTHELP = &H400&        '标题栏包含问号联机帮助按钮
Private Const WS_EX_RIGHT = &H1000&             '窗口具有右对齐属性
Private Const WS_EX_RTLREADING = &H2000&        '窗口文本自右向左显示
Private Const WS_EX_LEFTSCROLLBAR = &H4000&     '标题栏在客户区的左边
Private Const WS_EX_CONTROLPARENT = &H10000     '允许用户使用Tab键在窗口的子窗口间搜索
Private Const WS_EX_STATICEDGE = &H20000        '为不接受用户输入的项创建一个三维边界风格
Private Const WS_EX_APPWINDOW = &H40000         '在任务栏上显示顶层窗口的标题按钮
Private Const WS_EX_LAYERED = &H80000           '窗口具有透眀属性(Win2000)以上
Private Const WS_EX_NOINHERITLAYOUT = &H100000 '窗口布局不传递给子窗口(Win2000)以上
Private Const WS_EX_LAYOUTRTL = &H400000        '水平起点在右边的窗口
Private Const WS_EX_NOACTIVATE = &H8000000      '窗口不会变成前台窗口(Win2000)以上
Private Const WS_EX_LEFT = &H0&                 '窗口具有左对齐属性
Private Const WS_EX_LTRREADING = &H0&           '窗口文本自左向右显示
Private Const WS_EX_RIGHTSCROLLBAR = &H0&       '垂直滚动条在窗口的右边界
Private Const WS_EX_ACCEPTFILES = &H10&         '接受文件拖曳
Private Const WS_EX_COMPOSITED = &H2000000      '窗体所有子窗口使用双缓冲从低到高绘制(XP)

Private Sub Command1_Click()
    OrStyle
End Sub

Private Sub OrStyle()

Dim lStyle As Long

lStyle = GetWindowLong(Me.hwnd, GWL_STYLE)    '获取原风格

'lStyle = lStyle And Not WS_OVERLAPPEDWINDOW

'    lStyle = lStyle And Not WS_OVERLAPPED         '去除不用的风格
'    lStyle = lStyle And Not WS_THICKFRAME
'    lStyle = lStyle And Not WS_MAXIMIZEBOX

lStyle = lStyle Or WS_SYSMENU                 '加上自定义风格
    lStyle = lStyle Or WS_GROUP
    lStyle = lStyle Or WS_MINIMIZEBOX

SetWindowLong p.hwnd, GWL_STYLE, lStyle      '设置新的风格

Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 2
    p.Refresh
End Sub

win32窗口样式GWL_EXSTYLE的更多相关文章

  1. WPF 使用 WindowChrome,在自定义窗口标题栏的同时最大程度保留原生窗口样式(类似 UWP/Chrome)

    WPF 自定义窗口样式有多种方式,不过基本核心实现都是在修改 Win32 窗口样式.然而,Windows 上的应用就应该有 Windows 应用的样子嘛,在保证自定义的同时也能与其他窗口样式保持一致当 ...

  2. Windows窗口样式速查参考,Delphi窗口控件的风格都有它们来决定(附Delphi何时用到它们,并举例说明)good

    /* 窗口样式参考列表(都是GetWindowLong的GWL_STYLE风格,都是TCreateParams.Sytle的一部分),详细列表如下:https://msdn.microsoft.com ...

  3. .NET批量操作窗口样式

    1. 背景 我们在开发过程中,可能会遇到需要批量控制程序中窗体的大小或其它一些操作, 这些窗体有可能是属于程序本身的,也许是其它程序的窗口.本文就是基于此的一篇关于如何批量操作窗口样式的,我们主要是通 ...

  4. 使用 SetParent 制作父子窗口的时候,如何设置子窗口的窗口样式以避免抢走父窗口的焦点

    原文:使用 SetParent 制作父子窗口的时候,如何设置子窗口的窗口样式以避免抢走父窗口的焦点 制作传统 Win32 程序以及 Windows Forms 程序的时候,一个用户看起来独立的窗口本就 ...

  5. Win32 - 窗口

    Win32 - 窗口 目录 Win32 - 窗口 前言 流程图 创建项目 VS MinGW Win32API字符串 Unicode 和 ANSI 函数 TCHAR WinMain:Win32 Appl ...

  6. DotNetBar 第1课,设置整体窗口样式

    1. 先引用 DevComponents.DotNetBar2.dll 2. 窗口继承 Office2007Form public partial class Form1 : Office2007Fo ...

  7. MFC学习 修改窗口样式

    1. 在PreCreateWindow中可用CREATESTRUCT cs, cs.lpszName修改窗口标题, cs.lpszClass = AfxRegisterWndClass 修改图标与样式 ...

  8. DotNetBar怎样控制窗口样式

    DotNetBar怎样控制窗口样式 老帅  在C#中使用控件DevComponents.DotNetBar时,怎样创建一个美丽的窗口.并控制窗口样式呢? 1.新建一个DotNetBar窗口       ...

  9. DotNetBar的窗口样式丢失

    DotNetBar的窗口样式丢失 C# 调用DotNetBar很方便,将DevComponents.DotNetBar2.dll和DevComponents.DotNetBar.Design.dll放 ...

随机推荐

  1. Jenkins搭建GitHub仓库

    一.安装Jenkins 二.安装Git 三.注册GitHub账号 以上都很简单,网上资源丰富 四.新增GitHub远程仓库,连接到本地Git,这样就可以实现代码提交到GitHub中了 ----自行找资 ...

  2. 初学Laravel框架与ThinkPHP框架的不同

    作为一个PHP菜鸟初学Laravel框架 在学习过程中我发现了其与TP框架的不同点,由于时间问题和认识还不够完善我先写出其中几点,有错误的地方希望各位大牛斧正... 1.渲染模版方式的不同:在Lara ...

  3. 解决spring boot在RabbitMQ堆积消息情况下无法启动问题

    最近遇到一个问题,服务站点上线之前,先去新建需要的rabbitmq并绑定关系,此时 如果发送消息方运行, 那边会造成新建的q消息部分堆积得不到及时消费 那么问题来了? 在消息堆积情况下,服务站点无法启 ...

  4. Linux下第一次Node尝试

    由于需求所定,必须在服务器上使用nodejs,第一次使用过程记录下来. 首先是安装node,这里可以下载到各个版本的node:https://nodejs.org/download/ 我是进入rele ...

  5. Jquery EasyUI Tree树形结构的Java实现(实体转换VO)

    前一阵做的OA项目,有一个是组织架构的树,因为是分开做的,我做的是Controller和页面,其他组做的Service和Dao,因为之前一直没有商量页面用什么框架做比较好,导致,Dao层取出来的数据都 ...

  6. Linux下的软件的安装

     一.yum相关介绍及命令 [1] 用来管理软件的一个命令.通过该命令完成对软件的下载.卸载等操作. [2] 命令:(必须在yum搭建成功后才能正常运行) yum  clean all      清楚 ...

  7. Linux:history命令详解

      Linux下History命令 主要用于显示历史指令记录内容, 下达历史纪录中的指令 . 语法 history [n] history [-c] history [-raw] histfiles ...

  8. cookie和session的区别与联系

    http://www.cnblogs.com/s1nker/p/4876284.html 基本概念 对于许多人来说,都知道的是,cookie是存储在客户端的,可以用来放需要长期使用的内容,例如用户密码 ...

  9. 添加courses模块

    startapp courses from django.db import models from datetime import datetime # Create your models her ...

  10. JS跨页面或跨JS文件对变量赋值

    JS跨页面或跨JS文件对变量赋值,这是很小的一个问题. 但问题虽小,却总觉得有点不够自然,不爽. 为什么呢?访问一个页面上的变量不是什么难事,比如用parent.变量名,或者windows名.变量名, ...