说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

请教这句是什么意思?

编辑:说三道四文库 发布时间:2018-07-16 04:35
HTML文档下载 WORD文档下载 PDF文档下载
SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE, GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);
cancel the window extend style : WS_SYSMENU
那个^0x80000是怎么回事儿?
setwindowlong()函数是一个功能巨大的函数,API一般使用宏的方式将它分割成一些使用参数少,规模小的函数。
SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE, GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);
以上代码是去掉指定窗口(得到hwnd的窗口)的WS_SYSMENU风格属性,这样一来,这个窗口就没有了最大化、最小化、关闭按钮了。
(GWL_EXSTYLE)^0x80000

GWL_EXSTYLE 属性与 OX80000执行 疑惑 运算。
OX80000=0100000000000000
you can see in winuser.h:
#define WS_SYSMENU          0x00080000L

SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE, GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);

cancel the windows style WS_SYSMENU
这个属性并未被写入文档,在设置窗体透明风格是需要改变窗体属性。
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘