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.
 

Neue Beiträge

Zurück