Dialog unabhängig von der Bildschirmauflösung???



  • Schit, hab vergessen die Code-Tags zu setzen, zweiter Versuch:

    ASSERT(lpDrawItemStruct != NULL);
      ASSERT(lpDrawItemStruct->CtlID == ODT_BUTTON); // optional
    
      COLORREF colBk;  // Hintergrundfarbe
      COLORREF colTxt; // Textfarbe
      // ... weitere Attribute für das Zeichnen
    
      // hier werden die Attribute gesetzt
      switch(lpDrawItemStruct->CtlID) 
      {
      case ID_MYBUTTON1:  // hier die entsprechende command-id des Button angeben
        colBk = RGB(192, 192, 192);
        colTxt = RGB(255, 0, 0);
        break;
      case ID_MYBUTTON2:  // hier die entsprechende command-id des Button angeben
        //...
        break;
      case ID_ ... // und so weiter und so fort
      }
    
      // eventuell noch lpDrawItemStruct->itemAction und/oder
      // lpDrawItemStruct->itemState auswerten
    
      // hier kommt jetzt der Code zum Zeichnen
      CDC* pDC = CDC::FromHandle(lpDrawItemStruct->hDC);
      ASSERT(pDC != NULL);
    
      // Beispiel: Hintergrund zeichnen
      pDC->FillSolidRect(lpDrawItemStruct->rcItem, colBk);
    
      // ... weiteres Zeichenn
    
      /*
        immer wichtig:
        Rücksetzen der ausgewählten Pens, Brushes, etc.
    
        wenn Du also einen ähnlich Aufruf wie
    
          pDC->SelectStockObject(BLACK_BRUSH);
    
        oder
    
          pDC->SelectObject(pMyPen);
    
        machst, dann immer folgendes machen:
    
        Beim ersten Mal (für jeden Objekttyp, den Du in das DC selektierst:
    
          CBrush* pBrushOld = (CBrush*)(pDC->SelectStockObject(BLACK_BRUSH));
          CPen* pPenOld = pDC->SelectObject(pMyPen);
    
        dann kommen die Funktionsaufrufe zum Zeichnen und ganz zum Schluß:
    
          pDC->SelectObject(pBrushOld);
          pDC->SelectObject(pPenOld);
    
        Das gilt für JEDE Veränderung am DC. Hängt damit zusammen, dass sich manche
        Fenster ein DC teilen und je nicht zurückgesetzte Änderung zu Ausgabefehlern
        führen kann. Hab ich selbst schon mal erlebt, kann lustig aussehen, aber
        auch im Nirvana enden.
      */
    


  • Thx für die schnelle Antwort.

    Werde mich jetzt mal einschliessen und versuchen das Problem in den Griff zu kriegen.

    C u



  • Puuh!Hi hi konnte die Tür wieder aufschliessen!

    Klappt super deine idee.

    Thx



  • na endlich!!!



  • Gut ding braucht weile!!! 😉

    Make PEACE not WAR 😃


Anmelden zum Antworten