關於MFC中裝置環境物件CDC的一些淺顯的問題

2021-05-05 07:36:33 字數 1036 閱讀 9032

1樓:匿名使用者

1只要存在無效域就會重畫,就有wm_paint ,endpaint()作用就是消除無效域,

wm_paint 訊息優先順序別很低,系統會將幾個wm_paint 無效域疊加,

2windows系統最常見的程式,由兩個視窗組成,一個是主視窗,一個是檢視視窗,就是記事本中間白色的部分,

檢視視窗在前,蓋住了主視窗,而選單標題欄卻沒有被蓋住,所以你看到大部分的是檢視視窗

cwindowdc獲得的是標題欄左上角,cclientdc是獲得檢視視窗,就是記事本中間白色的左上角

getdc()是根據類來的,主視窗獲得windowdc

是不是那些工具欄 選單欄 甚至標題欄都會被我「塗鴉

是的,但是其他地方卻不行

原因是 檢視視窗在前,蓋住了主視窗

2樓:匿名使用者

問題1只要被蓋住,就要重畫,就發一個wm_paint問題2cwindowdc 包括 由cclientdc+標題欄; cclientdc 標題欄以下部分; cpaintdc 是cclientdc的真子集,且是無效的區域,重新繪製時要用到beginpaint,endpaint.如果往一個對話方塊上繪整個客戶區大小的圖應該可以用cclientdc,如果小於整個客戶區請用cpaintdc

問題3getdc()是cwnd類的一個方法,你要注意一下你使用的類都是繼承cwnd類的.

直接使用getdc()相當於this->getdc();

檢視視窗...就是多文件的,框架視窗..是對話方塊的,文件的的子文件是可以移動的,位置就不適合用cwindowdc來得到.

不然很容易畫到外面去..對話方塊的就固定了,標題欄就那麼高..

你非客戶區亂塗亂畫...還是會被刷回來的,結果就是沒效果

3樓:匿名使用者

1: 在需要重繪的時候就會發,如視窗縮放,遮蓋等2: 代表響應視窗的左上角(含標題欄)

3: getdc只得到給定視窗的客戶區,得到視窗整個用getwindowdc

4:檢視視窗 就是指的cview客戶區視窗

mfc中關於oldfontdcselectobjectfont的疑問

oldfont 是 dc 的上一個 hfont,這裡只是做一下備份 gdi 太老啦 win7 或以上使用者改用 direct2d 吧 mfc中是什麼意思 oldfont是dc 的上一個 hfont,這裡只是做一下備份 gdi太老啦 win7 或以上使用者改用 direct2d 吧。mfc中呼叫set...

C中關於類中臨時物件的問題

這個臨時物件是a 1000 產生的,並不是a作為臨時物件,a 1000 產生的物件又賦值給了a,臨時回物件用完就答 析構了。臨時物件一般是怎麼產生的呢,比如說你呼叫一個函式void fun test a 假設我們這樣呼叫 fun b 當呼叫的時候,往裡傳的這個b並不是真正的b,而是它會複製出一個和b...

關於露天廣場兒童遊樂裝置的問題,請教中

很多,你的問題邊上就有,找一下.你先copy 觀察下附近各種遊樂設施,看看玩的bai 是哪個年du齡段的兒童,受歡迎的設zhi備突出的特點是什麼。因dao為各年齡段的兒童身體發展不一樣,例如射擊氣球這樣的對肌肉控制要求一定的精細程度的遊戲對太小的兒童就無法做到,但對於半大不小的孩子來說正是有一定的挑...