線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1298
推到 Plurk!
推到 Facebook!

該如何消除TPoint的內容

答題得分者是:aftcast
yeeddt
初階會員


發表:18
回覆:28
積分:29
註冊:2008-11-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-11-27 09:55:40 IP:211.21.xxx.xxx 訂閱
目前在練習寫模擬小畫家的程式。
製作多邊形的功能時,我利用TPoint來紀錄每一個點。
請問該如何初始化它的值呢?

[code cpp]
int md;
TPoint p[100];
void __fastcall TForm1::ImageMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
p[md]=Point(X,Y);
Image->Canvas->Polyline(p,md);
md ;
}

void __fastcall TForm1::ImageDblClick(TObject *Sender)
{
md--;
Image->Canvas->Polygon(p,md);
}
[/code]
aftcast
站務副站長


發表:81
回覆:1485
積分:1763
註冊:2002-11-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-11-27 16:33:06 IP:59.115.xxx.xxx 訂閱
建議使用vector來處理


[code cpp]
#include
#include "polygon.h"

std::vector vPoint;

void __fastcall TForm1::ImageMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
vPoint.push_back(Point(X,Y));
Image->Canvas->Polyline(vPoint.begin(), vPoint.size()-1);

}

void __fastcall TForm1::ImageDblClick(TObject *Sender)
{
Image->Canvas->Polygon(vPoint.begin(), vPoint.size()-1);
}


[/code]

要清除vector可以用vPoint.clear(); 來處理,但不能直接放在doubleclick的事件,你試看看就知道,還是會連線,原因是…自己想想
------


蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
編輯記錄
aftcast 重新編輯於 2008-11-27 16:58:27, 註解 無‧
yeeddt
初階會員


發表:18
回覆:28
積分:29
註冊:2008-11-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-11-28 11:02:35 IP:211.21.xxx.xxx 訂閱
謝謝您熱心的解答。
放在doubleclick事件中會有同樣的結果,是因為判斷doubleclick事件的同時也會判斷成mousedown嗎?
不曉得這樣的想法正不正確,煩請指教。
aftcast
站務副站長


發表:81
回覆:1485
積分:1763
註冊:2002-11-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-11-28 11:18:25 IP:59.115.xxx.xxx 訂閱
正確!  小補充一下,doubleclick時,也等同有二次的mousedown且會先觸發。故二個事件處理函式前後都調用了!


===================引 用 yeeddt 文 章===================
謝謝您熱心的解答。
放在doubleclick事件中會有同樣的結果,是因為判斷doubleclick事件的同時也會判斷成mousedown嗎?
不曉得這樣的想法正不正確,煩請指教。
------


蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
yeeddt
初階會員


發表:18
回覆:28
積分:29
註冊:2008-11-10

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-11-28 11:47:28 IP:211.21.xxx.xxx 訂閱
謝謝您熱心的幫忙。
關於這個問題我會再研究的!
系統時間:2024-05-08 4:46:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!