08 2012 檔案
C++中模塊(Dll)對外暴露接口的幾種方式
摘要: 當(dāng)然,上面幾種DLL對外暴露接口的方式本質(zhì)上沒有區(qū)別,都是利用PE文件的導(dǎo)出節(jié)來導(dǎo)出數(shù)據(jù)和函數(shù),但是根據(jù)它們使用方式的不同,對外部模塊來說還是有很大的區(qū)別,我們的推薦次序依次是:COM方式->導(dǎo)出API函數(shù)方式->導(dǎo)出類方式。
閱讀全文
posted @
2012-08-29 18:58 Richard Wei 閱讀(4317) |
評論 (0) 編輯
C++中實現(xiàn)回調(diào)機制的幾種方式
摘要: 最后簡單比較下上面3種實現(xiàn)回調(diào)的方法:
第一種Callback的方法是面向過程的,使用簡單而且靈活,正如C語言本身。
第二種Sink的方法是面向?qū)ο蟮模贑++里使用較多, 可以在一個Sink里封裝一組回調(diào)接口,適用于一系列比較固定的回調(diào)事件。
第三種Delegate的方法也是面向?qū)ο蟮模蚐ink封裝一組接口不同,Delegate的封裝是以函數(shù)為單位,粒度比Sink更小更靈活。
閱讀全文
posted @
2012-08-28 12:36 Richard Wei 閱讀(5033) |
評論 (3) 編輯
如何讓窗口控件半透明
摘要: 在網(wǎng)上關(guān)于窗口視覺效果,有2個問題被問得最多:
第一個是如何讓窗口邊框有陰影效果?
第二個是如何讓窗口控件有半透明效果?
閱讀全文
posted @
2012-08-23 00:38 Richard Wei 閱讀(7378) |
評論 (4) 編輯
軟件換膚的原理
摘要: 總的來說DirectUI是趨勢,而微軟的WPF代表了DirectUI最先進(jìn)的技術(shù)方向,換膚對于DirectUI來說非常容易。隨著Win7,Win8 的普及,傳統(tǒng)界面庫的市場會越來越小,一來因為系統(tǒng)本身已經(jīng)很炫了,二來微軟自己的WPF和Xaml技術(shù)基本上已經(jīng)可以實現(xiàn)任何想要的效果。當(dāng)然只要XP不消亡,傳統(tǒng)的界面庫還是有自己的一席之地。
閱讀全文
posted @
2012-08-21 22:33 Richard Wei 閱讀(6073) |
評論 (2) 編輯
共享個人寫的一個截屏小工具
摘要: 主要特性:
(1)軟件小而高效,使用流暢,設(shè)計人性化
(2)支持截圖區(qū)域的手工選擇和根據(jù)窗口自動識別選擇
(3)支持矩形,圓形,直線,箭頭,畫筆,文本等注釋工具
(4)支持橡皮擦除功能
(5)無限次數(shù)的撤銷和重做
(6)支持鼠標(biāo)光標(biāo)的截取
(7)支持鼠標(biāo)區(qū)域跟蹤和放大
(8)支持各種圖像文件格式的保存和編輯
(9)支持多顯示器
(10)支持換膚和多語言
閱讀全文
posted @
2012-08-21 00:02 Richard Wei 閱讀(7238) |
評論 (19) 編輯
如何學(xué)習(xí)WindDbg
摘要: 做為一名Windows平臺上的C/C++開發(fā)人員,我們有N個理由學(xué)習(xí)WinDbg的使用:
有些Bug只有在客戶和QA的機器上才能重現(xiàn),我們不可能在他們的機器上裝一個VC吧
WinDbg可以讓我們方便的保存和分析Dump文件
WinDbg的調(diào)試功能比VC強大的多,比如它有強大的API斷點和條件斷點
調(diào)試內(nèi)核和驅(qū)動,我們只能用WinDbg
用WinDbg可以讓你更深入的理解系統(tǒng),理解計算機,用VC你看到的是自己的代碼,用WinDbg你看到的是整個進(jìn)程
......
最重要的,微軟用WinDbg開發(fā)和調(diào)試Windows操作系統(tǒng),它是Windows平臺上最重要的調(diào)試工具.
閱讀全文
posted @
2012-08-15 14:12 Richard Wei 閱讀(4555) |
評論 (6) 編輯
如何學(xué)習(xí)Windows編程
摘要: 經(jīng)常有初學(xué)者詢問如何學(xué)習(xí)Windows編程?
很多人從MFC開始學(xué)習(xí),結(jié)果常常是一頭霧水,知難而退;也有人毅力堅強,熬過了MFC的陣痛期,最后卻是知其然而不知其所以然,并且思維被限制在MFC的框架之中,遇到稍微有點規(guī)模的程序就無從下手了。
閱讀全文
posted @
2012-08-15 13:37 Richard Wei 閱讀(7610) |
評論 (5) 編輯