Re: [問題] CDC該怎麼用 ~"~
※ 引述《lovec (。口亨。)》之銘言:
: << 環境 : MFC >>
: 我自己開了一個Class叫做 S.cpp,
: 我想在 S.cpp 裡畫圖,
: 過去都是在 View.cpp 裡的 OnDraw 下畫圖,
: 現在不知道該怎樣才能在自己的Class裡畫,
: 學長跟我說,
: 用CDC宣告一個物件去承接 View 裡面的指標,
: 可是...
: 我真的看不懂 -______-|||,
: 我在 S.cpp 的Function裡CDC *pDC,
: 再 pDC->MoveTo(x,y); pDC->LineTo(x1,y1);
: 雖然是 0 error,
: 但是會當 囧",
: 看樣子是接錯了,
: 可以請問大家到底該怎樣接嗎 ~"~
OnDraw那邊的的dc的pointer,不能背下來給其它地方用
那邊一旦離開了OnDraw,就沒用了。
在View其它的地方可以用 CClient dc(this)取得dc
或是用CDC *pDC = GetDC(), 然後用完後ReleaseDC(pDC);
要減少閃爍的話,可以研究一下memory dc。
CClient dc(this)和GetDC()的差別在他們發生錯誤時,
行為不一樣。一個是丟出exception,一個是傳回NULL pointer。
--
不先商議,所謀無效;
謀士眾多,所謀乃成。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.216.119.119
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章