我的編程樂園
積累,堅持!
---------我是一只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
管理
堅持記錄,筆耕不輟,筆記是最好的學習方法!
<
2010年1月
>
日
一
二
三
四
五
六
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++資料和源碼下載
科研小木蟲
提問必答網站(牛人輩出?。。?/a>
英語網站(長期學習)
New York Times
華爾街日報
記單詞,捐大米
經濟學英文網
普特網站
普特英語應用(有趣的學習)
譯言網|譯文庫
中國日報
源碼網站
codeproject
google代碼搜索
programersheaven
sourceforge
程序員聯合開發網
最新隨筆
1.?此博客停止更新
2.?Adboe Reader提示中文字體有問題
3.?Python字符串換行處理
4.?如何轉換^M行末符號
5.?斯坦福大學開放課程--編程范式(四)
搜索
積分與排名
積分 - 903555
排名 - 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用法(300677)
2.?Chrome神器Vimium快捷鍵學習記錄(67509)
3.?GitHub使用簡介(35351)
4.?Ubuntu下硬盤的自動掛載(23764)
5.?Ubuntu更新包管理器失?。篟equires installation of untrusted packages問題解決(18493)
評論排行榜
1.?【歡迎各位留言討論】C++中運算符New的一個疑問【新的問題!】【各位繼續關注討論啊!】(23)
2.?Git Stash用法(21)
3.?Chrome神器Vimium快捷鍵學習記錄(19)
4.?C++友元的一個問題-----------由派生類訪問基類的私有成員(10)
5.?OpenCV學習筆記(一)(7)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 deercoder
日韩AV无码久久一区二区
|
久久99亚洲网美利坚合众国
|
久久久久久夜精品精品免费啦
|
婷婷久久精品国产
|
久久免费小视频
|
久久se精品一区二区影院
|
精品久久久久久中文字幕人妻最新
|
亚洲国产香蕉人人爽成AV片久久
|
国产一区二区三精品久久久无广告
|
色综合色天天久久婷婷基地
|
精品国产乱码久久久久久1区2区
|
精品久久久久久久久久久久久久久
|
国产精品99久久久久久人
|
精品熟女少妇av免费久久
|
久久综合香蕉国产蜜臀AV
|
婷婷综合久久中文字幕蜜桃三电影
|
亚洲综合熟女久久久30p
|
久久夜色精品国产网站
|
97久久精品午夜一区二区
|
一级做a爰片久久毛片16
|
精品久久人人做人人爽综合
|
人人狠狠综合久久亚洲
|
久久精品国产亚洲av麻豆图片
|
久久夜色精品国产噜噜噜亚洲AV
|
久久精品国产亚洲77777
|
91精品国产综合久久四虎久久无码一级
|
久久青青草视频
|
国产精品福利一区二区久久
|
青青草原综合久久大伊人精品
|
国内精品久久久久久久影视麻豆
|
亚洲国产精品无码久久九九
|
亚洲精品乱码久久久久久按摩
|
aaa级精品久久久国产片
|
国产一区二区精品久久岳
|
思思久久好好热精品国产
|
久久精品九九亚洲精品
|
久久国产免费直播
|
人妻少妇久久中文字幕一区二区
|
99久久国产亚洲高清观看2024
|
久久久国产打桩机
|
国产99久久九九精品无码
|