unit1.cpp

来自「有视频」· C++ 代码 · 共 44 行

CPP
44
字号
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::ListBox1DrawItem(TWinControl *Control, int Index,
      TRect &Rect, TOwnerDrawState State)
{
  Graphics::TBitmap *pBitmap; 	//定义一个位图
  int     Offset = 2;   		//说明文字显示位置值
  TCanvas *pCanvas = ((TListBox *)Control)->Canvas;//列表框的画布
  pCanvas->FillRect(Rect); 		// 清除画布的内容
  pBitmap = (Graphics::TBitmap *)((TListBox *)Control)->Items->Objects[Index];//取出位图

  if (pBitmap)				//如果位图存在,显示在列表项的左边
  {
    pCanvas->CopyRect(Bounds(Rect.Left + Offset, Rect.Top, pBitmap->Width, pBitmap->Height), pBitmap->Canvas,Bounds(0, 0, pBitmap->Width, pBitmap->Height));
Offset += pBitmap->Width + 4;   //准备说明文字显示的X位置
  }
  //显示说明文字
  pCanvas->TextOut(Rect.Left + Offset, Rect.Top+6,((TListBox *)Control)->Items->Strings[Index]);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  ListBox1->Clear();		//列表框内容清空
  ListBox1->Items->AddObject("第一项",Image1->Picture->Bitmap);//加入行的内容
  ListBox1->Items->AddObject("第二项",Image2->Picture->Bitmap);
  ListBox1->Items->AddObject("第三项",Image3->Picture->Bitmap);
  ListBox1->Items->AddObject("第四项",Image4->Picture->Bitmap);
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?