如何把功能表塗上顏色 ?? |
尚未結案
|
jeffreck
高階會員 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
jeffreck
高階會員 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
|
jeffreck
高階會員 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
找到了 procedure TForm1.Button1Click(Sender: TObject);
begin self.mnu1.Bitmap.LoadFromFile('Be Screen.bmp'); <<---為何不作不行??
// self.mnu1.Bitmap.Canvas.Pen.Color := clLime;
self.mnu1.Bitmap.Canvas.Brush.Color:= clLime;
self.mnu1.Bitmap.Canvas.Brush.Style := bsSolid ;
self.mnu1.Bitmap.Canvas.Rectangle(0, 0, 50, 50);
end; 但為為一定要開圖檔之後再有作用???
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
jeffreck
高階會員 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
|
OsX
版主 發表:6 回覆:151 積分:111 註冊:2003-05-03 發送簡訊給我 |
試試看下面的程式 { ----------------------------------------------------------- } procedure TForm1.N1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; Selected: Boolean); var aPaintArear: TRect; aText: String; aTextHeight: Integer; aColor: TColor; begin ACanvas.Brush.Color := clWhite; if Selected then ACanvas.Brush.Color := clHighlight; ACanvas.FillRect( ARect ); aText := TMenuItem( Sender ).Caption; aPaintArear := Rect( ARect.Left, ARect.Top, 24, ARect.Bottom ); if aText = '紅色' then aColor := clRed else if aText = '藍色' then aColor := clBlue else if aText = '綠色' then aColor := clGreen; ACanvas.Brush.Color := aColor; ACanvas.FillRect( aPaintArear ); aTextHeight := ACanvas.TextHeight( aText ); ACanvas.Brush.Style := bsClear; ACanvas.TextOut( aPaintArear.Right 3, ARect.Top ( ARect.Bottom - ARect.Top - aTextHeight ) div 2 , aText ); end; { ----------------------------------------------------------- } procedure TForm1.N1MeasureItem(Sender: TObject; ACanvas: TCanvas; var Width, Height: Integer); begin Width := 80; Height := 24; end; { ---------------------------------------------------------------------------- }結果 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |