我的編程樂(lè)園
積累,堅(jiān)持!
---------我是一只IT小小鳥(niǎo)
首頁(yè)
新隨筆
聯(lián)系
聚合
管理
隨筆-145 評(píng)論-173 文章-70 trackbacks-0
屬性設(shè)置的技巧-----按位或和按位與的使用
原帖見(jiàn):
http://topic.csdn.net/u/20100216/18/595c8231-9fb8-4584-a44b-2ed0a5a38c2a.html?2052564381
經(jīng)過(guò)本人的詢問(wèn),終于得到了很好的解答,這里來(lái)詳細(xì)的匯總討論下:
問(wèn)題描述:
??
疑問(wèn)來(lái)源:在《Java語(yǔ)言導(dǎo)學(xué)》中講到一種機(jī)制,設(shè)置標(biāo)志位。如:?
CS_WRITE?
=
?
1
;?
CS_READ?
=
?
2
;?
CS_RED?
=
?
4
;?
CS_BLACK?
=
?
8
;?
那么,用一個(gè)變量flag就可以表示它的屬性。比如,
int
?flag;?
如果要設(shè)置為可以寫的,則用:flag?
=
?flag?
|
?CS_WRITE;這樣,檢驗(yàn)flag是否可以寫的時(shí)候,?
就需要用到if(flag?
&
?CS_WRITE?
!=
?
0
)?
"
可寫
"
;?
但是,現(xiàn)在在MFC中,我要是指定窗口標(biāo)題,而不是用默認(rèn)的FWS_ADDTOTITLE屬性,為何是:?
cs.style?
=
?cs.style?
&
?
~
FWS_ADDTOTITLE;而不是用的
|
呢??
小弟查了資料,看見(jiàn)別人的解答都是
&
,難道MFC的實(shí)現(xiàn)是另外的一種機(jī)制嗎?各位大哥能夠給?
一個(gè)解釋,謝謝!?
參考資料:?
1
.?http:
//
blog.chinaunix.net/u2/67530/showart_602546.html?
(
28
)?如何防止主框窗口在其說(shuō)明中顯示活動(dòng)的文檔名?
創(chuàng)建主框窗口和MDI子窗口進(jìn)通常具有FWS_ADDTOTITLE風(fēng)格位,如果不希望在說(shuō)明中自動(dòng)?
添加文檔名,?必須禁止該風(fēng)格位,?可以使用ClassWizard重置?
CWnd:?:?PreCreateWindow并關(guān)閉FWS_ADDTOTITLE風(fēng)格。?
BOOL?CMainFrame?:?:?PreCreateWindow?(CREATESTRUCT
&
cs)?
{?
//
Turn?off?FWS_ADDTOTITLE?in?main?frame?.?
cs.styel?
&
?
=
?
~
FWS_ADDTOTITLE? ?
return
?CMDIFrameWnd?:?:?PreCreateWindow?(cs?)?
}
?
關(guān)閉MDI子窗口的FWS?_ADDTOTITLE風(fēng)格將創(chuàng)建一個(gè)具有空標(biāo)題的窗口,可以調(diào)用CWnd:?:?
SetWindowText來(lái)設(shè)置標(biāo)題。記住自己設(shè)置標(biāo)題時(shí)要遵循接口風(fēng)格指南。?
2
.http:
//
topic.csdn.net/t/20021003/10/1070225.html
問(wèn)題解答:
“
|
”是增加某個(gè)屬性,“
&~
”是去掉某個(gè)屬性。?
樓主可以看看FWS_ADDTOTITLE這些宏的定義。?
給你個(gè)例子吧:?
C
/
C
++
?code
#define
?MY_STYLE_ONE?0x00000001
#define
?MY_STYLE_TWO?0x00000010
DWORD?style?
=
?MY_STYLE_ONE?
|
?MY_STYLE_TWO;??
//
現(xiàn)在style=0x00000011,兩種屬性都有
style?
=
?style?
&
?
~
MY_STYLE_ONE;??????????????
//
現(xiàn)在style=0x00000010,去掉了屬性1
style?
=
?style?
|
?MY_STYLE_ONE;???????????????
//
現(xiàn)在style=0x00000011,又加回了屬性1
&
是按位與,
|
是按位或
至此,需要明白的是:在不同的場(chǎng)合下,要結(jié)合具體的情況來(lái)分析作用和對(duì)應(yīng)的方法。
比如:Java語(yǔ)言導(dǎo)學(xué)中,講的沒(méi)錯(cuò),設(shè)置用的是“|”,而檢驗(yàn)的時(shí)候用的是“&”。
但是這里我們需要的是去掉屬性,所以就是要設(shè)置為非的屬性,我將它取反,然后用&,那么對(duì)應(yīng)的各位就是0了,于是就設(shè)置為非。
如果不是,那么該位就設(shè)置為是,具體來(lái)說(shuō),某位為1,如果需要設(shè)置為非,那么將對(duì)于的標(biāo)志位取反,然后相與,就OK了。
為什么不是用的“|”呢?想想,取反之后用的“|”,那么各位上就恒為1了。因?yàn)?取非后為1,然后相或,就是1而不是0了。
這樣,就沒(méi)有達(dá)到使得該位上為0的目的了。
posted on 2010-02-17 14:44
deercoder
閱讀(847)
評(píng)論(0)
編輯
收藏
引用
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
【推薦】100%開(kāi)源!大型工業(yè)跨平臺(tái)軟件C++源碼提供,建模,組態(tài)!
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問(wèn)
Chat2DB
管理
堅(jiān)持記錄,筆耕不輟,筆記是最好的學(xué)習(xí)方法!
<
2010年2月
>
日
一
二
三
四
五
六
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1
2
3
4
5
6
7
8
9
10
11
12
13
常用鏈接
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
(12)
給我留言
查看公開(kāi)留言
查看私人留言
隨筆分類
(87)
ACM(1)
Android(4)
C++(7)
CTeX和LateX(1)
Git(3)
Java(4)
MFC程序設(shè)計(jì)入門(8)
OpenCV(1)
Python(3)
Shell/Bash(1)
SQL(1)
Unix/Linux(23)
Vim(3)
大學(xué)公開(kāi)課(3)
讀書(4)
環(huán)境配置(1)
生活感悟/日記(18)
圖像識(shí)別算法及原理(1)
隨筆檔案
(145)
2014年12月 (1)
2013年3月 (1)
2012年7月 (2)
2012年6月 (5)
2012年5月 (2)
2012年4月 (2)
2011年12月 (1)
2011年11月 (2)
2011年10月 (8)
2011年9月 (2)
2011年8月 (4)
2011年6月 (2)
2011年5月 (5)
2011年4月 (3)
2011年3月 (3)
2010年6月 (5)
2010年5月 (5)
2010年4月 (3)
2010年3月 (16)
2010年2月 (56)
2010年1月 (11)
2009年12月 (2)
2009年11月 (3)
2009年10月 (1)
文章分類
(70)
C/C++(14)
JAVA(6)
Linux/Unix(6)
MFC(5)
OpenCV / OpenGL(6)
編程體會(huì)和收獲(3)
常見(jiàn)編譯器錯(cuò)誤解決辦法(5)
深入理解計(jì)算機(jī)系統(tǒng)(2)
生活的體會(huì)和感悟(5)
實(shí)習(xí)/讀研(1)
數(shù)據(jù)結(jié)構(gòu)和算法分析(9)
雜談(8)
文章檔案
(70)
2011年11月 (1)
2011年10月 (1)
2010年3月 (8)
2010年2月 (2)
2010年1月 (3)
2009年12月 (21)
2009年11月 (26)
2009年10月 (5)
2009年9月 (3)
相冊(cè)
computer picture
ACM與算法比賽
Google Code Jam
Top Coder
北大ACM
杭電ACM
LaTex和Tex學(xué)習(xí)
LaTex and Tex
Tex,LaTex,CTex學(xué)習(xí)
電子書下載
不錯(cuò)的電子書免注冊(cè)下載
雜志下載(經(jīng)濟(jì)學(xué)人等)
聯(lián)系方式
我的豆瓣主頁(yè)
學(xué)習(xí)論壇
C++編程
VC知識(shí)庫(kù)
超多C/C++資料和源碼下載
科研小木蟲
提問(wèn)必答網(wǎng)站(牛人輩出啊!)
英語(yǔ)網(wǎng)站(長(zhǎng)期學(xué)習(xí))
New York Times
華爾街日?qǐng)?bào)
記單詞,捐大米
經(jīng)濟(jì)學(xué)英文網(wǎng)
普特網(wǎng)站
普特英語(yǔ)應(yīng)用(有趣的學(xué)習(xí))
譯言網(wǎng)|譯文庫(kù)
中國(guó)日?qǐng)?bào)
源碼網(wǎng)站
codeproject
google代碼搜索
programersheaven
sourceforge
程序員聯(lián)合開(kāi)發(fā)網(wǎng)
最新隨筆
1.?此博客停止更新
2.?Adboe Reader提示中文字體有問(wèn)題
3.?Python字符串換行處理
4.?如何轉(zhuǎn)換^M行末符號(hào)
5.?斯坦福大學(xué)開(kāi)放課程--編程范式(四)
搜索
積分與排名
積分 - 906678
排名 - 15
最新隨筆
1.?此博客停止更新
2.?Adboe Reader提示中文字體有問(wèn)題
3.?Python字符串換行處理
4.?如何轉(zhuǎn)換^M行末符號(hào)
5.?斯坦福大學(xué)開(kāi)放課程--編程范式(四)
最新評(píng)論
1.?re: Git Stash用法[未登錄](méi)
@陳梓瀚(vczh)
人稱輪帶逛!!!
--q
2.?re: Git Stash用法
@Loaden
這個(gè)B裝的好
--doubi
3.?re: Chrome神器Vimium快捷鍵學(xué)習(xí)記錄
哦啦啦啦啦
--阿里河
4.?re: Chrome神器Vimium快捷鍵學(xué)習(xí)記錄
希望能添加更新后的功能翻譯
--Vi.Ci
5.?re: Chrome神器Vimium快捷鍵學(xué)習(xí)記錄
@coolbit
謝謝,學(xué)會(huì)了
--xin
閱讀排行榜
1.?Git Stash用法(300776)
2.?Chrome神器Vimium快捷鍵學(xué)習(xí)記錄(67570)
3.?GitHub使用簡(jiǎn)介(35369)
4.?Ubuntu下硬盤的自動(dòng)掛載(23792)
5.?Ubuntu更新包管理器失敗:Requires installation of untrusted packages問(wèn)題解決(18536)
評(píng)論排行榜
1.?【歡迎各位留言討論】C++中運(yùn)算符New的一個(gè)疑問(wèn)【新的問(wèn)題!】【各位繼續(xù)關(guān)注討論啊!】(23)
2.?Git Stash用法(21)
3.?Chrome神器Vimium快捷鍵學(xué)習(xí)記錄(19)
4.?C++友元的一個(gè)問(wèn)題-----------由派生類訪問(wèn)基類的私有成員(10)
5.?OpenCV學(xué)習(xí)筆記(一)(7)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 deercoder
国产A三级久久精品
|
国产午夜福利精品久久2021
|
久久精品国产亚洲麻豆
|
国产日产久久高清欧美一区
|
久久久久国产精品
|
亚洲精品国产自在久久
|
久久久久久久久无码精品亚洲日韩
|
久久99免费视频
|
伊人久久精品影院
|
狠狠狠色丁香婷婷综合久久五月
|
久久精品成人免费观看97
|
精品国产乱码久久久久久人妻
|
72种姿势欧美久久久久大黄蕉
|
国产亚洲精午夜久久久久久
|
久久精品亚洲欧美日韩久久
|
色婷婷综合久久久久中文
|
精品久久久久久国产三级
|
久久久久亚洲av无码专区
|
国产精品青草久久久久福利99
|
漂亮人妻被中出中文字幕久久
|
久久夜色tv网站
|
亚洲精品tv久久久久久久久
|
久久久久久毛片免费看
|
久久久综合九色合综国产
|
国产精品9999久久久久
|
亚洲AV乱码久久精品蜜桃
|
久久国产亚洲精品
|
久久久精品日本一区二区三区
|
亚洲国产精品综合久久网络
|
久久国产乱子精品免费女
|
av国内精品久久久久影院
|
午夜天堂av天堂久久久
|
久久精品国产亚洲av麻豆图片
|
无码AV波多野结衣久久
|
久久久国产亚洲精品
|
一极黄色视频久久网站
|
香蕉aa三级久久毛片
|
国产精品成人久久久
|
亚洲欧美伊人久久综合一区二区
|
亚洲国产精品无码久久一线
|
性欧美大战久久久久久久久
|