首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

去掉窗口标题栏遇到的有关问题

2012-01-15 
去掉窗口标题栏遇到的问题!Dim TempLngAs LongTempLng GetWindowLong(Form4.hwnd, GWL_STYLE)TempLng

去掉窗口标题栏遇到的问题!
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”省略掉前面的部分可不可以呢?)


我换了之后边框就不能拉动了,如果不换的话,边框是可以拉动的!这是什么原因?

[解决办法]
楼主的代码格式有点乱,而且也没贴出API声明,不过我试了下只去掉WS_CAPTION是照样可以拉动边框的,原因应是还存在WS_THICKFRAME样式

VB code
Option ExplicitPrivate Sub Form_Load()    t1End 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, TempLngEnd Sub
[解决办法]
探讨
TempLng = TempLng And Not WS_CAPTION (这儿的值应该等于“0”吧?)


[解决办法]
因为 GWL_STYLE 对应的样式都是位标记,约定是这样,调用当然要匹配。
[解决办法]
其实很好理解吧,打个比方吧,这个4字节的参数共有32个二进制位,那它就可用来表示最多32个类似WS_CAPTION这样的标识是否有效啊,通常是0表示否1表示是. 基于类似这样的规定,你对某一个标识做读写操作时,当然就是要用"位运算"了.

热点排行