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