我的編程樂(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
亚洲午夜久久久久久噜噜噜
|
青青草原1769久久免费播放
|
久久精品一本到99热免费
|
久久精品中文无码资源站
|
国内精品人妻无码久久久影院
|
久久久无码精品亚洲日韩蜜臀浪潮
|
久久精品亚洲精品国产色婷
|
久久精品国产99国产精偷
|
精品久久久久久久无码
|
青青久久精品国产免费看
|
久久香综合精品久久伊人
|
久久亚洲国产成人影院网站
|
国产成人精品久久一区二区三区
|
欧美亚洲另类久久综合婷婷
|
婷婷综合久久狠狠色99h
|
午夜精品久久久久久久
|
久久夜色精品国产亚洲av
|
91精品国产91热久久久久福利
|
亚洲国产精品一区二区久久hs
|
国产亚洲成人久久
|
91精品国产91久久久久久蜜臀
|
久久精品99久久香蕉国产色戒
|
久久午夜羞羞影院免费观看
|
97视频久久久
|
波多野结衣久久精品
|
欧美亚洲国产精品久久久久
|
久久一区二区三区免费
|
久久青青草原精品国产软件
|
国产亚洲精久久久久久无码AV
|
青青青国产精品国产精品久久久久
|
久久亚洲AV成人无码国产
|
欧美一区二区三区久久综
|
99久久国产综合精品女同图片
|
久久婷婷色香五月综合激情
|
久久九九兔免费精品6
|
婷婷五月深深久久精品
|
无码人妻久久一区二区三区
|
久久久久久毛片免费播放
|
国产精品99久久久久久人
|
国产精自产拍久久久久久蜜
|
国产无套内射久久久国产
|