Dim TempLng As Long
TempLng = GetWindowLong(Form4.hwnd, GWL_STYLE)
TempLng = TempLng And Not WS_CAPTION (这儿的值应该等于“0”吧?) SetWindowLong Form4.hwnd, GWL_STYLE, TempLng (此处如果把“templng”直接换成“0”省略掉前面的部分可不可以呢?)
我换了之后边框就不能拉动了,如果不换的话,边框是可以拉动的!这是什么原因?
TempLng = GetWindowLong(Form4.hwnd, GWL_STYLE)
TempLng = TempLng And Not WS_CAPTION (这儿的值应该等于“0”吧?) SetWindowLong Form4.hwnd, GWL_STYLE, TempLng (此处如果把“templng”直接换成“0”省略掉前面的部分可不可以呢?)
我换了之后边框就不能拉动了,如果不换的话,边框是可以拉动的!这是什么原因?
Option ExplicitPrivate Sub Form_Load()
t1
End SubSub t1()
Dim lngWnd As Long, TempLng As Long
lngWnd = Me.hWnd
TempLng = GetWindowLong(lngWnd, GWL_STYLE)
TempLng = TempLng And Not WS_CAPTION ' (这儿的值应该等于“0”吧?)
SetWindowLong lngWnd, GWL_STYLE, TempLng
End Sub
这里是VB的位运算,并非逻辑运算,所以结果不会是0,所以换成0就会错了。
楼主要去了解一下VB的位运算。
引用楼主 zgklem 的回复:TempLng = TempLng And Not WS_CAPTION (这儿的值应该等于“0”吧?)这里是VB的位运算,并非逻辑运算,所以结果不会是0,所以换成0就会错了。
楼主要去了解一下VB的位运算。[/Quote
的确数值不是零!这儿为什么使用位运算,使用位运算的依据是什么?
WS_CAPTION是带标题栏的,而Not WS_CAPTION就是不带标题栏的;
窗口样式都是以位状态来决定的。 Dim TempLng As Long
TempLng = GetWindowLong(Form4.hwnd, GWL_STYLE) 'GWL_STYLE:获得窗口风格(templng的值是窗口的风格)。
TempLng = TempLng And Not WS_CAPTION '让窗口风格是不带标题栏的
SetWindowLong Form4.hwnd, GWL_STYLE, TempLng '根据templng的风格设置form4的样式。