1,當使用者改變了視窗尺寸,或者當視窗恢復了先前被遮蓋的部分(自動呼叫ondraw)。或者當應用程式改變了視窗資料時,視窗都需要被重新繪製(用invalidate或invalidaterect)。
2.按照慣例,mfc庫中非靜態資料成員名字以m打頭。
3.乙個csize物件是兩個cpoint物件的差,而且我們可以用乙個cpoint物件進行偏移得到crect物件。
4.要保證裝置環境物件能夠被適時地刪除掉(並且釋放掉相應的windows裝置環境)。最簡單的辦法就是
在堆疊中構造物件:cclientdc dc(this);他的洗頭函式在函式返回時被自動呼叫
也可以getdc,realeasedc
5.如果我們需要重新編寫onpaint函式,就需要使用cpaintdc類。
6.cdc類的selectobject成員函式族在將gdi物件選進裝置環境的同時,還返回了指向前一次
被選物件的指標(在這個過程中它實際已被分離出來)。乙個簡單的方法是在選進自己的gdi物件的同時,將原來的gdi物件也
儲存起來,任務完成之後再恢復。
7.dodataexchange,ddx_(交換)和ddv_(確認)函式都具有雙向性。如果呼叫updatedata時傳給它的引數為false,那麼函式將
資料成員中的值傳遞給對話款控制項;反之,如果引數為true,則反過來傳送
8.訪問控制項所對應的視窗物件getdlgitem函式,可以用它將id轉化成乙個cwnd指標
例子:cscrollbar* psb=(cscrollbar*)getdlgitem(idc_loyal);需要注意的是,這些指標是臨時的
因此不能夠被儲存供以後使用
如果需要把cwnd指標轉化成乙個控制項id,則可以使用getctrlid函式。
9.每個控制項在顯示之前會立刻向其父對話方塊傳送wm_ctlcolor訊息,對話方塊本身也會傳送該訊息
如果你在派生類對話方塊中對這訊息對映,就可以設定文字的前景色和背景色,同時還可為控制項或
對話方塊的非文字區選擇乙個刷子。
10.如果我們只想顯示一些文字,我們可以利用對話方塊編輯器來建立乙個具有特殊id的空的靜態控制項
,然後再在對話方塊的成員函式中(如oninitdialog)呼叫setdlgitemtext函式。
11.我們既要在控制項視窗內繪圖,又要防止windows對它進行重複繪製。我們可以通過利用
invalidate/updatewindow這一呼叫序列來達到這一效果。
VC 技術內幕筆記
3。crect有乙個成員函式ptinrect用來測試乙個點是否落在某個矩形內。只適用於裝置座標系。crgn的ptinregion。4。mm twips對映模式常用於印表機。乙個twip單位等於1 20磅。1磅等於1 72英吋。水晶報表中的pagemargins單位就是twip。5。cscrollvi...
VC技術內幕總結
vc技術內幕總結 對技術內幕的學習,主要是集中在前三部分和後面com,odbc的學習,感覺這本書還是寫得不錯的,分析的也比較清晰,例子不錯,有很多細節的小技巧值得我們推敲,結合深入淺出mfc學習,相信會對mfc會有很多,如果非要說缺點的話,就是太厚了,呵呵 由於這裡只是總結,並沒有對在學習過程中的細...
Mysql技術內幕筆記
mysql由以下幾個部分組成 連線池元件 管理服務和工具元件 sql介面組價 查詢分析器組價 優化器組價 快取 cache 組價 外掛程式式儲存引擎 物理檔案。可以看出,mysql資料庫區別於其他資料庫的最重要的乙個特點就是其外掛程式式的表儲存引擎。儲存引擎是基於表的,而不是資料庫。是底層物理結構的...