MFC kolor tla

0

Ucze sie MFC i mam banalne pytanie. Jak zmienic kolor tla okna ??
Sciagnalem gotowy przyklad z netu i nie dziala. Tam jest tak:

HBRUSH hredBrush = ::CreateSolidBrush(RGB(255, 0, 0));

i pozniej rejestrowana jest wlasna klasa okna:

CString MyWindowClass = AfxRegisterWndClass(CS_DBLCLKS | CS_HREDRAW | CS_VREDRAW, AfxGetApp()->LoadStandardCursor(IDC_SIZENESW), hredBrush, AfxGetApp()->LoadStandardIcon(IDI_ASTERISK));
0

Ja robiłem tak i działało.
Dla głownego Dialogu:

HBRUSH NASZPROGRAM::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

if(nCtlColor==CTLCOLOR_DLG)
	return CreateSolidBrush (RGB(255,255,255));

return hbr;

}

a dla poszczególnych elementów:

OBIEKT.SetBkColor (RGB(0,0,0));
OBIEKT.SetTextBkColor (RGB(0,0,0));
OBIEKT.SetTextColor (RGB(0,255,0));

pozdrawiam.

0

co to jest glowny dialog i czym to sie je ? :)

0

Sorry źle sie wyraziłem chodzi mi o Dialog ogólnie ( tym "główny" chciałem tylko zaznaczyc ze chodzi mi o Dialog a nie kontrolke).

A jak to sie "je", rozumiem ze dla poszczegolnych obiektów ( kontrolek ) wiesz o co chodzi, a dla dialogow wyglada to tak, zakładając ze masz Vc.2003.net ( tu wiem a w vc6 musisz sam poszukajc ) - klikasz na dialog i wchodzisz do jego "property" tam masz zakładke "messeges" i wybierasz z listy interesujace sie zdarzenie w naszym wypadku WM_CTLCOLOR i miedzy powstały kod wstawiasz :

if(nCtlColor==CTLCOLOR_DLG)
return CreateSolidBrush (RGB(255,255,255));


kompilujesz i działa (przynajmniej u mnie). jak cos to pytaj.

1 użytkowników online, w tym zalogowanych: 0, gości: 1