|
// *********************************************************
// リストビューのカラムデータをエディットコントロールにセット
// 戻り値 : 無し
// *********************************************************
void LboxListview::LoadColumnText( int nRow, int nCol )
{
if ( nRow == -1 ) {
return;
}
char *szBuffer = new char[512];
Buffer->Printf( "%d", nCol );
if ( Buffer->Case( LboxListview::lpSkipColumn ) ) {
delete [] szBuffer;
return;
}
ListView_GetItemText(
this->hWnd,
nRow,
nCol,
szBuffer,
512
);
SetWindowText( LboxListview::hEdit, szBuffer );
RECT rt;
ListView_GetSubItemRect(
this->hWnd,
nRow,
nCol,
LVIR_LABEL,
&rt
);
LboxMoveWindow(
LboxListview::hEdit,
rt.left,
rt.top-2
);
LboxChangeWindowSize(
LboxListview::hEdit,
rt.right - rt.left,
rt.bottom - rt.top + 3
);
ShowWindow( LboxListview::hEdit, SW_SHOW );
::SetFocus( LboxListview::hEdit );
nEditRow = nRow;
nEditCol = nCol;
LboxEditNumberonly( LboxListview::hEdit, false );
LboxEditLimitText( LboxListview::hEdit, 0 );
int nType,nSize;
nType = 0;
nSize = 0;
LboxToken *Token;
Token = new LboxToken();
LboxString *LString;
LString = new LboxString();
if ( LboxListview::ColumnType != NULL ) {
Token->CreateToken( LboxListview::ColumnType->szLboxString, "," );
if ( Token->nCount >= nCol ) {
LString->operator = ( Token->Token[nCol] );
nType = LString->Atoi();
}
}
if ( LboxListview::ColumnSize != NULL ) {
Token->CreateToken( LboxListview::ColumnSize->szLboxString, "," );
if ( Token->nCount >= nCol ) {
LString->operator = ( Token->Token[nCol] );
nSize = LString->Atoi();
}
}
delete LString;
delete Token;
if ( nType == 1 ) {
LboxEditNumberonly( LboxListview::hEdit, true );
}
LboxEditLimitText( LboxListview::hEdit, nSize );
delete [] szBuffer;
}
void LboxListview::LoadColumnText( int nRow, int nCol, int nType, int nSize )
{
LboxListview::LoadColumnText( nRow, nCol );
if ( nType == 1 ) {
LboxEditNumberonly( LboxListview::hEdit, true );
}
LboxEditLimitText( LboxListview::hEdit, nSize );
}
| |