跳过产品信息
  • excel frameless dwm api gui interface design | vivre-motion
  • excel frameless dwm api gui interface design template | vivre-motion
1 2

vivre-motion

Excel 现代 GUI VBA 接口

SKU: VM-70018

正常价格
€ 0,00 EUR
正常价格
€ 3,00 EUR
销售价格
€ 0,00 EUR
含税。 运费 在结账时计算。

干净的Excel界面设计

无框架 DWM API VBA 用户窗体

使用具有 SoftShadow 效果的无框现代界面模板表单,将您的 Excel(用户窗体)用户界面提升到一个新的干净级别,如 Windows 11。


VBA 源代码

选项显式 '//////////////////////////////////////////////// /////////////////////////////////// 私有声明 PtrSafe 函数 SendMessage Lib“user32”别名“SendMessageA”(ByVal H_WINDOW As Long,ByVal wMsg As Long,ByVal wParam As Long,lParam As Any) Private Declare PtrSafe Function ReleaseCapture Lib "user32" () As Long 私有声明 PtrSafe 函数 ShellExecute Lib“shell32.dll”别名“ShellExecuteA”(ByVal hWnd As Long,ByVal lpOperation As String,ByVal lpFile As String,ByVal lpParameters As String,ByVal lpDirectory As String,ByVal nshowcmd As Long) 私有声明 PtrSafe 函数 SetWindowLong Lib "user32" 别名 "SetWindowLongA" (ByVal H_WINDOW As Long, ByVal lngWinIdx As Long, ByVal dwNewLong As Long) 私有声明 PtrSafe 函数 GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal H_WINDOW As Long, ByVal lngWinIdx As Long) 私有声明 PtrSafe 函数 SetLayeredWindowAttributes Lib "user32" (ByVal H_WINDOW As Long, ByVal crKey As Integer, ByVal bAlpha As Integer, ByVal dwFlags As Long) Private Declare PtrSafe Function FindWindow Lib "user32" 别名 "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare PtrSafe Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long Private Declare PtrSafe Function DrawMenuBar Lib "user32" (ByVal H_WINDOW As Long) As Long 私有声明 PtrSafe 函数 GetWindow Lib "user32" (ByVal hWnd As Long, ByVal wCmd As Long) As Long 私有声明 PtrSafe 函数 DwmSetWindowAttribute Lib“dwmapi”(ByVal hWnd As Long,ByVal attr As Integer,ByRef attrValue As Integer,ByVal attrSize As Long) 私有声明 PtrSafe 函数 DwmExtendFrameIntoClientArea Lib "dwmapi" (ByVal hWnd As Long, ByRef NEWMARGINS As MARGINS) As Long '//////////////////////////////////////////////// /////////////////////////////////// 私有常数 GWL_STYLE = (-16) Private Const WS_CAPTION = &HC00000 '//// WS_BORDER 或 WS_DLGFRAME 私有常量 WS_BORDER = &H800000 Private Const GWL_EXSTYLE As Long = (-20) '//// 窗口扩展样式的偏移量 Private Const WS_EX_DLGMODALFRAME As Long = &H1 '//// 如果窗口有图标则控制 Private Const SC_CLOSE As Long = &HF060 私有常量 SW_SHOW As Long = 5 私有常量 WS_EX_LAYERED = &H80000 私人常量 LWA_COLORKEY = &H1 私有常数 LWA_ALPHA = &H2 私有常量 WS_EX_TRANSPARENT = &H20& '//////////////////////////////////////////////// /////////////////////////////////// 私有枚举 ESetWindowPosStyles SWP_SHOWWINDOW = &H40 SWP_HIDEWINDOW = &H80 SWP_FRAMECHANGED = &H20 '//// 帧已更改发送 WM_NCCALCSIZE SWP_NOACTIVATE = &H10 SWP_NOCOPYBITS = &H100 SWP_NOMOVE = &H2 SWP_NOOWNERZORDER = &H200 '// 不要进行所有者 Z 排序 SWP_NOREDRAW = &H8 SWP_NOREPOSITION = SWP_NOOWNERZORDER SWP_NOSIZE = &H1 SWP_NOZORDER = &H4 SWP_DRAWFRAME = SWP_FRAMECHANGED HWND_NOTOPMOST = -2 结束枚举 '//////////////////////////////////////////////// //////////////////////////////////////////////// //////////////////////////////////////////////// // 私有类型保证金 左一样长 TOP 只要 权利只要 底部一样长 结束类型 '//////////////////////////////////////////////// /////////////////////////////////// 私有常量 HTCAPTION = 2 私有XWNDFORM,XWNDFORMEX一样长 私有常量 WM_NCLBUTTONDOWN = &HA1 '//////////////////////////////////////////////// /////////////////////////////////// 私有子 UserForm_Initialize() 昏暗的 ISTYLE,HWNDFORM 一样长 将 btrans 变暗为字节 btrans = 128 将 NEWMARGINS 调暗为边距 HWNDFORM = FindWindow(vbNullString, Me.Caption) '//// 获取窗口 ISTYLE = GetWindowLong(HWNDFORM, GWL_STYLE) '//// 基本窗口 STYLE 窗体标志 ISTYLE = ISTYLE And Not WS_CAPTION '//// 没有标题区域 SetWindowLong HWNDFORM, GWL_STYLE, ISTYLE '//// 设置基本窗口样式 ISTYLE = GetWindowLong(HWNDFORM, GWL_EXSTYLE) '//// 构建扩展窗口样式 ISTYLE = ISTYLE 而不是 WS_EX_DLGMODALFRAME '//// 无边框 SetWindowLong HWNDFORM、GWL_EXSTYLE、ISTYLE XWNDFORM = FindWindow("ThunderDFrame", vbNullString) '//// 获取新窗口 DwmSetWindowAttribute XWNDFORM, 2, 2, 4 '//// DWMAPI 随着NEWMARGINS .BOTTOM = 1 '//// -1 .LEFT = 1 '//// -1 .RIGHT = 1 '//// -1 .TOP = 1 '//// -1 结束于 DwmExtendFrameIntoClientArea XWNDFORM, NEWMARGINS '//// DWMAPI DrawMenuBar HWNDFORM '//// 清理菜单栏 结束子 '//////////////////////////////////////////////// /////////////////////////////////// 私有子 CMD_CLOSE_Click() 卸载我 结束子 '//////////////////////////////////////////////// /////////////////////////////////// Private Sub UserForm_MouseDown(ByVal Button As Integer,ByVal Shift As Integer,ByVal X As Single,ByVal Y As Single) 如果按钮 = 1 那么 释放捕获 SendMessage XWNDFORM、WM_NCLBUTTONDOWN、HTCAPTION、0& 万一 结束子 '//////////////////////////////////////////////// /////////////////////////////////// 私有子 VIVRE_MOTION_Click() 调用 ShellExecute(0, "打开", "https://vivre-motion.com", "", vbNullString, 1) 结束子

Customer Reviews

Be the first to write a review
0%
(0)
0%
(0)
0%
(0)
0%
(0)
0%
(0)