コンボ・ボックスを使う


 ここでは、クラスウィザードを使用して、操作対象のコンボ・ボックス、エディット・ボックス
にメソッド変数を設定して使用しています。

(まめ知識)
 私だけかも知れませんが初めてVC++でコンボボックスを使ったとき、リスト部分がドロップダウンしなくて
非常に悩みました。ドロップダウンするリスト部分のサイズを以下の手順で設定する必要があったのです。

  @ComboBoxをダイアログに貼り付ける。
  AComboBoxの右端のボタン(▼)をクリック
  BするとCombBoxのリスト部分が下に伸ばせるようになります。
  Cこれでコンパイルすればリストが表示されるようになります。

【サンプル・ソース】
//----------------------------------------------------------
//エディット・ボックスの内容をコンボ・ボックスにデータを追加
void CCombosapDlg::OnButton1() 
{
	CString ss;

	//エディット・ボックスの内容を取得
	m_edit1.GetWindowText(ss);

	//コンボ・ボックスにデータを追加
	m_combo1.AddString(ss);
}

//------------------------------------------------------------
//エディット・ボックスの内容をコンボ・ボックスの選択位置に挿入
void CCombosapDlg::OnButton2() 
{
	CString ss;
	int index;

	//エディット・ボックスの内容を取得
	m_edit1.GetWindowText(ss);

	//選択されているデータのインデックスを取得
	index = m_combo1.GetCurSel();

	//データを挿入
	m_combo1.InsertString(index, ss);
}

//---------------------------------------------
//選択されたコンボ・ボックスのデータを削除
void CCombosapDlg::OnButton3() 
{
	int index;

	//選択されているデータのインデックスを取得
	index = m_combo1.GetCurSel();
	
	//データの削除
	m_combo1.DeleteString(index);
}

//--------------------------------------------------------------------------
//エディット・ボックスに指定されたディレクトリ配下にあるファイル名を取得
void CCombosapDlg::OnButton4() 
{
	CString ss;

	//エディット・ボックスの内容を取得
	m_edit1.GetWindowText(ss);

	//指定されたディレクトリ配下にあるファイル名を取得
	m_combo1.Dir(DDL_ARCHIVE,ss + "\\*.*");  //ここでは、アーカイブを指定

}

//--------------------------------------------------------------------------
//選択されたコンボ・ボックスのデータをエディット・ボックスに出力
void CCombosapDlg::OnButton5() 
{
	CString ss;
	int index;

	//選択されているデータのインデックスを取得
	index = m_combo1.GetCurSel();

	//選択されているデータを取得
	m_combo1.GetLBText(index, ss);

	//取得した文字列をエディット・ボックスへ出力
	m_edit1.SetWindowText(ss);
}