もっとも利用価値の高いコントロール

  リストボックスとは



リストボックスは、「行」を持つコントロールです。最大行数は、Windows 95 と Windows 98では、32,767 と制限されていますが、それ以外ではメモリに依存します。

一つの行は一つの項目として扱われ、文字列を格納する事ができます。これは、Windows アプリケーションにおけるデバッグ表示方法として非常に重宝するものです。また、配列データの代わりに使ったり、データのソートに使ったり、ファイルの一覧を取得したりする場合のワークエリアとして利用価値の高いものです。



  リストボックスに対する処理



リストボックスはウインドウである為、メッセージハンドラを持っています。つまり、リストボックスに対する処理は、そのメッセージハンドラに対して「メッセージを送る」という形で行います。Windows アプリケーション初心者には解り難いかもしれませんが、それが Windows の仕様です。他のコントロールに対しても同じようにして処理を行なう場合が多くなります

MFC では、そのメッセージ処理をクラスのメンバ関数にしています。その説明は Microsoft にあるので、それをふまえてメッセージについて調べると理解が早くなります



  LB_ADDSTRING

このメッセージは以下のようにして、リストボックスへ送ります

  
char szBuffer[128];
int nRow;

lstrcpy( szBuffer, "追加したい文字列" );

nRow = (int)SendMessage( hList, LB_ADDSTRING, 0L, (LPARAM)(LPCTSTR)szBuffer );
  

nRow には、追加された位置が帰ります

これについての、Microsoft の MFC のドキュメントは こちら です
MFC のリストボックスのメンバに関するすべてのドキュメントの目次は こちら です


また、windowsx.h には、以下のようなマクロ定義がなされています

  
#define ListBox_AddString(hwndCtl, lpsz) \
            ((int)(DWORD)SNDMSG((hwndCtl), LB_ADDSTRING, 0L, (LPARAM)(LPCTSTR)(lpsz)))
  

このマクロを使用すると、以下のように書く事ができます

  
nRow = ListBox_AddString(hList,szBuffer);
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ