zoukankan      html  css  js  c++  java
  • 给 TComboBox 添加图标

    本例效果图:
     
    给 TComboBox 添加图标 - bbdu - dev_bbdu
     
     
     
    代码文件:
     
    unit Unit1;
     
     
     
    i
    interface
     
     
     
    u
    uses
     
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
     
      Dialogs, StdCtrls, ImgList, ComCtrls;
     
     
     
    t
    type
     
      TForm1 = class(TForm)
     
        ComboBox1: TComboBox;
     
        ImageList1: TImageList;  //你先要有图标
     
     
        procedure FormCreate(Sender: TObject);
     
        procedure ComboBox1DrawItem(Control: TWinControl; Index: Integer;
     
          Rect: TRect; State: TOwnerDrawState);
     
        procedure FormDestroy(Sender: TObject);
     
      end;
     
     
     
    v
    var
     
      Form1: TForm1;
     
     
     
    implementation
     
    {
    {$R *.dfm}
     
     
     
    v
    var
     
      Bits: array[0..3] of TBitmap;
     
     
     
    procedure TForm1.FormCreate(Sender: TObject);
    v
    var
     
      i: Integer;
     
    begin
      for i := 0 to Length(Bits)-1 do
     
      begin
        Bits[i] := TBitmap.Create;
     
        ImageList1.GetBitmap(i, Bits[i]);
     
        ComboBox1.Items.Add(Format('Item %d', [i]));
     
      end;
     
     
     
      ComboBox1.Style := csOwnerDrawVariable;
     
      ComboBox1.ItemHeight := Bits[0].Height + 4;
     
      ComboBox1.ItemIndex := 0;
    e
    end;
     
     
     
    procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer;
     
      Rect: TRect; State: TOwnerDrawState);
     
    begin
      ComboBox1.Canvas.FillRect(Rect);
     
     
     
      ComboBox1.Canvas.BrushCopy(Bounds(Rect.Left+2, Rect.Top+2, Bits[Index].Width, Bits[Index].Height), 
     
                                 Bits[Index],
     
                                 Bounds(0, 0, Bits[Index].Width, Bits[Index].Height),
     
                                 clBlack);
     
      ComboBox1.Canvas.TextOut(Rect.Left + 24, Rect.Top + 3, ComboBox1.Items[Index]);
    e
    end;
     
     
     
    procedure TForm1.FormDestroy(Sender: TObject);
    v
    var
     
      i: Integer;
     
    begin
      for i := 0 to Length(Bits)-1 do
     
        Bits[i].Free;
    e
    end;
     
     
     
    e
    end.
  • 相关阅读:
    mongoDB学习第一天之增删改查
    django使用MySQL时部分配置
    centos部署Django项目的前提工作
    pytho中pickle、json模块
    php留言板的实现
    原本就有mysql,安装phpstudy使用里面自带的mysql导致原来的没服务
    ajax向php传参数对数据库操作
    JavaScript之图片懒加载的实现
    JavaScript之点赞特效
    ci框架根据配置自动生成controller控制器和model控制器(改版本)
  • 原文地址:https://www.cnblogs.com/huapox/p/3299840.html
Copyright © 2011-2022 走看看