請問如何用combobox的選單,選擇繪圖呢?? |
答題得分者是:allenchan
|
Vincent2424
一般會員 發表:57 回覆:40 積分:19 註冊:2004-12-15 發送簡訊給我 |
|
elvis1000
一般會員 發表:6 回覆:50 積分:16 註冊:2004-12-18 發送簡訊給我 |
procedure TMainForm.FormCreate(Sender: TObject); begin ComboBox.Style:=csOwnerDrawFixed; ComboBox.Clear; ComboBox.Items.Add('0'); Combobox.Items.Add('1'); end; procedure TMainForm.ComboBoxDrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); Var NRect:TRect; begin NRect:=classes.Rect(Rect.Left 50,Rect.Top 1,Rect.Right-50,Rect.Bottom-1); case index of 0:ComboBox.Canvas.Rectangle(NRect); 1:ComboBox.Canvas.Ellipse(NRect); end;//case end;----------------------- God bless you! I am Dark_Angel.
------
----------------------- God bless you! I am Dark_Angel. |
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
procedure TForm1.FormCreate(Sender: TObject); begin ComboBox1.Clear; ComboBox1.Items.Add('None'); ComboBox1.Items.Add('Circle'); ComboBox1.Items.Add('Rectangle'); end; //你要的只是純粹選定ComboBox選項,然後產生圖形 procedure TForm1.ComboBox1Change(Sender: TObject); var S: string; begin S := TComboBox(Sender).Items[TComboBox(Sender).ItemIndex]; if S = 'Circle' then DrawCircle else if S = 'Rectangle' then Draw_Rectangle; end; //還是改變ComboBox選項以後,後續的滑鼠或鍵盤 動作去決定所要繪製圖形的樣式及其大小? procedure TForm1.ComboBox1Change(Sender: TObject); var S: string; begin S := TComboBox(Sender).Items[TComboBox(Sender).ItemIndex]; if S = 'Circle' then ChangeTo_DrawCircleMode else if S = 'Rectangle' then ChangeTo_DrawRectangleMode; else Exit_DrawGraphMode; end; procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin //紀錄起點座標 end; procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin //繪製變量中的圖形 //抹去座標變量前的圖形 //繪製座標變量後的圖形 end; procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin [red] //繪製最後座標值的圖形 end; |
Vincent2424
一般會員 發表:57 回覆:40 積分:19 註冊:2004-12-15 發送簡訊給我 |
|
allenchan
資深會員 發表:10 回覆:306 積分:283 註冊:2004-01-06 發送簡訊給我 |
在 Form 上面放一個 PaintBox and ComboBox:
void __fastcall TForm1::FormCreate(TObject *Sender) { ComboBox1->Items->Clear(); ComboBox1->Items->Add("矩形"); ComboBox1->Items->Add("圓形"); } void __fastcall TForm1::ComboBox1Change(TObject *Sender) { PaintBox1->Canvas->FillRect(Rect(0, 0, PaintBox1->Width, PaintBox1->Height)); if (ComboBox1->Text == "矩形") PaintBox1->Canvas->Rectangle(10, 10, 100, 100); else if (ComboBox1->Text == "圓形") PaintBox1->Canvas->Ellipse(10, 10, 100, 100); }發表人 - allenchan 於 2004/12/22 17:50:46 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |