3 (Anfänger-)Fragen



  • Hallo
    Ich habe drei Fragen:
    --> 1. Wie kann ich mit einer WM_CTLCOLORSTATIC 2 oder mehr Statics jeweils andersfarbig gestalten?
    --> 2. Sendet das Programm eine Message, wenn es im Hintergrund ist, wenn ja welche?
    --> 3. Wie kann ich den Text, den ich über TextOut ausgeben lasse, in DEFAULT_GUI_FONT setzen?
    So das waren sie, ich habe auch schon gegoogelt und die Suche benutzt, aber hat leider keine brauchbaren Resultate geliefert.

    Thx, Fragender



  • DerFragende schrieb:

    Wie kann ich mit einer WM_CTLCOLORSTATIC 2 oder mehr Statics jeweils andersfarbig gestalten?

    Indem du bei WM_CTLCOLORSTATIC die einzelnen Statics anhand ihrer ID bzw. ihres Fenster-Handles unterscheidest und dann entsprechend reagierst.

    DerFragende schrieb:

    Sendet das Programm eine Message, wenn es im Hintergrund ist, wenn ja welche?

    Du meinst eine Nachricht, die du bekommst, wenn dein Fenster den Fokus verliert? Schau dir mal folgende Messages an: WM_ACTIVATE, WM_KILLFOCUS, WM_ACTIVATEAPP

    DerFragende schrieb:

    Wie kann ich den Text, den ich über TextOut ausgeben lasse, in DEFAULT_GUI_FONT setzen?

    Dazu musst du mit SelectObject den entsprechenden Font in den DC selektieren.



  • Bis auf das 1. habe ich alles verstanden, und werde es probieren. Kannst du mir bitte ein Beispiel für 1. geben, wie das dann aussehen muss?



  • switch(GetDlgCtrlID(lParam))
    {
     case ID_STATIC_1:
      // hier dein bisherigen Code
     case ID_STATIC_2:
      // hier dein bisherigen Code, nur mit anderer Farbe
    }
    


  • Ja danke, bloß leider bringt mir das nicht viel. Ich arbeite mit normalen Fenstern, nicht mit Dialogen. Also die einzige ID die meine Fenster haben ist die ID von HMENU...hast du dafür vielleicht auch noch ein Beispiel?



  • DerFragende schrieb:

    Ja danke, bloß leider bringt mir das nicht viel. Ich arbeite mit normalen Fenstern, nicht mit Dialogen.

    Das sollte nichts ausmachen...

    DerFragende schrieb:

    Also die einzige ID die meine Fenster haben ist die ID von HMENU...hast du dafür vielleicht auch noch ein Beispiel?

    Genau die meine ich - und diese liest du damit aus 🙂



  • Ich habe deshalb gefragt, weil ich die Lösung schon einmal irgendwo gesehen habe, bloß ich nicht mehr weiß wo. Und da war das irgendwie anders gemacht...



  • switch(GetWindowLongPtr(reinterpret_cast<HWND>(lParam), GWL_ID))
    {
       // ...
    }
    

Anmelden zum Antworten