記錄一些技術(shù)實現(xiàn)細(xì)節(jié),自己尚未測試,記錄此處以防忘記:
1、實現(xiàn)絢麗的拖拽效果:創(chuàng)建一個layered窗口,鼠標(biāo)移動的時候繪制背景區(qū)域到layered窗口上。
2、如果你寫的窗口將會被他人使用,那么你的自定義消息從WM_APP開始。
3、為應(yīng)用創(chuàng)建一個頂層隱藏窗口,可以封裝實現(xiàn):時鐘管理、異步方法調(diào)用、系統(tǒng)設(shè)置監(jiān)控等很多看不見的操作。IE瀏覽器的隱藏窗口是 Internet Explorer_Hidden。
4、ScrollBar的skin,主要是替換鏈入的user32的幾個函數(shù)地址
ADDHOOK("USER32.DLL", SetScrollInfo);
ADDHOOK("USER32.DLL", SetScrollPos);
ADDHOOK("USER32.DLL", GetScrollInfo);
ADDHOOK("USER32.DLL", EnableScrollBar);
其中,在SetScrollInfo里面進行重繪操作即可。
5、核心DLL的作用
Kernel32: 進程線程控制、內(nèi)存管理、文件訪問
User32: 鍵盤鼠標(biāo)輸入、窗口和菜單管理
GDI32: 屏幕打印機上顯示文本和圖形
ADVAPI32:對象安全性、注冊表操作
ComCtl32: 通用控件
ComDlg32: 公共對話框
Shell32: 用戶界面外殼
DibEng: 圖形引擎
NetApi32: 網(wǎng)絡(luò)
6、菜單工具欄插件消息響應(yīng)機制參考IOleCommandTarget接口
posted on 2009-01-10 18:06
萬連文 閱讀(1315)
評論(2) 編輯 收藏 引用