2010-04-16 38 views
3

我想製作一個自定義組件(折線圖),這個組件可以用在其他應用程序中。
如何創建自定義組件並將其添加到基於對話框的應用程序(MFC)?

我不知道兩兩件事:

  1. 我應該在哪裏使用(!組件類內)進行繪製方法,如FillRect

    或折線?在OnPaint處理程序中,我應該定義並將其映射到MESSAGE MAP中?將

    它(OnPaint處理)從應用

    或沿對話框的OnPaint處理叫什麼名字?

  2. 如何連接組件,一旦做出,到測試應用,這將

    例如基於是Dialog?我應該在哪裏實例化該組件?從MyAppDialog.cpp的

    onCreate方法?

我幾天前開始在MFC中編寫代碼,對此我感到很困惑。

在此先感謝,

乾杯。

回答

0

繪畫控制的處理完全像這將是,如果它不是一個控制。考慮到你使用MFC,那(至少通常)意味着你在View類'OnDraw(MFC通常在內部處理OnPaint,所以你很少碰它)中做繪圖。

插入在主機應用程序所得到的ActiveX控件將如插入任何其他ActiveX控件來完成。假設你在Visual Studio中進行開發,通常會打開對話框,右鍵單擊對話框並在彈出的菜單中單擊「插入ActiveX控件...」。從列表中選擇你的控件,它會爲控件和代碼生成一個包裝類,以根據需要創建該類的對象。從對話框代碼的角度來看,它就在那裏,你可以像其他任何控件一樣使用它。

+0

的事情是我使用一個基於對話框的應用程序,而且也沒有在'它OnDraw'方法,導致沒有myAppView和'myAppDocument classes'。我甚至不知道應該在組件類中繼承哪個類。順便說一句,我不是想製作ActiveX控件,而只是一個Cpp文件,稍後會用到它。 也許這裏有什麼我完全錯了,如果我是,我提前抱歉。 感謝您爲幫助我而付出的努力! – 2010-04-16 20:25:11

+1

如果你想在對話框中做自己的繪圖,你真的*想要在一個控件中做到這一點。 – 2010-04-17 02:44:04

1

對於創建MFC新的組件,你必須創建從窗口類(CWND)一類,

之後,你可以有你的組件MessageMap和你的方法,也可以覆蓋CWND :: OnDraw的方法畫出你想要的東西。 ,我建議你之前去看一看到設備上下文

http://msdn.microsoft.com/en-us/library/azz5wt61(VS.80).aspx

好運的朋友。

相關問題