c++ builder listview 重绘
来源:互联网 发布:网络分娩直报平台 编辑:程序博客网 时间:2024/06/13 22:24
1 在构造函数中
ListView1->OwnerDraw = true;ListView1->StateImages= ImageList1;ListView1->OnDrawItem =(TLVDrawItemEvent)&CrnDrawListViewItem;
2 响应函数
void __fastcall TfmMipian:: CrnDrawListViewItem(TCustomListView *Sender,TListItem *Item, TRect &Rect, TOwnerDrawState State){TListView *lv = (TListView *)Sender;// RectTRect rct(Rect.Left + 1, Rect.Top, Rect.Width() - 1, Rect.Bottom);// Fill backgroundif(State.Contains(odFocused) || State.Contains(odSelected)){// With focuslv->Canvas->Brush->Color = MYCOLOR_BACK;lv->Canvas->FillRect(rct);lv->Canvas->Pen->Color = MYCOLOR_BORDER;lv->Canvas->Rectangle(rct);}else{lv->Canvas->Brush->Color = lv->Color;lv->Canvas->FillRect(Rect);}int nLeftOffset(0); if(lv->Checkboxes){lv->Canvas->Pen->Color = clBlack;lv->Canvas->Pen->Width = 1; // Draw CheckBox Rectlv->Canvas->Rectangle(Rect.Left + 1, Rect.Top + 10, Rect.Left + 15, Rect.Top + 24);nLeftOffset = 16;if(Item->Checked) {// 画CheckBox的勾lv->Canvas->MoveTo(Rect.Left + 6, Rect.Top + 15);lv->Canvas->LineTo(Rect.Left + 8, Rect.Top + 18);lv->Canvas->LineTo(Rect.Left + 13, Rect.Top + 10); }lv->Canvas->Pen->Width = 1;}// Draw small Iconif(lv->SmallImages && Item->ImageIndex != -1) { lv->SmallImages->Draw(lv->Canvas, nLeftOffset + Rect.Left + 2,Rect.Top + (Rect.Height() - lv->SmallImages->Height) / 2 + 1, Item->ImageIndex, true); nLeftOffset += lv->SmallImages->Width;/**/ }// Draw TextTBrowcards_oParam *param; //丛结构体中获取数据param = (TBrowcards_oParam*)Item->Data;lv->Canvas->Font->Color =MYCOLOR_NAME;lv->Canvas->TextOutA(Rect.Left + 4 + nLeftOffset,Rect.Top+10,param->m101);lv->Canvas->Font->Color = MYCOLOR_UNIT; lv->Canvas->TextOutA(Rect.Left + 4 + nLeftOffset,Rect.Top + lv->Canvas->TextHeight("A")+10,param->m102);// Draw SubItem Textint nColOffset(0);for(int i=0; i<Item->SubItems->Count; i++){nColOffset += lv->Column[i]->Width; lv->Canvas->TextOutA(nColOffset + Rect.Left + 4,Rect.Top + (Rect.Height() - lv->Canvas->TextHeight("A")) / 2,Item->SubItems->Strings[i]);}}
0 0
- c++ builder listview 重绘
- ListView关键技术研究 C++Builder
- C++Builder ListView 单元格点击菜单
- [NOTE]重绘ListView控件
- Android重绘ListView高度
- c++builder自绘按钮
- c++builder
- C++Builder
- C++BUILDER
- C++Builder
- C++BUILDER
- 重绘ComboBox[C#]
- 重绘ComboBox[C#] .
- 重绘ComboBox[C#]
- C++builder自绘控件框架
- c++builder error:在button1click中,不调用别人的线程时可以运行 Form1->suiButton1->Visible = false;等重绘控件,但是调用后就不可以重绘
- C++Builder 拾零
- C#Builder初体验
- 自定义对话框
- 这里先公布一个,自己写得unityUI的适配的方案(插播)
- java_时间戳与Date_相互转化
- Android JNI
- MD5加密算法
- c++ builder listview 重绘
- document.documentElement.scrollTop || document.body.scrollTop问题分析
- 解决java.lang.OutOfMemoryError: bitmap size exceeds VM 方式
- Python多进程并发操作中进程池Pool的应用<转>
- Python 提交表单数的一点简单介绍
- nodeframe框架系列之一 —— 快速入门
- C,C++编程 100个经典算法 1
- 自己动手扩展vim插件——code_complete.vim篇
- HTML与XHTML的区别