2015-05-31 31 views
-2

我有一個下面的問題。我的任務是創建一個簡單的圖表繪圖庫(例如Windows圖表)。我已經嘗試過使用Graphics類,但是這種方法很少出現問題。使用圖形時,我無法控制已經繪製的東西。我需要一種與繪製對象交互的方式 - 從視圖中刪除特定的點或線,或者製作鼠標懸停事件。 我只是要求一些指導如何開始。如何創建一個簡單的圖表繪製庫

+1

您需要跟蹤每個「事物」的位置,然後處理鼠標事件並進行命中測試。 – SLaks

回答

2

聽起來有點像一門功課的問題,但這裏是我會怎麼處理這大綱:

您需要創建爲每個不同類型的你想畫的東西一類的類型,並讓他們固有的來自抽象基類型。因此,例如,您可能有一個類DrawableObject,然後是抽象基類中的Circle : DrawableObject,Polygon : DrawableObject等,您可以定義諸如Paint(Graphics g)IsHit(Point p)或類似的方法,因爲每次對圖形進行更改時,將需要清理並重新繪製每個項目。通過這種方式,當您將DrawableObject保存在一個數組中時,只需遍歷它們並在每個對象上調用paint方法即可。因此,每個繪製的對象將保留在其自己的類(如座標,大小等)的具體內容

這是我將如何開始在WinForms上做這件事,雖然如果你可以使用WPF,你可以包括一個WPF控件主機,然後使用WPF形狀控件作爲您的項目,因爲它們可以被操縱,WPF將負責重新繪製表面

相關問題