002
31.03.2008, 13:52 Uhr
Gladi
|
ich habe mich bei www.mikrocontroller.net registr. und die gleiche Frage getellt. Ein netter Type hat mit Lösung geantwortet:
C++: |
void C3dDDX_Text( CDataExchange* pDX, int nIdC, double& d, int Comma = 2 );
void C3dDDX_Text( CDataExchange* pDX, int nIdC, double& d, int Comma /* = 2 */ ) { CWnd* pWnd = pDX->m_pDlgWnd->GetDlgItem( nIdC ); CString str;
pDX->PrepareEditCtrl( nIdC );
ASSERT( pWnd ); if( pDX->m_bSaveAndValidate ) { pWnd->GetWindowText( str ); int n = str.Find( _T( "," ) ); if( -1 < n ) { str.SetAt( n, '.' ); }
d = 0; _stscanf( str, _T( "%lf" ), &d ); }
else { TCHAR szBuf[64]; _stprintf( szBuf, _T( "%-8.*lf" ), Comma, d ); pWnd->SetWindowText( szBuf ); } }
|
Auf jeden Fall hat es funktioniert! hat jemand eine bessere Lösung? |