listbox和comebox添加图片
来源:互联网 发布:淘宝店铺门头图片 编辑:程序博客网 时间:2024/06/03 09:24
unit U0012;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Gauges, ComCtrls, Menus;type TForm1 = class(TForm) ListBox1: TListBox; ComboBox1: TComboBox; Button1: TButton; Button2: TButton; Button3: TButton; PopupMenu1: TPopupMenu; Label1: TLabel; a1: TMenuItem; procedure Button1Click(Sender: TObject); procedure ComboBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } Procedure ShowIt(Sender:Tobject); public { Public declarations } end;var Form1: TForm1; TheBitmap : Array [1..10] of TBitmap ; BmpAlreadyCreate : Boolean;implementation{$R *.DFM}procedure TForm1.FormCreate(Sender: TObject);begin BmpAlreadyCreate := False ;end;procedure TForm1.Button1Click(Sender: TObject);Var I : Integer ; AppPath : String ;begin AppPath := ExtractFilePath(Application.Exename); if Not BmpAlreadyCreate Then Begin For I := 1 to 10 do Begin TheBitmap[i] := TBitmap.Create ; TheBitmap[i].LoadFromFile(AppPath+'Img\'+IntToStr(i)+'.bmp') ; ComboBox1.Items.AddObject('ComboBox测试 '+IntToStr(i), TheBitmap[i]) ; ListBox1.Items.AddObject('ListBox测试 '+IntToStr(i), TheBitmap[i]) ; End ; End ; BmpAlreadyCreate := True ;end;procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);var Bitmap: TBitmap ; Offset: Integer ;begin offset := 0 ; with (Control as TComboBox).Canvas do begin FillRect(Rect); Bitmap := TBitmap(ComboBox1.Items.Objects[Index]); if Bitmap <> nil then begin BrushCopy(Bounds(Rect.Left + 2, Rect.Top + 2, Bitmap.Width, Bitmap.Height), Bitmap, Bounds(0, 0, Bitmap.Width, Bitmap.Height), clRed); Offset := Bitmap.width + 8; end; TextOut(Rect.Left + Offset, Rect.Top, Combobox1.Items[Index]) //display the text end;end;procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);var Bitmap: TBitmap; Offset: Integer;Begin offset := 0 ; with (Control as TListBox).Canvas do Begin FillRect(Rect); Bitmap := TBitmap(ListBox1.Items.Objects[Index]); if Bitmap <> nil then Begin BrushCopy(Bounds(Rect.Left + 2, Rect.Top + 2, Bitmap.Width, Bitmap.Height), Bitmap, Bounds(0, 0, Bitmap.Width, Bitmap.Height), clRed); Offset := Bitmap.width + 8; End; TextOut(Rect.Left + Offset, Rect.Top, ListBox1.Items[Index]) //display the text End ;End ;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);Var I : Integer ;begin if BmpalreadyCreate Then For I := 1 to 10 do TheBitmap[i].Free ;end;procedure TForm1.Button2Click(Sender: TObject);begin SendMessage(ListBox1.Handle,LB_SetHorizontalExtent,5000, longint(0));end;Procedure Tform1.ShowIt(Sender:Tobject);begin With Sender as TmenuItem do begin Label1.Caption := Caption end;end;procedure TForm1.Button3Click(Sender: TObject);Var Menuitem:array[1..4]of Tmenuitem; I:integer;begin While(popupmenu1.items.count>0) Do PopupMenu1.Items[0].free ; //释放已经创建的TmenuItem for I:=1 to 4 do Begin Menuitem[I] := TmenuItem.Create(Self); //动态创建TMenuItem MenuItem[I].Caption:= 'File '+inttostr(I); //设置MenuItem的Caption属性 MenuItem[I].OnClick:= ShowIt; //定义menuItem的OnClick事件的处理过程 PopupMenu1.Items.Add(MenuItem[I]); //增加到PopMenu中 End;end;end.
0 0
- listbox和comebox添加图片
- ListBox的批量添加和删除
- C#(WinForm) ComboBox和ListBox添加项
- 关于在symbian listbox中添加svg图片的问题
- 关于在symbian listbox中添加svg图片的问题
- listbox美化——添加图片、修改背景色
- 改变ListBox中Items的颜色,并且为ListBox中的项目添加图片。
- listBox中的值添加到另一个listbox中,支持多选和去重项
- listbox之间item的添加和移除
- Excel VBA ListBox列表框添加和删除问题
- js操作ListBox实现多项的添加和删除
- c#(winform)中ComboBox和ListBox添加项完全解决
- ComboBox和ListBox添加项及设置默认选择项
- symbian中的listbox添加和删除列表项代码实例
- [Asp.Net]JavaScript添加和读取ListBox的Item
- MFC ListBox控件小记(添加记录和获取记录)
- c#(winform)中ComboBox和ListBox添加项完全解决
- 两个listbox实现选项的添加删除和搜索
- Effective C++ 笔记目录
- springmvc(一) 入门程序
- SDN
- PHP 7 值得期待的新特性(上)
- ExtJs checkboxgroup选择事件
- listbox和comebox添加图片
- 基于cuda的gpu加速
- 【杭电】[2016]数据的交换输出
- IOS网络开发NSURLSession详解(一)概述
- visual studio的学习
- PHP 7 值得期待的新特性(下)
- IOS面试算法题(4)——反斜对角线打印矩阵
- LeetCode 290:Word Pattern
- 最高分是多少(华为机试)