MFC professional

4 отговора 264 прегледа
#1

MFC professional

Zdraveite,
naikoj moje li da kaje kak se smenia cveta na kontrolite w MFC?

Kogato se izpolzwa WM_CTLCOLOR se raboti samo s standratnite 20 cviata w Windows, a na mene mi triabwa izpolzwaneto na proizwolen cviat. Syshto ne moga da izpolzwan i AxtiveX controlite idwashti s Office 2000 kydeto towa stawa mnogo lesno.

Niama da sym programist cial jivot!

Отговор
в отговор на ArnOld #2

Re: MFC professional

Арни, душко, рядко отговарям на такива въпросчета, не за друго ами го смятам за чиста загуба на време. Какви 20 цвята бе дете? Какви ActiveX? Ми мисли като пишеш нещо, моля те, че ми побеляха косите.
Ето ти код, който ти слага какъвто цвят се сетиш. Използвал съм го, работи безупречно и то с доста нестандартен цвят /не ме питай какъв беше, не помня вече/.

HBRUSH CYourDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if (pWnd->GetDlgCtrlID() == IDC_YOUR)
{
// 255x255x255 != 20
pDC->SetTextColor(RGB(255, 0, 0));
pDC->SetBkMode(RGB(13, 59, 232));
hbr = m_brush;
}
return hbr;
}

Същото е и ако имаш FormView. Ако случая ти не е такъв, сещам се и за други решения.
И вземи та зарежи това MFC, разгледай ATL/WTL - сигурен съм, че ще останеш очарован. Айде успех.


Protect me from I want
Отговор
в отговор на dAbly #3

Re: MFC professional

dAbly, hubawo e da imash visoko mnenie za svoite sposobnosti, no wse pak ostawi drugite da te oceniat.

Kolkoto do twoiata ideia, blagodaria 4e otgowori, no wse pak wzemi koda koito si napisal kompilirai go i ako ne si daltonist shte razberesh s kolko cviata raboti.

Otnosno AxtivX ako si 4uwal neshto za Microsoft Forms shteshe da razberesh za kakwo stata duma, obashe ti iavno si niamash i gram predstawa ot tezi neshta.

V spora se rajda istinata :)

Отговор
в отговор на ArnOpd #4

Re: MFC professional

Pravo kazvash, Petko...

Отговор
в отговор на ArnOpd #5

Ето, че

можеш и сам. В този код има и 1 грешка и 1 неуточнение (за m_brush). Както сам можеш да се досетиш нарочно така го написах. Все пак код наготово е много вредно за самия теб. А така поне ще се запознаеш с тези funcs(). Що се отнася до цветовете пак ти казвам, че работи с доста повече от 20. Сега не ме карай да ти пращам цялото диалогче. За ActiveX изобщо няма да коментирам нито моите нито твоите способности. Силно ти препоръчвам да попрочетеш още по темата и тогава ще си тъсим истината в споровете.

Отговор