Bin Anfänger! Hintergrundfarbe vom Textfeld ändern?



  • Hi,

    ich bin noch neu in Sachen Windowsprogrammmierung.
    Wie kann ich die Hintergrundfarbe eines Textfeldes ändern? Sieht nämlich blöd aus auf Weißen Hintergrund ein graues Textfeld.

    Danke im Vorraus





  • mit der hintergrundfarbe eines textfeldes ändern hatte ich auch schon meine probleme! in einem dialogfeld wollte ich die hintergrundfarbe auf rot schalten wenn eingabe falsch ist. mit visual basic war das kein problem. Einfach BackColor=rot setzen. mit c++ habe ich keine lösung gefunden. Also ich habe daraus geschlossen dass dialogfenster viel einfacher und viel schneller in visual basic zu erstellen sind und das manche probleme wie jetzt zum beispiel die hintergrundfarbe eines textfeldes wahrscheinlich nur mit größerem aufwand zu bewältigen sind. oder wenn ich mehrere scrollbalken verwenden will...



  • Das hat imho eigentlich nicht unbedingt etwas mit Basic oder C++ zu tun, sondern eher damit, ob du eine Klassenbibliothek verwendest (z.B. VCL, MFC o.ä.), oder ob du mit "reinem" WinAPI programmierst 😉
    Aber so aufwendig sollte das doch nun auch wieder nicht sein 🙄



  • du bist witzig! 😉
    ich vergleiche ja mfc mit visual basic! bei mfc ist alles viel umständlicher. z.b. muss man zu einem textfeld zum beispiel eine variable binden, ober man muss wenn man in eine liste zahlen speichern will zuerst mit wsprintf oder so ähnlich zahlen in text umkonvertieren weil listen nur strings aufnehmen können... bei einfachen dialgfenstern in denen grafik und geschwindigkeit nicht so wichtig ist finde ich visual basic einfach viel viel konvortabler. visual basic ist ein jet mit dem man schnell überall hinkommt visual c++ ist im vergleich ein zug. nochmals wir reden hier über das erstellen von dialogfenstern!!! 😋 ich meine jeztt den unterschied zw visual c++ 6.0 und visual basic 6.0 wies bei net jetzt ausschaut weiß ich nicht 😉



  • wenn du ohne MFC arbeitest dann so:

    in der WndProc die WM_CTLCOLOREDIT abfangen. wParam enthält das Handle auf den Device Context. Dann könntest du per FillRect (o.ä.) das "Ding" neu zeichnen...

    siehe auch: WM_CTLCOLOR



  • flenders gibt doch top Antworten. Bei dem Link zum Beitrag im FAQ isses doch beschrieben. Einfach

    case WM_CTLCOLOREDIT: 
            SetBkMode((HDC)wParam,TRANSPARENT);         // Texthintergrund auf transparent setzen 
            SetTextColor((HDC)wParam,RGB(255,255,255)); // Textfarbe auf Weiss setzen 
            return (long)CreateSolidBrush(RGB(0,0,0));  // Hintergrundfarbe auf schwarz setzen 
            break;
    

    fertig.

    Gruß!



  • SpaceMonkey schrieb:

    du bist witzig! 😉
    bei einfachen dialgfenstern in denen grafik und geschwindigkeit nicht so wichtig ist finde ich visual basic einfach viel viel konvortabler. visual basic ist ein jet mit dem man schnell überall hinkommt visual c++ ist im vergleich ein zug. nochmals wir reden hier über das erstellen von dialogfenstern!!! 😋 ich meine jeztt den unterschied zw visual c++ 6.0 und visual basic 6.0 wies bei net jetzt ausschaut weiß ich nicht 😉

    Na, Du bist aber nicht weniger witzig!

    Du versuchst die Schuld für Deine Unfähigkeit der Beherrschung der Programmiersprache einfach der Programmiersprache in die Schuhe zu schieben...

    Siehe flenders bzw. ChrisK's Antworten:
    So einfach ist es, man muß nichtmal das elend lahme Visual Basic anfassen dazu...



  • Nochmals! ich benutze das elend lahme Visual Basic um elend langsame dialogfenster zu erzeugen und will dafür nicht ne stunde für das erstellen verbrauchen!!! 👍 😉



  • und wer was anderes meint soll mal den windowsrechner in ner halben stunde mit der mfc oder api progn g 😃



  • ...oder am besten die Editierfunktion dieses Forums benutzen!

    😃 🙂 😉 :p 🙄 🕶 😋 😃



  • genau


Log in to reply