@タブの初期設定


エディットボックスのプロパティでIMEを常にOFFにする方法がわからないのでこのような変な処理をする 必要があります(?)。この方法はあまりお勧めできないので、いくらがんばってもIMEを常にOFFにする方 法がわからないときに使ってください。
下の処理をクラスウィザードでエディットボックスの"EN_KILLFOCAS"メッセージに を選択して追加した関数の中に書いてください。
	//タブの設定
	TC_ITEM tc0;				// タブ札の性格を指定
	tc0.mask=TCIF_TEXT;			// タブ表示は文字列をタブ札に付ける
	tc0.pszText="1";		// この文字列をタブ札に付ける
	tc0.iImage=-1;				// タブ札にイメージ表示をしない
	tc0.lParam=0;				// タブに固有の値を設定
	m_tab.InsertItem(0,&tc0);	// 0番の札を設定

	TC_ITEM tc1;				// タブ札の性格を指定
	tc1.mask=TCIF_TEXT;			// タブ表示は文字列をタブ札に付ける
	tc1.pszText="2";	// この文字列をタブ札に付ける
	tc1.iImage=-1;				// タブ札にイメージ表示をしない
	tc1.lParam=1;				// タブに固有の値を設定
	m_tab.InsertItem(1,&tc1);	// 1番の札を設定
	
	TC_ITEM tc2;							// タブ札の性格を指定
	tc2.mask=TCIF_TEXT;						// タブ表示は文字列をタブ札に付ける
	tc2.pszText="3";		// この文字列をタブ札に付ける
	tc2.iImage=-1;							// タブ札にイメージ表示をしない
	tc2.lParam=2;							// タブに固有の値を設定
	m_tab.InsertItem(2,&tc2);				// 2番の札を設定

	TC_ITEM tc3;							// タブ札の性格を指定
	tc3.mask=TCIF_TEXT;						// タブ表示は文字列をタブ札に付ける
	tc3.pszText="4";						// この文字列をタブ札に付ける
	tc3.iImage=-1;							// タブ札にイメージ表示をしない
	tc3.lParam=3;							// タブに固有の値を設定
	m_tab.InsertItem(3,&tc3);				// 3番の札を設定

	m_tab.MoveWindow(10,10,430,230);
	
	m_static1="1番";
	m_static2="2番";
	m_static3="3番";
	m_static4="4番";
	UpdateData(FALSE);

	//0タブ
	m_static1.MoveWindow(50,80,100,20);
	//1タブ
	m_static2.MoveWindow(50,130,100,20);
	//2タブ
	m_static3.MoveWindow(50,180,100,20);
	//3タブ
	m_static4.MoveWindow(50,180,100,20);

	//1タブ非表示
	m_static2.ShowWindow(SW_HIDE);
	//2タブ非表示
	m_static3.ShowWindow(SW_HIDE);
	//3タブ非表示
	m_static4.ShowWindow(SW_HIDE);


@タブを押したときの処理


void CEnvDlg::OnSelchangeTab(NMHDR* pNMHDR, LRESULT* pResult) 
{
	int n=m_tab.GetCurSel();

	//0タブ非表示
	m_static1.ShowWindow(SW_HIDE);
	//1タブ非表示
	m_static2.ShowWindow(SW_HIDE);
	//2タブ非表示
	m_static3.ShowWindow(SW_HIDE);
	//3タブ非表示
	m_static4.ShowWindow(SW_HIDE);
	
	//0タブ表示
	if(n==0) {
		m_static1.ShowWindow(SW_SHOW);
	}
	//1タブ表示
	if(n==1) {
		m_static2.ShowWindow(SW_SHOW);
	}
	//2タブ表示
	if(n==2) {
		m_static3.ShowWindow(SW_SHOW);
	}
	//3タブ表示
	if(n==3) {
		m_static4.ShowWindow(SW_SHOW);
	}
}


@タブコントロールとスタティックテキスト


ダイアログにタブと各コントロールを配置すると各コントロールはタブコントロールの下に隠れてしまいますが、
実行するとほとんどのコントロールはコードで非表示にしない限りタブの上に見えます。スタティックテキストは プロパティで透過をチェックしないと見えません。


戻る