關於控制項重載WM_PAINT訊息

來源:互聯網
上載者:User

 控制項重載WM_PAINT訊息。

在WM_PAINT的重載中這樣寫道:Do not call CEdit::OnPaint() for painting messages

 //CPaintDC dc(this); // device context for painting
 // TODO: Add your message handler code here
 // Do not call CEdit::OnPaint() for painting messages
 CEdit::OnPaint();

如果按照MFC的建議,你必須自己實現Paint,而不能調用父控制項。

如果你什麼都不做,你會發現,資料無法更新。比如在OnPaint()中只有 CPaintDC dc(this);

如果在函數成為空白函數(無語句),則可能程式死迴圈(原因不知。)

一般情況下,你必須使用父控制項的OnPaint實現基礎繪畫,然後才加入你的繪畫代碼。

注意,繪畫不要使用CPaintDC dc(this); 這句語句好像會造成父控制項的OnPaint()失效。(原因不知)

相反的,你應該使用GetDC() 來擷取裝置指標。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.