

鋼開始學習MFC編程
想實作一個五子棋棋盤!
在OnLButtonDown中,點擊滑鼠左鍵,可以實作
改到OnPaint中,卻無法實作,運行后,棋盤的橫豎線閃了一下,直接視窗白屏顯示!
CPaintDC類,在OnPain中,應該如何實作的,誰能給講講,謝謝
uj5u.com熱心網友回復:
你在OnLButtonDown回應函式中修改標記的值(比如記錄點的坐標),然后呼叫重繪函式InvalidateRect()/Invalidate()來重繪。OnPaint繪制
uj5u.com熱心網友回復:
1 基于CView 類的, 多載 OnDraw , 在其中繪制2 畫線之前應該先選入合適的畫筆
uj5u.com熱心網友回復:
由于是新手,你說的,不是太懂!能幫忙繼續解答下嗎?
需要實作的繪圖,和OnLButtonDown無關的,我在OnLButtonDown實作這個代碼,是想驗證下,實作繪圖的邏輯代碼是否正確!
在OnPaint中,是想讓視窗 初始化的時候,就可以顯示棋盤!
程式運行后,瞬間會出現棋盤,然后重繪回白屏
由于第一次接觸CPaintDC,不知道該如何使用!您說的InvalidateRect()/Invalidate()不知道是在哪個函式中使用!
uj5u.com熱心網友回復:
我的意思是你OnLButtonDown函式中記錄棋子的位置坐標,然后呼叫Invalidate()/InvalidateRect()來重繪。OnPaint函式中首先繪制Draw棋盤,然后Draw棋子。
uj5u.com熱心網友回復:
"1 基于CView 類的, 多載 OnDraw , 在其中繪制"OnPaint 要呼叫 OnDraw , 你繪制的結果被OnDraw 覆寫了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/75363.html
標籤:基礎類
