リストボックスの細やかな処理

  ダブルクリックした行の文字列を取得する



  
case WM_COMMAND:
	if ( HIWORD(wParam) == LBN_DBLCLK ) {
		nIdx = (int)ListBox_GetCaretIndex( (HWND)lParam );
		ListBox_GetText( (HWND)lParam, nIdx, Buffer);
		SetWindowText( GetDlgItem( hDlg, IDC_EDIT ), Buffer );
	}
  

LBN_DBLCLK はリストボックスからの専用通知メッセージで、リストボックス
をダブルクリックすると親ウインドウに WM_COMMAND メッセージと共に送
られます

ListBox_GetCaretIndex は現在の行を返すマクロで、LB_GETCARETINDEX
を用います。



  行の件数を知る



  
if( LOWORD(wParam) == IDC_KENSU ) {
	nCount = (int)ListBox_GetCount( GetDlgItem( hDlg, IDC_LIST ) );
	wsprintf( Buffer, "%d", nCount );
	SetWindowText( GetDlgItem( hDlg, IDC_COUNT ), Buffer );
	return TRUE;
}
  



  リストボックス内の先頭に表示されている項目のインデックスを取得する

  
if( LOWORD(wParam) == IDC_TOP ) {
	nCount = (int)ListBox_GetTopIndex( GetDlgItem( hDlg, IDC_LIST ) );
	wsprintf( Buffer, "%d", nCount );
	SetWindowText( GetDlgItem( hDlg, IDC_COUNT ), Buffer );
	return TRUE;
}
  










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





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

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ