ListView关键技术研究 C++Builder
2013-04-10 10:07
211 查看
//--------------------------------------------------------------------------- // ListView详细研究 #include <vcl.h> #include <stdio.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { this->cnt=0; //listview设置 this->lv1->ReadOnly = true; this->lv1->RowSelect = true; this->lv1->ViewStyle = vsReport; } //--------------------------------------------------------------------------- void __fastcall TForm1::btn_display1Click(TObject *Sender) { //设置测试数据 for (int i=0; i< lv1->Columns->Count; i++) { TListItem *list = lv1->Items->Add(); list->Caption = ++ this->cnt; list->SubItems->Add("lx") ; list->SubItems->Add("描述lx"); } } //--------------------------------------------------------------------------- //删除所选行 void __fastcall TForm1::btn_delClick(TObject *Sender) { char str[100]=""; if(0==this->lv1->Items->Count) { ShowMessage("列表为空!"); return; } int i; for (i=0; i<this->lv1->Items->Count; i++) { if ( this->lv1->Items->Item[i] == this->lv1->Selected ) //被选中行 { //显示 sprintf(str, "第%d行被选中!", i+1); ShowMessage( AnsiString(str) ); //删除 this->lv1->Items->Item[i]->Delete(); this->cnt --; return; } } if (i == this->lv1->Items->Count) { ShowMessage("无选中行!"); return; } } //--------------------------------------------------------------------------- void __fastcall TForm1::btn_clrClick(TObject *Sender) { this->lv1->Items->Clear(); this->mmo1->Clear(); this->cnt=0; } //--------------------------------------------------------------------------- //第二种显示 void __fastcall TForm1::btn_display2Click(TObject *Sender) { for (int j=0; j<this->lv1->Items->Count; j++) { AnsiString s1=this->lv1->Items->Item[j]->SubItems->Text; this->mmo1->Lines->Add(s1); //第j行,除caption外多列数据以\r\n隔开 mmo1显示之 AnsiString s2=this->lv1->Items->Item[j]->SubItems->Strings[0]; //第一列caption,第二列Strings[0] } for (int i=0; i<3; i++) { this->lv1->Items->Add(); this->cnt++; TListItem *ItemLx = this->lv1->Items->Item[this->cnt-1] ; ItemLx->Caption = this->cnt; ItemLx->SubItems->Add("hxj"); //OK ItemLx->SubItems->Add("hxj描述"); //ItemLx->SubItems->Strings[0]="hxj"; //Err, String[index]还不可用 //ItemLx->SubItems->Strings[1]="hxj描述"; //这一列只有先建立了才可用,见上面ItemLx->SubItems->Add } } //---------------------------------------------------------------------------
相关文章推荐
- 研读《高可用多节点集群技术的研究和实现》-----需要研究的关键技术
- 美国高分辨率土地覆盖关键技术研究进展
- 基于Eclipse GEF关键技术的分析与研究
- 基于IP的VOD视频点播关键技术研究
- 基于Eclipse GEF关键技术的分析与研究
- 智能普适网络架构及关键技术研究
- 基于Eclipse GEF关键技术的分析与研究
- Android重要组件ListView的技术使用,研究。(持续更新...)
- 步进电机驱动器的关键技术研究
- 《商业WEB挖掘关键技术研究》之语义模板笔记
- “BIM关键技术研究”专题征稿启事
- Windows CE嵌入式导航系统研究(关键技术)
- PaperWeekly 第32期 | 基于知识图谱的问答系统关键技术研究 #01
- 基于大规模XML数据的关键字查询处理关键技术研究
- 网络安全风险评估关键技术研究
- 区块链的关键技术与研究热点
- 移动终端管理系统的关键技术研究 - 转贴
- 步进电机驱动器的关键技术研究
- Wimax关键技术--OFDM技术研究
- 移动终端管理系统的关键技术研究 - 转贴