請問怎樣給TListbox添加背景圖片 |
答題得分者是:Miles
|
cxg
中階會員 發表:116 回覆:192 積分:76 註冊:2004-02-12 發送簡訊給我 |
|
Miles
尊榮會員 發表:27 回覆:662 積分:622 註冊:2002-07-12 發送簡訊給我 |
Hi cxg 您好:
試試這個, 裡面有SourceCode可下載
http://www.greatis.com/delphi/components-imagelistbox.html 我不是高手, 高手是正在銀幕前微笑的人.
------
我不是高手, 高手是正在銀幕前微笑的人. |
cxg
中階會員 發表:116 回覆:192 積分:76 註冊:2004-02-12 發送簡訊給我 |
引言: Hi cxg 您好: 試試這個, 裡面有SourceCode可下載 http://www.greatis.com/delphi/components-imagelistbox.html 我不是高手, 高手是正在銀幕前微笑的人.謝謝Miles。 |
cxg
中階會員 發表:116 回覆:192 積分:76 註冊:2004-02-12 發送簡訊給我 |
引言: Hi cxg 您好: 試試這個, 裡面有SourceCode可下載 http://www.greatis.com/delphi/components-imagelistbox.html 我不是高手, 高手是正在銀幕前微笑的人.Miles您好: 以上的方法我試了一下,還是有點問題。它不能將整個TLISTBOX的背景填滿,麻煩您指教一下,謝謝。 |
Miles
尊榮會員 發表:27 回覆:662 積分:622 註冊:2002-07-12 發送簡訊給我 |
Hi cxg 您好, 試了一下, 但還有些缺陷.
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); var ImageRect1, NewRect, ImageRect2, ResRect: TRect; begin ImageRect1 := Classes.Rect( 0, 0, Image1.Picture.Bitmap.Width, Image1.Picture.Bitmap.Height); ImageRect2 := ImageRect1; IntersectRect(ResRect, ImageRect2, Rect); NewRect.Left:=ImageRect1.Left; NewRect.Top:=ImageRect1.Top ResRect.Top-ImageRect2.Top; //NewRect.Top:=ResRect.Top; NewRect.Right:=ImageRect1.Right; NewRect.Bottom:=ImageRect1.Bottom ResRect.Bottom-ImageRect2.Bottom; //NewRect.Bottom:=ResRect.Bottom; ListBox1.Canvas.CopyRect( ResRect, Image1.Picture.Bitmap.Canvas, NewRect); ListBox1.Canvas.Brush.Style:=bsClear; ListBox1.Canvas.TextOut( Rect.Left 2, Rect.Top, ExtractFileName(ListBox1.Items[Index])); end; procedure TForm1.FormCreate(Sender: TObject); var MyBmp : TBitmap; begin MyBmp := TBitmap.Create; MyBmp.Width := ListBox1.Width; MyBmp.Height := ListBox1.Height; MyBmp.PixelFormat := pf24bit; SetStretchBltMode(MyBmp.Canvas.Handle, ColorOnColor); stretchblt(MyBmp.Canvas.Handle, 0, 0, MyBmp.Width, MyBmp.Height, Image1.Picture.Bitmap.Canvas.Handle, 0, 0, Image1.Picture.Bitmap.Width, Image1.Picture.Bitmap.Height, srccopy); Image1.Picture.Bitmap := MyBmp; MyBmp.Free; end;我不是高手, 高手是正在銀幕前微笑的人.
------
我不是高手, 高手是正在銀幕前微笑的人. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |