リストビュー


  オブジェクト作成




リストビューの作成方法は、既存のリストビューを使用する方法と新規に作成する方法があります

既存のリストビューは、主にリソースエディタでダイアログ上に貼り付けられる場合に使用します
新規に作成するのは、メインウインドウに実装する場合です

※ スケルトンライブラリではメインウインドウにリストビューが実装済みで、削除も内部で行います

既存のリストビューをオブジェクト化します
但し、プロパティのスタイルで表示を「レポート」に変更しておきます
  

LboxListview *LView;  // グローバルで定義します
-----------------------------------
LView = new LboxListview( ::GetDlgItem( hDlg, IDC_LIST1 ), 0 );  // 作成
-----------------------------------
delete LView;  // 削除
  

新規作成
  

LboxListview *LView;  // グローバルで定義します
-----------------------------------
LView = new LboxListview( hOwner, LBOX_LISTVIEW_CREATE );  // 作成
-----------------------------------
delete LView;  // 削除
  

罫線を表示する
  

LView->Grid();
  







  初期化




初期化方法には、リストビュー全体を初期化する(カラムは全て削除)方法と
行のみ削除する(カラムは残る)方法があります

リストビュー全体を初期化
  

LView->Initialize();
  

行のみ削除
  

LView->Reset();
  

  カラムの追加

文字列のみ指定すると、LVCFMT_LEFT が指定され、幅が 100 であるのと同等です
フォーマットは3種類指定できますが、第1カラムは必ず LVCFMT_LEFT になります

  

LView->AddColumn( "名前" );
LView->AddColumn( LVCFMT_RIGHT, 100, "サイズ" );
LView->AddColumn( "更新日時" );
LView->AddColumn( LVCFMT_CENTER, 100, "作成日時" );
  

  データの追加

  

LboxString LWork;
int i;

for( i = 0; i < 10; i++ ) {
	LView->AddRow();
	LView->SetColumnText( 0, "ファイル名" );
	LView->SetColumnPrintf( 1, "%d", i );
	LWork.operator = ("2005/04/01");
	LView->SetColumnText( 2, &LWork );
	LView->SetColumnText( 3, LWork.szLboxString );
}
  

AddRow メソッドでデータセット可能な行を作成します
SetColumnText メソッドで、カラムごとにデータをセットしていきます

SetColumnText の第2引数は、char * または LboxString * が使用できるので
LView->SetColumnText( 2, &LWork ) と
LView->SetColumnText( 3, LWork.szLboxString ) は同等です
※ LWork.szLboxString は、文字列オブジェクト内の文字列の先頭ポインタを返します

AddRow 実行直後は作成された行がカレントとなっているのでその行に対する
SetColumnText が有効です
※ カレント行を変更するには、SetCurrentRow メソッドを使用します

SetColumnPrintf は API 関数の wsprintf と同じフォーマットが使用できます

  データの列挙

全ての行を列挙します
  

LboxString LWork;
int nRow;
nRow = -1;

while( LView->FindNextRow( &nRow ) ) {
	LView->GetColumnText( 1, &LWork );
}
  

選択状態の行を列挙します
  

LboxString LWork;
int nRow;
nRow = -1;

while( LView->FindNextSelectedRow( &nRow ) ) {
	LView->GetColumnText( 1, &LWork );
}
  

nRow には対象行の行番号がセットされます

  行数とカラム数

  

MsgOk(
	"行数 = %d, カラム数 = %d",
	LView->Count(),
	LView->ColumnCount()
);
  

  表示データの最適化

  

LView->Fit( 1 );  // 指定カラムのみ最適化します

LView->Fit();  // 全てのカラムを最適化します
  




yahoo  google  MSDN  MSDN(us)  WinFAQ  Win Howto  tohoho  ie_DHTML  vector  wdic  辞書  天気 


[cmaterial]
claudebot
24/03/28 21:08:34
InfoBoard Version 1.00 : Language=Perl

1 BatchHelper COMprog CommonSpec Cprog CprogBase CprogSAMPLE CprogSTD CprogSTD2 CprogWinsock Cygwin GameScript HTML HTMLcss InstallShield InstallShieldFunc JScript JScriptSAMPLE Jsfuncs LLINK OldProg OracleGold OracleSilver PRO PRObrowser PROc PROconePOINT PROcontrol PROftpclient PROjscript PROmailer PROperl PROperlCHAT PROphp PROphpLesson PROphpLesson2 PROphpLesson3 PROphpfunction PROphpfunctionArray PROphpfunctionMisc PROphpfunctionString PROsql PROvb PROvbFunction PROvbString PROvbdbmtn PROvbonepoint PROwebapp PROwin1POINT PROwinSYSTEM PROwinYOROZU PROwindows ProjectBoard RealPHP ScriptAPP ScriptMaster VBRealtime Vsfuncs a1root access accreq adsi ajax amazon argus asp aspSample aspVarious aspdotnet aw2kinst cappvariety centura ckeyword classStyle cmaterial cmbin cmdbapp cmenum cmlang cmlistbox cmstd cmstdseed cmtxt cs daz3d db dbCommon dbaccess dnettool dos download flex2 flex3 flex4 framemtn framereq freeWorld freesoft gimp ginpro giodownload google hdml home hta htmlDom ie9svg install java javaSwing javascript jetsql jquery jsp jspTest jspVarious lightbox listasp listmsapi listmsie listmsiis listmsnt listmspatch listmsscript listmsvb listmsvc memo ms msde mysql netbeans oraPlsql oracle oracleWiper oraclehelper orafunc other panoramio pear perl personal pgdojo pgdojo_cal pgdojo_holiday pgdojo_idx pgdojo_ref pgdojo_req php phpVarious phpguide plsql postgres ps r205 realC realwebapp regex rgaki ruby rule sboard sc scprint scquest sdb sdbquest seesaa setup sh_Imagick sh_canvas sh_dotnet sh_google sh_tool sh_web shadowbox shgm shjquery shvbs shweb sjscript skadai skywalker smalltech sperl sqlq src systemdoc tcpip tegaki three toolbox twitter typeface usb useXML vb vbdb vbsfunc vbsguide vbsrc vpc wcsignup webanymind webappgen webclass webparts webtool webwsh win8 winofsql wmi work wp youtube