ダイアログ内で使用するクラス

  LboxDlg クラスのコンストラクタ



  
// *********************************************************
// 拡張コンストラクタ
// *********************************************************
LboxDlg::LboxDlg(HWND hWnd)
{
	LboxDlg::hDlg = hWnd;
	LboxDlg::hStatus = NULL;
}

// *********************************************************
// 消滅
// *********************************************************
LboxDlg::~LboxDlg()
{
	if ( LboxDlg::hStatus != NULL ) { 
		DestroyWindow(
			LboxDlg::hStatus
		);
	}
}
  



  リストボックス関連のメンバ関数



  
// *********************************************************
// リストボックスに文字列を追加
// 戻り値 : 追加された位置
// *********************************************************
int LboxDlg::ListAdd(int nID, LPCTSTR pszBuffer)
{
	return LboxListAdd( GetDlgItem(hDlg, nID), pszBuffer );
}

// *********************************************************
// リストボックスに文字列を挿入
// 戻り値 : 挿入された位置
// *********************************************************
int LboxDlg::ListInsert(int nID, int nIndex, LPCTSTR pszBuffer)
{
	return LboxListInsert(
		GetDlgItem(hDlg, nID),
		nIndex,
		pszBuffer
	);
}

// *********************************************************
// リストボックスの指定行を削除
// 戻り値 : リスト内に残っている文字列の総数
// 戻り値 : 存在しない行を指定すると -1
// *********************************************************
int LboxDlg::ListDelete(int nID, int nIndex)
{
	return LboxListDelete(
		GetDlgItem(hDlg, nID),
		nIndex
	);
}

// *********************************************************
// リストボックスから文字列を取得
// 戻り値 : 取得した文字列の長さ
// *********************************************************
int LboxDlg::ListGetText(int nID, int nIndex, LPCTSTR pszBuffer, int nSize )
{
	return LboxListGetText(
		GetDlgItem(hDlg, nID),
		nIndex,
		pszBuffer,
		nSize
	);
}

// *********************************************************
// リストボックスの指定行を更新
// 戻り値 : 挿入された位置
// 戻り値 : 失敗すると -1
// *********************************************************
int LboxDlg::ListSetText(int nID, int nIndex, LPCTSTR pszBuffer)
{
	return LboxListSetText(
		GetDlgItem(hDlg, nID),
		nIndex,
		pszBuffer
	);
}

// *********************************************************
// リストボックスの行数取得
// 戻り値 : 行数
// *********************************************************
int LboxDlg::ListCount(int nID )
{
	return LboxListCount(
		GetDlgItem(hDlg, nID)
	);
}

// *********************************************************
// リストボックスの選択された行の取得
// 戻り値 : 選択された行(選択されていない場合は -1 )
// *********************************************************
int LboxDlg::ListSelectedRow(int nID )
{
	return LboxListSelectedRow(
		GetDlgItem(hDlg, nID)
	);
}

// *********************************************************
// 選択した行の文字列を取得
// 戻り値 : 取得した文字列の長さ
// 戻り値 : エラーの場合は -1
// *********************************************************
int LboxDlg::ListSelectedGetText( int nID, LPCTSTR pszBuffer, int nSize )
{
	return LboxListSelectedGetText(
		GetDlgItem(hDlg, nID),
		pszBuffer,
		nSize
	);
}

// *********************************************************
// 選択した行に文字列を設定
// 戻り値 : 挿入された位置
// 戻り値 : エラーの場合は -1
// *********************************************************
int LboxDlg::ListSelectedSetText( int nID, LPCTSTR pszBuffer )
{
	return LboxListSelectedSetText(
		GetDlgItem(hDlg, nID),
		pszBuffer
	);
}

// *********************************************************
// 選択した行を削除
// 戻り値 : リスト内に残っている文字列の総数
// 戻り値 : エラーの場合は -1
// *********************************************************
int LboxDlg::ListSelectedDelete( int nID )
{
	return LboxListSelectedDelete(
		GetDlgItem(hDlg, nID)
	);
}

// *********************************************************
// リストボックスの指定行を選択
// 戻り値 : 無し
// *********************************************************
void LboxDlg::ListSelect(int nID, int nIndex )
{
	LboxListSelect(
		GetDlgItem(hDlg, nID),
		nIndex
	);
}

// *********************************************************
// リストボックスのリセット
// 戻り値 : 無し
// *********************************************************
void LboxDlg::ListReset(int nID )
{
	LboxListReset(
		GetDlgItem(hDlg, nID)
	);
}

// *********************************************************
// リストボックスにダンプ結果を表示
// *********************************************************
void LboxDlg::ListDump(int nID, LPCTSTR pszBuffer, int nSize)
{
	LboxListDump(
		GetDlgItem(hDlg, nID),
		pszBuffer,
		nSize
	);
}

// *********************************************************
// リストボックスにフォーマットした文字列を表示
// *********************************************************
void LboxDlg::ListPrintf(int nID, LPSTR FormatString, ...)
{
	va_list marker;
	char szBuffer[1024];

	char *szNewBuff = new char[lstrlen(FormatString)+10];
	lstrcpy( szNewBuff, FormatString );

	va_start(marker, FormatString);
	vsprintf(szBuffer, szNewBuff, marker);
	va_end(marker);              

	unsigned char *pszToken;
	int nRow = 0;

	pszToken = _mbstok(
		(unsigned char *)szBuffer,
		(const unsigned char *)"\n"
	);
	while( pszToken != NULL ) {
		LboxListInsert(
			GetDlgItem(hDlg, nID),
			nRow,
			(LPCTSTR)pszToken
		);
		nRow++;
		pszToken = _mbstok( NULL, (const unsigned char *)"\n" );
	}

	delete [] szNewBuff;
}

// *********************************************************
// クリップボードにコピー
// 行の終わりには、改行コードを付加
// bSelect が true の場合は 選択した行のみコピーする
// 戻り値 : true 成功, false 失敗
// *********************************************************
BOOL LboxDlg::ListCopyClipboard( int nID, BOOL bSelect )
{
	return LboxListCopyClipboard(
		GetDlgItem( LboxDlg::hDlg, nID ),
		bSelect
	);
}
  



  エディトコントロール関連のメンバ関数

  
// *********************************************************
// エディット コントロールから文字列を取得
// 戻り値 : バッファに格納された文字列の長さ
// 戻り値 : エラーの時は -1
// *********************************************************
int LboxDlg::EditGetText(int nID, LPSTR pszBuffer, int nSize )
{
	int ret;

	ret = GetDlgItemText(
		hDlg,
		nID,
		pszBuffer,
		nSize
	);

	if ( ret == 0 ) {
		return -1;
	}

	return ret;
}

// *********************************************************
// エディット コントロールに文字列をセット
// 戻り値 : 0 以外
// 戻り値 : エラーの時は 0
// *********************************************************
int LboxDlg::EditSetText(int nID, LPCTSTR pszBuffer )
{
	int ret;

	ret = SetDlgItemText(
		hDlg,
		nID,
		pszBuffer
	);

	return ret;
}

// *********************************************************
// エディット コントロールに整数値をセット
// 戻り値 : 0 以外
// 戻り値 : エラーの時は 0
// *********************************************************
int LboxDlg::EditSetInt(int nID, int nValue )
{
	int ret;

	ret = SetDlgItemInt(
		hDlg,
		nID,
		(UINT)nValue,
		true
	);

	return ret;
}

// *********************************************************
// エディットコントロールのテキストの文字数を制限
// 戻り値 : 無し
// *********************************************************
void LboxDlg::EditLimitText(int nID, int nSize )
{
	LboxEditLimitText(
		GetDlgItem(hDlg, nID),
		nSize
	);

}

// *********************************************************
// エディットコントロール内のテキストを選択状態にする
// 戻り値 : 無し
// *********************************************************
void LboxDlg::EditSelect(int nID )
{
	LboxEditSelect(
		GetDlgItem(hDlg, nID)
	);

}

// *********************************************************
// フォーカスの設定
// 戻り値 : 以前にフォーカスを持っていたウィンドウのハンドル
// *********************************************************
HWND LboxDlg::EditFocus(int nID )
{
	HWND hWnd;

	hWnd = LboxEditFocus(
		GetDlgItem(hDlg, nID)
	);

	return hWnd;
}

// *********************************************************
// 読み取り専用モードの設定と解除
// 戻り値 : 0 以外
// 戻り値 : エラーは 0
// *********************************************************
int LboxDlg::EditReadonly(int nID, BOOL bFlg )
{
	int ret;

	ret = LboxEditReadonly(
		GetDlgItem(hDlg, nID),
		bFlg
	);

	return ret;
}
  



  コントロール共通

  
// *********************************************************
// コントロールを使用可能にする
// 戻り値 : 無し
// *********************************************************
void LboxDlg::Enable(int nID )
{
	EnableWindow( 
		GetDlgItem(hDlg, nID),
		true
	);
}

// *********************************************************
// コントロールを使用不可能にする
// 戻り値 : 無し
// *********************************************************
void LboxDlg::Disable(int nID )
{
	EnableWindow( 
		GetDlgItem(hDlg, nID),
		false
	);
}

// *********************************************************
// コントロールを表示状態にする
// 戻り値 : 無し
// *********************************************************
void LboxDlg::Show(int nID )
{
	ShowWindow(
		GetDlgItem(hDlg, nID),
		SW_SHOW
	);
}

// *********************************************************
// コントロールを非表示状態にする
// 戻り値 : 無し
// *********************************************************
void LboxDlg::Hide(int nID )
{
	ShowWindow(
		GetDlgItem(hDlg, nID),
		SW_HIDE
	);
}
  



  ステータスバー用のメンバ関数

  
// *********************************************************
// ステータスバーの実装
// 戻り値 : 無し
// *********************************************************
void LboxDlg::StatusCreate( int nID )
{
	if ( LboxDlg::hStatus != NULL ) { 
		DestroyWindow(
			LboxDlg::hStatus
		);
	}

	LboxDlg::hStatus =
		CreateWindowEx( 
			0,
			STATUSCLASSNAME,
			(LPCTSTR)NULL,
			WS_CHILD | WS_VISIBLE,
			0, 0, 0, 0,
			LboxDlg::hDlg,
			(HMENU)(nID),
			LboxGetInstance(GetParent(LboxDlg::hDlg)),
			NULL
		);
		SendMessage(
			LboxDlg::hStatus,
			SB_SIMPLE,
			(WPARAM)true,
			0L
		);
}

// *********************************************************
// ステータスバーに文字列を表示
// 戻り値 : 無し
// *********************************************************
void LboxDlg::StatusSetText( LPTSTR szText )
{
	if ( LboxDlg::hStatus != NULL ) { 
		SendMessage(
			LboxDlg::hStatus,
			SB_SETTEXT,
			(WPARAM)255,
			(LPARAM)szText
		);
	}
}

// *********************************************************
// ステータスバーより文字列を取得
// 戻り値 : 無し
// *********************************************************
void LboxDlg::StatusGetText( LPTSTR szText )
{
	if ( LboxDlg::hStatus != NULL ) { 
		SendMessage(
			LboxDlg::hStatus,
			SB_GETTEXT,
			(WPARAM)0,
			(LPARAM)szText
		);
	}
}
  










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





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

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ