credits += "Compiled with SQLite " SQLITE_VERSION "\n";
credits += tr( "Compiled with SQLite %1\n" ).arg(SQLITE_VERSION);
LRESULT CALLBACK AboutDialog( HWND hwnd, unsigned int msg, WPARAM wparam, LPARAM lparam ){	HWND richtext;	switch ( msg )	{	case WM_COMMAND:		if ( HIWORD( wparam ) == BN_CLICKED && ( HWND ) lparam == GetDlgItem( hwnd, IDOK ) )		{			EndDialog( hwnd, 0 );		}		break;	case WM_CLOSE:		EndDialog( hwnd, 0 );		break;	case WM_INITDIALOG:		richtext = GetDlgItem( hwnd, IDC_RICHEDIT );		if ( richtext )		{			HRSRC resource = FindResource( appInstance, MAKEINTRESOURCE( IDD_CREDITS ), RT_RCDATA );			HGLOBAL rData = LoadResource( appInstance, resource );			const char* data = ( const char* ) LockResource( rData );			QStringList creditList = QStringList::split( ",", data );			UnlockResource( rData );			FreeResource( rData );			CHARRANGE cr;			CHARFORMAT2 cf;			ZeroMemory( &cf, sizeof( cf ) );			cf.cbSize = sizeof( cf );			// Add a version information header (just like the console)			QString version = QString( "%1 %2 %3\n" ).arg( productString(), productBeta(), productVersion() );			cf.dwMask = CFM_COLOR | CFM_WEIGHT | CFM_SIZE;			cf.yHeight = 20 * 14;			cf.wWeight = FW_BOLD;			cf.crTextColor = RGB( 60, 140, 70 );			SendMessage( richtext, EM_SETCHARFORMAT, SCF_SELECTION, ( LPARAM ) & cf );			SendMessage( richtext, EM_REPLACESEL, FALSE, ( LPARAM ) version.latin1() );			cf.dwMask = CFM_COLOR | CFM_WEIGHT | CFM_SIZE;			cf.yHeight = 20 * 8;			cf.wWeight = FW_NORMAL;			cf.crTextColor = RGB( 0, 0, 0 );			QString credits;			credits += "Compiled: " __DATE__ " " __TIME__ "\n";			credits += QString( "QT: %1 %2 (Compiled: %3)\n" ).arg( qVersion() ).arg( qSharedBuild() ? "Shared" : "Static" ).arg( QT_VERSION_STR );			QString pythonBuild = Py_GetVersion();			pythonBuild = pythonBuild.left( pythonBuild.find( ' ' ) );#if defined(Py_ENABLE_SHARED)			credits += QString( "Python: %1 Shared (Compiled: %2)\n" ).arg( pythonBuild ).arg( PY_VERSION );#else			credits += QString( "Python: %1 Static (Compiled: %2)\n" ).arg( pythonBuild ).arg( PY_VERSION );#endif			credits += "Compiled with SQLite " SQLITE_VERSION "\n";#if defined (MYSQL_DRIVER)			credits += QString( "Compiled for MySQL " MYSQL_SERVER_VERSION " (Using: %1)\n" ).arg( mysql_get_client_info() );#else			credits += "MySQL Support: disabled\n";#endif			cr.cpMin = GetWindowTextLength( richtext );			cr.cpMax = cr.cpMin;			SendMessage( richtext, EM_EXSETSEL, 0, ( LPARAM ) & cr );			SendMessage( richtext, EM_SETCHARFORMAT, SCF_SELECTION, ( LPARAM ) & cf );			SendMessage( richtext, EM_REPLACESEL, FALSE, ( LPARAM ) credits.latin1() );			credits = "\nThis is an unsorted and not neccesarily complete list of people who contributed to Wolfpack:\n\n";			cr.cpMin = GetWindowTextLength( richtext );			cr.cpMax = cr.cpMin;			cf.wWeight = FW_BOLD;			SendMessage( richtext, EM_EXSETSEL, 0, ( LPARAM ) & cr );			SendMessage( richtext, EM_SETCHARFORMAT, SCF_SELECTION, ( LPARAM ) & cf );			SendMessage( richtext, EM_REPLACESEL, FALSE, ( LPARAM ) credits.latin1() );			cf.wWeight = FW_NORMAL;			credits = "";			for ( unsigned int i = 0; i < creditList.size(); ++i )			{				credits.append( creditList[i] );			}			cr.cpMin = GetWindowTextLength( richtext );			cr.cpMax = cr.cpMin;			SendMessage( richtext, EM_EXSETSEL, 0, ( LPARAM ) & cr );			SendMessage( richtext, EM_SETCHARFORMAT, SCF_SELECTION, ( LPARAM ) & cf );			SendMessage( richtext, EM_REPLACESEL, FALSE, ( LPARAM ) credits.latin1() );		}	}	return FALSE;}