2010-03-22 55 views
0

我想創建一個應用程序,其中主窗口具有畫布(或可以繪製自定義事物的東西)以及一些控件,如按鈕和編輯字段。但我被困在如何去做。如何在MFC對話框中添加畫布?

我試圖用SDI創建MFC,但是如何將控件添加到CDC ..? 我試圖創建一個按鈕和編輯字段的對話框,但哪個控件是指我可以繪製的東西..?

請賜教如何做到這一點..

回答

2

它已經幾年我,但這裏有雲:

我不認爲MFC有一個特定的畫布控制。相反,當我想要一個繪圖表面時,我在設計模式中添加了一個組框。我使組框不可見,所以它不會在運行時顯示。

在窗體視圖的OnCreate處理程序中,我創建了一個CWnd,併爲其指定了不可見組框的大小和位置。

我爲CWnd,瞧,即時圖形畫布或任何你可能需要的畫布設置了一個OnPaint消息處理程序。

現在,這是五年前最後一次完成的,MFC可能從那時開始遞增,但這是一般機制。

+0

或者,可以使用CFormView而不是CDialog作爲父窗口。 – adam 2010-03-22 20:11:02

+0

謝謝,它非常幫助我。 :) – 2010-04-02 17:18:20

0

而不是SDI,使用基於對話框的應用程序。您可以輕鬆地添加您希望進行對話的任何控件。

您可能希望使應用可調整大小。將邊框樣式設置爲厚度並啓用最小化和最大化按鈕。重寫OnSize以在對話框大小更改時移動和/或調整控件的大小。如果您需要爲窗口設置最小大小,請覆蓋OnSizing。

在對話框上執行任意繪製的最簡單方法是重寫OnPaint。定義對話框的區域以包含您的自定義繪圖,也許使用框架控件包圍它,然後繪製到OnPaint創建的DC中。