請教如何在image或tchart畫一條直綫可以拖動? |
尚未結案
|
blck
一般會員 ![]() ![]() 發表:17 回覆:19 積分:12 註冊:2003-08-02 發送簡訊給我 |
|
taishyang
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
blck您好:
方便將您的程式碼PO上來嗎? 好讓有經驗的人可以幫您看看問題在哪邊
下面是範例程式
Graphics::TBitmap *RectIma=new Graphics::TBitmap(); bool IsMouseDown; TPoint start; void __fastcall TForm1::Image1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { IsMouseDown=true; Image1->Canvas->MoveTo(X,Y); start=TPoint(X,Y); } //--------------------------------------------------------------------------- void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { if (IsMouseDown) { Image1->Picture->Assign(RectIma); Image1->Canvas->Pen->Color=clBlue; Image1->Canvas->Brush->Style=bsClear; Image1->Canvas->MoveTo(start.x,start.y); Image1->Canvas->LineTo(X,Y); } } //--------------------------------------------------------------------------- void __fastcall TForm1::Image1MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { IsMouseDown=false; } //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { Image1->Canvas->Brush->Color=clWhite; Image1->Canvas->FillRect(Rect(0, 0, Image1->Width, Image1->Height)); RectIma->Assign(Image1->Picture->Bitmap); Form1->DoubleBuffered=true; } //--------------------------------------------------------------------------- void __fastcall TForm1::FormDestroy(TObject *Sender) { delete RectIma; } //---------------------------------------------------------------------------順心 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |