本來我是打算分兩章節寫的,後來....請原諒我真的太懶惰
先講講原角好了,什麼是原角?
這個叫做直角,也就是我們一般看到的四方型 ( 廢話..... )
那原角就是
長這樣
然後我在畫的詳細一點
好吧,我承認我沒有繪畫天賦...................
anyway , never mind
我想表達的是,有時候我們需要我們畫出來的東西不要這麼死,就要需要畫成這樣
但是這樣要怎麼畫 ? 來,我們直接看code
Step 1 :
Load lib
Step2 :
開始與結束 (必不可少)
然後我們在InitInstance () 那邊
啟動。 ( 如果你不做這個動作,你會發現你宣告的任何Gdi object 都拿不到pointer 並且,他會回傳沒有init給你,然後你就怎麼樣也做不了 ,所以本人覺得這個步驟真的很重要 )
有了啟動,我們就需要相對應的結束
在Main結束的時候,會跑到這裡來,然後我們就結束了 。
到這邊不難理解吧 ? 有開始有啟動,ok ,接下來我們開始畫了哦 !!!
Step 3 : Draw Rectangle
因為我要直接畫在底圖上,所以我直接使用EraseBkgnd
※這裡要注意的是,如果 ! 你宣告了 Graphics gdi (pDC->m_hDC ) ;
然後你的gdi沒有任何address,那麼就是你Step2的開始沒有做。
結果 :
太細 ?
int width = 20;
修改成 :
int width = 20;
接下來,我們要畫一個半透明的圖在上面
畫圖,我們需要知道開始和結束
開始 = OnLButtonDown ( 滑鼠左鍵按下去 )
結束 = OnLButtonUp ( 滑鼠左鍵放開 )
所以我們需要有兩個座標,開始和結束
Step 1 :
我們在Class member 裡面新增一個變數來記載開始的座標
Line 276 : 不用管,那只是我用radio button做的控制要不要畫的開關而已
如果你也要這個....去參考我前幾天寫的radio button的寫法,然後Function裡面就這樣寫
Line 278 : 用一個BOOL 的變數記載LBButtonDown
Line 279 : 將開始的座標記得
Step2 :
因為我邊寫教學邊做專案- -| 所以我四個Rectangle變成藍色的,有要改的人就直接去上面改一改
如此一來,我們直接按Build
就畫了一個半透明的東西了
Step3
That 's All