如何在 listbox中每行中添加表徵圖

來源:互聯網
上載者:User
如何在 listbox中每行中添加表徵圖 VCL組件開發及應用
http://www.delphi2007.net/DelphiVCL/html/delphi_20061226161818102.html
如何在   listbox中每行中添加表徵圖

procedure   TfrmMain.lbLanmuDrawItem(Control:   TWinControl;   Index:   Integer;  
      Rect:   TRect;   State:   TOwnerDrawState);  
   
  begin  
      with   Control   as   TListBox   do   begin  
          Canvas.FillRect(Rect);  
          ilType.Draw(Canvas,Rect.Left,Rect.Top+2,index+1);   //繪圖,ilType-TImageList  
          Canvas.TextOut(Rect.Left+ilType.Width+4,Rect.Top+8,Items.Strings[index]);  
      end;  
  end

假設我已經把ico放在了imagelist中了呢?

先將ListBox的Style屬性設為lbOwnerDrawFixed  
   
  procedure   TForm1.ListBox1DrawItem(Control:   TWinControl;   Index:   Integer;  
      Rect:   TRect;   State:   TOwnerDrawState);  
  var  
      AColor:   TColor;  
  begin  
      with   TListBox(Control)   do  
      begin  
          Canvas.Brush.Color   :=   Color;  
          Canvas.Brush.Style   :=   bsSolid;  
          Canvas.FillRect(Rect);  
          ImageList1.Draw(Canvas,   Rect.Left,   Rect.Top,   0);  
          AColor   :=   ColorToRgb(Color)   xor   $FFFFFF;  
          Canvas.Font.Color   :=   AColor;  
          Canvas.TextOut(ImageList1.Width   +   2,   Rect.Top,   Items[Index]);  
      end;  
  end;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.