討論區快速選單
知識庫快速選單
2018年Oracle資料庫12c系列課程 CRM雲端平台必備Salesforce認證 政府補助!學嵌入式+物聯網
[ 回上頁 ] [ 討論區發言規則 ]
請教關於物件的表現方式!
更改我的閱讀文章字型大小
作者 : jonashsu(littlenew)
[ 貼文 6 | 人氣 166 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2008/11/28 上午 11:42:08
在下也不確定此問題適不適合在這提問發表,若有不恰當,煩請各位大大指點!!
在下目前是用VC++.Net的開發環境,也看過一些物件導向的書,
現在想用物件導向的方式,建立一個視窗,然後在視窗上能顯示出一個物件,
而這物件是自己所建立的物件,例如圓形圖,或圓點圖
因為目前所知,視窗所畫出的圓,好像都是一個圖像,而不是具有托曳的圖形物件!!

1.想要達到上述的要求,用VC++.net開發是否恰當?

2.在視窗上如何表現出自己所創的一個物件(非程式開發所提供的元件),且具有拖曳功能?

3.若要使用程式開發所提供的元件,能增刪並修改其屬性嗎?
 
4.請問各位大大,對以上的問題需求,有沒有推薦閱讀的書籍或資料!
作者 : claretphoenix(小綾)
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2009/6/16 上午 01:21:05
只有單個物件的前提下:
簡單方法是配置一個跟視窗等大的,相對應的buffer
產生物件時,給個ID,例如他的memory address
然後把buffer中物件蓋到的地方都填上此ID
按下滑鼠鍵時,檢查鼠標所在的ID
移動滑鼠時,變更此ID代表之物件的位置
放開滑鼠鍵時,把buffer中物件蓋到的地方都填上此ID
多個物件時,把繪製順序與層次問題考慮進去即可。
作者 : cancle(笨毛) 貼文超過200則
[ 貼文 276 | 人氣 2885 | 評價 830 | 評價/貼文 3.01 | 送出評價 12 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2009/9/3 下午 10:26:26
想移動就變更顯示的座標 然後在畫一次
CElement::OnDraw 請依自己的情況顯示實作
看上面 大大因該可以顯示出圖了
下面是移動的部份

// MouseDownPt 是個 member;
void CElement::OnMouseMove(POINT &MousePt)
{

POINT ElementPt;
int x,y;

x = MousePt.x - MouseDownPt.x;
y = MousePt.y - MouseDownPt.y;

ElementPt = GetPoint();
SetPoint(ElementPt.x + x, ElementPt.y + y);
MouseDownPt.x = MousePt.x;
MouseDownPt.y = MousePt.y;

InvalidateRect(); // 更新畫面 在windows 裡 會叫一次 WM_PAINT
}

流程就是
1. 將 舊的座標取出來
2. 計算 新座標跟舊座標 的差 (移動了多少)
3. 將 差值 加回去 舊的座標
4. 更新畫面 這時會 叫WM_PAINT 就用新座標在畫一次

這樣 看起來就像在拉圖了
 板主 : Clark
 > 物件導向程式設計 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 物件導向程式設計 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
物件導向程式設計
1 Arthur 180 
2 藍色LED 150 
3 長長 100 
4 Linkin 100 
5 love seeker 100 
6 Raymond 90 
7 Nets 80 
8 nop 70 
9 Huah 70 
10 矇矇 60 
物件導向程式設計
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.03125