我的編程樂園
積累,堅持!
---------我是一只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
閱讀(847)
評論(0)
編輯
收藏
引用
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
堅持記錄,筆耕不輟,筆記是最好的學習方法!
<
2025年8月
>
日
一
二
三
四
五
六
27
28
29
30
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
29
30
31
1
2
3
4
5
6
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(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.?斯坦福大學開放課程--編程范式(四)
搜索
積分與排名
積分 - 906689
排名 - 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用法(300776)
2.?Chrome神器Vimium快捷鍵學習記錄(67571)
3.?GitHub使用簡介(35369)
4.?Ubuntu下硬盤的自動掛載(23792)
5.?Ubuntu更新包管理器失敗:Requires installation of untrusted packages問題解決(18536)
評論排行榜
1.?【歡迎各位留言討論】C++中運算符New的一個疑問【新的問題!】【各位繼續關注討論啊!】(23)
2.?Git Stash用法(21)
3.?Chrome神器Vimium快捷鍵學習記錄(19)
4.?C++友元的一個問題-----------由派生類訪問基類的私有成員(10)
5.?OpenCV學習筆記(一)(7)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 deercoder
国产精品免费看久久久
|
99久久人妻无码精品系列蜜桃
|
久久人人爽人人爽人人AV东京热
|
国产精品久久久久久影院
|
久久亚洲国产精品123区
|
久久久久波多野结衣高潮
|
久久se这里只有精品
|
久久亚洲精品视频
|
久久香蕉国产线看观看精品yw
|
久久精品国产精品亜洲毛片
|
国产美女久久精品香蕉69
|
日韩乱码人妻无码中文字幕久久
|
2021国内精品久久久久久影院
|
国产99久久久国产精品~~牛
|
久久亚洲高清综合
|
亚洲v国产v天堂a无码久久
|
91久久精品国产成人久久
|
久久国产精品无码网站
|
久久精品国产亚洲7777
|
日韩久久久久中文字幕人妻
|
亚洲伊人久久成综合人影院
|
综合久久精品色
|
久久免费的精品国产V∧
|
久久久无码精品亚洲日韩蜜臀浪潮
|
日韩精品无码久久久久久
|
精品乱码久久久久久夜夜嗨
|
久久99热这里只有精品国产
|
国产精品成人精品久久久
|
天堂久久天堂AV色综合
|
伊人伊成久久人综合网777
|
欧洲人妻丰满av无码久久不卡
|
99国产欧美精品久久久蜜芽
|
尹人香蕉久久99天天拍
|
久久久久亚洲av无码专区喷水
|
国产婷婷成人久久Av免费高清
|
国产激情久久久久影院老熟女
|
精品熟女少妇AV免费久久
|
久久免费视频一区
|
久久精品无码一区二区三区日韩
|
久久精品无码专区免费东京热
|
国产精品美女久久久久av爽
|