比如:
m_psh.dwFlags = PSP_DEFAULT;
里面有一个我不想要的属性 PSP_HASHELP;
我该怎么操作?
m_psh.dwFlags |= PSP_HASHELP;
或是 m_psh.dwFlags &= PSP_HASHELP; ? 谁能给我讲讲这两个符号是怎么作用的?3x!
m_psh.dwFlags = PSP_DEFAULT;
里面有一个我不想要的属性 PSP_HASHELP;
我该怎么操作?
m_psh.dwFlags |= PSP_HASHELP;
或是 m_psh.dwFlags &= PSP_HASHELP; ? 谁能给我讲讲这两个符号是怎么作用的?3x!
解决方案 »
- 模仿论坛上的com hook,出现了类型转换,pvoid未知大小的问题...
- 求助,《数据库原理》教学平台设计
- OCX定义参数,用什么类型可以在JS调用的时候看到?
- 按钮的事件响应
- 请问可以通过ADO来操作EXCLE表格中的数据么
- 请问可不可以通过SendMessage来对QQ的聊天窗口操作(如发送消息或关闭等等)
- 求:条形码39码的识别算法
- help me!!!
- 如何不让调用的应用程序在任务栏出现?
- CDC 指针得使用,快点回答啊
- 7个工程联编问题,rebuild all的时候,编译出来的工程有些是debug有些是release
- 新手问题:类的成员函数能不能做CreateThread()线程函数的入口地址?
你的需求用这两个都不行。
取消一个属性用 m_psh.dwFlags |= ~PSP_HASHELP;
按位或|
其实他们是针对2进制数据的。如
11100
&
11110
按位与运算,全1为1,11100。
如果是按位或
11100
|
11110
有1为1,11110。
是:m_psh.dwFlags &= ~PSP_HASHELP;
m_psh.dwFlags &= ~PSP_HASHELP;
利用用1个字节,8位来表示某个类的属性
11111111,1就表示设置了该属性,0就表示未设置该属性。例如1表示字体为粗体,0表示字体不是粗体等。
10000000,
例如,上面的1就表示了设置了粗体,如果想取消这个属性,只需要让它与01111111按位&就可以啦。
例如:00100000,如果现在的属性为11100000,想取消PSP_HASHELP属性,只需对PSP_HASHELP按位取反,得到11011111再与属性11100000按位&就可以了。很简单,慢慢理解吧。