Mehrere Zeilen in Eingabefld markieren

From: Oliver Zschäge (anonymous_at_discussions.microsoft.com)
Date: 02/25/04


Date: Wed, 25 Feb 2004 03:53:26 -0800

Hallo.

Ich versuche mit Code mehrere Zeilen in einem Eingabefeld
zu markieren. Dazu habe ich in der Funktion OnCtlColor(..)
folgenden Code eingefügt:

     CRect rec;
         CRgn rgn;
         int right, left, top, y_size, bottom;

     pWnd->GetClientRect(&rec);

         pDC->SelectClipRgn( NULL );
         right = rec.right-1;
         left = rec.left+1;
         y_size = LINE_MARK_BREITE * m_line_hoehe;
         top = ( m_cur_line - m_first_line -
(LINE_MARK_BREITE/2) ) * m_line_hoehe;
         if ( top < 0 ) // Anschlag oben ??
         {
          top = 0;
          y_size -= m_line_hoehe * (LINE_MARK_BREITE/2);
         }
         bottom = top + y_size;
     if ( bottom > rec.bottom )
        bottom = rec.bottom;
     rgn.CreateRectRgn ( left, top, right, bottom );
     pDC->SelectClipRgn( &rgn );
     rgn.DeleteObject();

        }

Die markierten Zeilen werden angezeigt. Nur der Rest der
im Eingabefeld steht, wird nicht mehr angezeigt.

Weiß jemand, woran das liegen kann? Unter WIN_32
funktioniert dieser Code.

Oli