VB6编程类问题 40
获得对象窗体句柄FrhWnd后~怎样检查对象窗体样式~~PS:就是说~这个窗体有没有WS_MAXIMIZEBOX属性,或者WS_DISABLED属性~等等~希望给个简单带...
获得对象窗体句柄 FrhWnd 后~
怎样检查对象窗体样式~~
PS:就是说~这个窗体有没有WS_MAXIMIZEBOX属性,或者WS_DISABLED属性~等等~
希望给个简单带注解的的代码~
我要检查的属性有:
WS_CAPTION
WS_MAXIMIZEBOX
WS_MINIMIZEBOX
WS_SYSMENU
WS_THICKFRAME
WS_MINIMIZE
WS_VISIBLE
WS_DISABLED
WS_MAXIMIZE
WS_VSCROLL
WS_HSCROLL
WS_EX_TOPMOST
分开来单独检查~谢谢了 展开
怎样检查对象窗体样式~~
PS:就是说~这个窗体有没有WS_MAXIMIZEBOX属性,或者WS_DISABLED属性~等等~
希望给个简单带注解的的代码~
我要检查的属性有:
WS_CAPTION
WS_MAXIMIZEBOX
WS_MINIMIZEBOX
WS_SYSMENU
WS_THICKFRAME
WS_MINIMIZE
WS_VISIBLE
WS_DISABLED
WS_MAXIMIZE
WS_VSCROLL
WS_HSCROLL
WS_EX_TOPMOST
分开来单独检查~谢谢了 展开
2个回答
展开全部
先来一段C++的标准代码:
HWND FrhWnd = (HWND)this->Handle.ToInt32();
DWORD dwStyle = GetWindowLongW(FrhWnd, GWL_STYLE);
if(dwStyle & WS_CAPTION)
MessageBox::Show(L"WS_CAPTION 属性存在");
if(dwStyle & WS_MAXIMIZEBOX)
MessageBox::Show(L"WS_MAXIMIZEBOX 属性存在");
//省略其他,自己补上
DWORD dwExStyle = GetWindowLongW(FrhWnd, GWL_EXSTYLE);
if(dwExStyle & WS_EX_TOPMOST)
MessageBox::Show(L"WS_EX_TOPMOST 属性存在");
再来一段VB的,用Reflector翻译的,自己也看不懂。
Dim FrhWnd As HWND__* = DirectCast(Me.Handle.ToInt32, HWND__*)
Dim dwStyle As UInt32 ModOpt(IsLong) = <Module>.GetWindowLongW(FrhWnd, -16)
If (Not (dwStyle And 12582912) Is Nothing) Then
MessageBox.Show("WS_CAPTION " & ChrW(23646) & ChrW(24615) & ChrW(23384) & ChrW(22312))
End If
If (Not (dwStyle And 65536) Is Nothing) Then
MessageBox.Show("WS_MAXIMIZEBOX " & ChrW(23646) & ChrW(24615) & ChrW(23384) & ChrW(22312))
End If
Dim dwExStyle As UInt32 ModOpt(IsLong) = <Module>.GetWindowLongW(FrhWnd, -20)
If (Not (dwExStyle And 8) Is Nothing) Then
MessageBox.Show("WS_EX_TOPMOST " & ChrW(23646) & ChrW(24615) & ChrW(23384) & ChrW(22312))
End If
HWND FrhWnd = (HWND)this->Handle.ToInt32();
DWORD dwStyle = GetWindowLongW(FrhWnd, GWL_STYLE);
if(dwStyle & WS_CAPTION)
MessageBox::Show(L"WS_CAPTION 属性存在");
if(dwStyle & WS_MAXIMIZEBOX)
MessageBox::Show(L"WS_MAXIMIZEBOX 属性存在");
//省略其他,自己补上
DWORD dwExStyle = GetWindowLongW(FrhWnd, GWL_EXSTYLE);
if(dwExStyle & WS_EX_TOPMOST)
MessageBox::Show(L"WS_EX_TOPMOST 属性存在");
再来一段VB的,用Reflector翻译的,自己也看不懂。
Dim FrhWnd As HWND__* = DirectCast(Me.Handle.ToInt32, HWND__*)
Dim dwStyle As UInt32 ModOpt(IsLong) = <Module>.GetWindowLongW(FrhWnd, -16)
If (Not (dwStyle And 12582912) Is Nothing) Then
MessageBox.Show("WS_CAPTION " & ChrW(23646) & ChrW(24615) & ChrW(23384) & ChrW(22312))
End If
If (Not (dwStyle And 65536) Is Nothing) Then
MessageBox.Show("WS_MAXIMIZEBOX " & ChrW(23646) & ChrW(24615) & ChrW(23384) & ChrW(22312))
End If
Dim dwExStyle As UInt32 ModOpt(IsLong) = <Module>.GetWindowLongW(FrhWnd, -20)
If (Not (dwExStyle And 8) Is Nothing) Then
MessageBox.Show("WS_EX_TOPMOST " & ChrW(23646) & ChrW(24615) & ChrW(23384) & ChrW(22312))
End If
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
WS_CAPTION 创建一个有标题栏的窗口
WS_MAXIMIZEBOX 创建一个带有最大框的窗口
WS_MINIMIZEBOX 创建一个带有最小框的窗口
WS_SYSMENU 窗口带有系统选单框(仅用于带标题栏的窗口)
WS_THICKFRAME 创建一个边框的窗口,使用户可以直接缩放窗口
WS_MINIMIZE 创建一个最小尺寸的窗口(图标)
WS_VISIBLE 创建一个初始可见的窗口
WS_DISABLED 创建一个初始被禁止的窗口
WS_MAXIMIZE 创建一个最大尺寸的窗口
WS_VSCROLL 创建一个带垂直滚动杠的窗口
WS_HSCROLL 创建一个带水平滚动杠的窗口
WS_EX_TOPMOST 创建一个窗口属性为置顶的窗口
WS_MAXIMIZEBOX 创建一个带有最大框的窗口
WS_MINIMIZEBOX 创建一个带有最小框的窗口
WS_SYSMENU 窗口带有系统选单框(仅用于带标题栏的窗口)
WS_THICKFRAME 创建一个边框的窗口,使用户可以直接缩放窗口
WS_MINIMIZE 创建一个最小尺寸的窗口(图标)
WS_VISIBLE 创建一个初始可见的窗口
WS_DISABLED 创建一个初始被禁止的窗口
WS_MAXIMIZE 创建一个最大尺寸的窗口
WS_VSCROLL 创建一个带垂直滚动杠的窗口
WS_HSCROLL 创建一个带水平滚动杠的窗口
WS_EX_TOPMOST 创建一个窗口属性为置顶的窗口
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询