討論區快速選單
知識庫快速選單
網路投保旅行平安險 網路投保旅行平安險
[ 回上頁 ] [ 討論區發言規則 ]
MFC Custom Control
更改我的閱讀文章字型大小
作者 : sunyear() VC++卓越專家C++頂尖高手貼文超過2000則
[ 貼文 2421 | 人氣 1485 | 評價 6060 | 評價/貼文 2.5 | 送出評價 5 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/8/15 上午 01:21:22
我想在一個dialog裡加上一個方框(以下稱曲線control)。
曲線有一個操控點(Handle pointer)可以使用滑鼠拉動來改變曲線(俗稱橡皮筋)。
因此使用custom control來實現曲線control,本想應該不難。
結果發現不是想像中的簡單,找了網路的一些資料,方法不儘相同,但都有些問題。
看了MS 的 ctrltest範例,應該是我找到最完整,並可執行無誤的範例。
但實在有點複雜,感覺有點小題大作的感覺。
不知道有沒有人對custom control有較好的範例(針對我的需求),或是不用custom control達到目的也可。
(曲線control的功能不是重點,重點是如何簡單的把一個custom control加入到dialog)
作者 : daniel(冷眼)討論區板主 VC++優秀好手遊戲程式設計優秀好手DirectX優秀好手C++優秀好手貼文超過1000則人氣指數超過70000點
[ 貼文 1564 | 人氣 84169 | 評價 6990 | 評價/貼文 4.47 | 送出評價 15 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/8/15 上午 11:13:43

>我想在一個dialog裡加上一個方框(以下稱曲線control)。
>曲線有一個操控點(Handle pointer)可以使用滑鼠拉動來改變曲線(俗稱橡皮筋)。
>因此使用custom control來實現曲線control,本想應該不難。
>結果發現不是想像中的簡單,找了網路的一些資料,方法不儘相同,但都有些問題。
>看了MS 的 ctrltest範例,應該是我找到最完整,並可執行無誤的範例。
>但實在有點複雜,感覺有點小題大作的感覺。
>不知道有沒有人對custom control有較好的範例(針對我的需求),或是不用custom control達到目的也可。
>(曲線control的功能不是重點,重點是如何簡單的把一個custom control加入到dialog)

其實自繪圖表應該是繼承cstatic比較多...
曲線的圖表..真的不要想成曲線..
其實就是2d圖表只是有沒有關連性的移動而己

開源的圖表函數庫也很多.你可以查下面資料
mfc 的資料codeproject 比較多...(好像不太行了..廣告信一堆)
比較古老的sourceforge 好像也不太行了 (XD 當然早期大型開源專案都是還在)
現在熱門的開源網站.應該是github..(最大方便是他可以查源碼)

現在學MFC不知會不會吃力不討好呢~
( 其實我沒用VS2012 不知會不會有大變化)

作者 : sunyear(coco) VC++卓越專家C++頂尖高手貼文超過2000則
[ 貼文 2421 | 人氣 1485 | 評價 6060 | 評價/貼文 2.5 | 送出評價 5 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/8/15 下午 04:39:46
>其實自繪圖表應該是繼承cstatic比較多...
>曲線的圖表..真的不要想成曲線..
>其實就是2d圖表只是有沒有關連性的移動而己
control我是繼承CView,因為有OnDraw等虛擬函數。
但這不是重點,畫曲線也不困難(那真的是曲線,不是圖表)。
我的問題在於,怎麼實現 custom control。
用registerClass的方式,我試做了,雖然可行,但那程式真的很不好解讀。
(可能要以前用C+SDK 寫過window程式的人才看得懂)
為了將來維護人的幸福,我放棄了。最後採用的是SubclassWindow實現。
所以也算是結案了,但有個奇怪的新問題發生。
不管用那一種方法實現custom control,在OnDraw或OnPaint傳過來的DC去
抓GetClipBox,Clip的範圍都會超過custom control視窗大小。這很奇怪,
我查過傳進來的DC是屬於custom control沒錯啊。
目前暫時抓取Client來交集ClipBox,可以應付,但這問題很是令人疑惑???
 板主 : 青衫 , Raymond
 > Visual C++ - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - Visual C++ - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
Visual C++
1 青衫 11070 
2 Raymond 10090 
3 Clier 7630 
4 小約翰 2500 
5 Cog 2030 
6 coco 1870 
7 aming 1410 
8 牧童哥 1400 
9 r2109 1380 
10 Akira 1350 
Visual C++
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.1416016