WIN32 Fehlerhaftes Dialogfeld

Mr Apfelkuchen

Erfahrenes Mitglied
hi erstmal,
also ich hab ein Programm geschrieben das 3 Dialoge verwendet von denen 2 ganz gut funktionieren. Der Ditte sieht etwas merkwürdig aus. AM besten schreib ich es mal hier rein...
Also das ist die .rc datei
Code:
HIGHSCOREBOX DIALOG DISCARDABLE 0,20,250,140
STYLE DS_MODALFRAME | WS_POPUP
FONT 8, "MS Sans Serif"
BEGIN
	
	DEFPUSHBUTTON		"OK",IDOK,100,125,50,14
	CTEXT				"HIGHSCORE",IDC_STATIC,100,10,50,8
		
	LTEXT				" 1.",IDC_STATIC,14,25,15,8
	LTEXT				" 2.",IDC_STATIC,14,35,15,8
	LTEXT				" 3.",IDC_STATIC,14,45,15,8
	LTEXT				" 4.",IDC_STATIC,14,55,15,8
	LTEXT				" 5.",IDC_STATIC,14,65,15,8
	LTEXT				" 6.",IDC_STATIC,14,75,15,8
	LTEXT				" 7.",IDC_STATIC,14,85,15,8
	LTEXT				" 8.",IDC_STATIC,14,95,15,8
	LTEXT				" 9.",IDC_STATIC,14,105,15,8
	LTEXT				"10.",IDC_STATIC,14,115,15,8
	
	LTEXT				"None",IDC_NAMEA,35,25,160,8
	LTEXT				"None",IDC_NAMEB,35,35,160,8
	LTEXT				"None",IDC_NAMEC,35,45,160,8
	LTEXT				"None",IDC_NAMED,35,55,160,8
	LTEXT				"None",IDC_NAMEE,35,65,160,8
	LTEXT				"None",IDC_NAMEF,35,75,160,8
	LTEXT				"None",IDC_NAMEG,35,85,160,8
	LTEXT				"None",IDC_NAMEH,35,95,160,8
	LTEXT				"None",IDC_NAMEI,35,105,160,8
	LTEXT				"None",IDC_NAMEJ,35,115,160,8

	LTEXT				"0",IDC_POINTSA,200,25,45,8
	LTEXT				"0",IDC_POINTSB,200,35,45,8
	LTEXT				"0",IDC_POINTSC,200,45,45,8
	LTEXT				"0",IDC_POINTSD,200,55,45,8
	LTEXT				"0",IDC_POINTSE,200,65,45,8
	LTEXT				"0",IDC_POINTSF,200,75,45,8
	LTEXT				"0",IDC_POINTSG,200,85,45,8
	LTEXT				"0",IDC_POINTSH,200,95,45,8
	LTEXT				"0",IDC_POINTSI,200,105,45,8
	LTEXT				"0",IDC_POINTSJ,200,115,45,8

END
der dialog wird mit
Code:
DialogBox (hInstance,TEXT("HighscoreBox"),hwnd,HighscoreDlgProc);
aufgewrufen. Und so sieht die HighscoreProc aus:
Code:
BOOL CALLBACK HighscoreDlgProc (HWND hDlg,UINT message, WPARAM wParam, LPARAM lParam)
{
	char	szTextOut[20];
	int		i;

	switch(message)
	{
	case WM_INITDIALOG:
		//Punkte
		_snprintf(szTextOut,20,"%.0f",ReadHighscore(1));	i = strlen (szTextOut);
		SetDlgItemTextA(hDlg,IDC_POINTSA,szTextOut);
		_snprintf(szTextOut,20,"%.0f",ReadHighscore(2));	i = strlen (szTextOut);
		SetDlgItemTextA(hDlg,IDC_POINTSB,szTextOut);
		_snprintf(szTextOut,20,"%.0f",ReadHighscore(3));	i = strlen (szTextOut);
		SetDlgItemTextA(hDlg,IDC_POINTSC,szTextOut);
		_snprintf(szTextOut,20,"%.0f",ReadHighscore(4));	i = strlen (szTextOut);
		SetDlgItemTextA(hDlg,IDC_POINTSD,szTextOut);
		_snprintf(szTextOut,20,"%.0f",ReadHighscore(5));	i = strlen (szTextOut);
		SetDlgItemTextA(hDlg,IDC_POINTSE,szTextOut);
		_snprintf(szTextOut,20,"%.0f",ReadHighscore(6));	i = strlen (szTextOut);
		SetDlgItemTextA(hDlg,IDC_POINTSF,szTextOut);
		_snprintf(szTextOut,20,"%.0f",ReadHighscore(7));	i = strlen (szTextOut);
		SetDlgItemTextA(hDlg,IDC_POINTSG,szTextOut);
		_snprintf(szTextOut,20,"%.0f",ReadHighscore(8));	i = strlen (szTextOut);
		SetDlgItemTextA(hDlg,IDC_POINTSH,szTextOut);
		_snprintf(szTextOut,20,"%.0f",ReadHighscore(9));	i = strlen (szTextOut);
		SetDlgItemTextA(hDlg,IDC_POINTSI,szTextOut);
		_snprintf(szTextOut,20,"%.0f",ReadHighscore(10));	i = strlen (szTextOut);
		SetDlgItemTextA(hDlg,IDC_POINTSJ,szTextOut);
		//Namen
		return TRUE;

	case WM_COMMAND:
		switch (LOWORD (wParam))
		{
		case IDOK: 
		case IDCANCEL:
			EndDialog(hDlg,0);
			return TRUE;
		}
	}
}
Jetzt die Frage warum sieht das Ergebnis so aus?

dialog.JPG
 
Pack da mal ein return FALSE ans Ende der HighscoreDlgProc. Dein Compiler müsste da übrigens mindestens eine Warnung ausspucken.
 
Zurück