Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » auf Programmfunktionen mit Hintergrundfarbenänderung reagieren

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
26.02.2004, 16:46 Uhr
~newby
Gast


moin

hab mit der Farbänderung von Editfeldern ein kleines Prob.
durch überschreiben von onctlcolor kann ich zwar die Farbe ändern:

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

switch(pWnd->GetDlgCtrlID())
{
case IDC_1:
    {
     pDC->SetTextColor(RGB(220,222,242)); //<--textfarbe
     pDC->SetBkColor(RGB(255,0,0)); // <-- hintergrundfarbe
    } break;
default:
    {
     return hbr;
    } break;
}
return (HBRUSH)GetStockObject(NULL_BRUSH);
}



aber wie kann ich auf bestimmt Programmsituationen mit geänderter Farbe reagieren?
kann ich setbkcolor auch öfter ändern?
wenn ja, wie geht das???

Mfg

Thomas
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
26.02.2004, 17:03 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


am besten geht das z.b. wenn du dir eine membervariable definierst

also z.b. int status;

diesem "status" gibts du dann entsprechend aus deiner "Programmsituationen" den entsprechenden wert.

in OnCtlColor checkst du dann welchen wert status hat und zeigst die entsprechende farbe an....
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
27.02.2004, 11:38 Uhr
~newby
Gast


moin, erstmal danke, ich hab mir jetzt ne Variable status erstellt, die ich während des Progs verändere. Auch das mit der Farbe klappt ganz gut, aber wenn ich 2 verschiedenen Editfeldern in der Caseanweisung verschiedene Farben zuordne, dann macht er das nicht, sondern zeichnet immer die letze Farbe in beide Felder.
Ne idee warum???

das ist der Code der cases:

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

    switch(pWnd->GetDlgCtrlID())
    {
    case IDC_3:
        {
            if (status[0] == 0)
            {
                pDC->SetBkColor(RGB(255,0,0));// <-- hintergrundfarbe rot
            }

            if (status[0] == 1)
            {
                pDC->SetBkColor(RGB(0,255,0));// <-- hintergrundfarbe gruen
            }
        }
    case IDC_6:
        {
            if (status[1] == 0)
            {
                pDC->SetBkColor(RGB(255,0,0));// <-- hintergrundfarbe rot
            }

            if (status[1] == 1)
            {
                pDC->SetBkColor(RGB(0,255,0));// <-- hintergrundfarbe gruen
            }
        }
    default:
        {
         return hbr;
        } break;
    }
return (HBRUSH)GetStockObject(NULL_BRUSH);
}



hier wird die Variable verändert


C++:
if (m_dbVar.m_VORPRUEFAUSW == TRUE)
    {
    
        int result =AfxMessageBox("War die Vorprüfung OK?",MB_YESNO);
        
        if (result == IDYES)
        {
            status[0] = 1;
        }
        if (result == IDNO)
        {
            status[0] = 0;
        }
        i = i+3;
        
        
    }




status ist alls int-array definiert

jemand ne idee, warum das nicht funzt
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
27.02.2004, 11:40 Uhr
~newby
Gast


in einer anderen if abfrage, die etwa genauso aussieht, wird natürlich das gleiche für idc_6 gemacht, sorry, hatte ich vergessen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
27.02.2004, 11:41 Uhr
~newby
Gast


und natürlich wird auch dort status[1] verändert!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: