Article View: de.comp.lang.c++
Article #1951Brush kommt aller 4096 Pixel
From: Thomas Fiksel
Date: Sun, 31 Mar 1996 16:50
Date: Sun, 31 Mar 1996 16:50
47 lines
1953 bytes
1953 bytes
Bei der Programmierung eines Vektor-Daten Anzeigen Tools fiel mir folgende
Merkwuerdigkeit auf:
In einem ScrollView mit groszer Ausdehnung (10000x10000) wird ein Polygon
gezeichnet. Diese Polygon ist ausgefuellt. Scrollt man horizontal, dann wird
der Inhalt des Polygons aller 4096 Pixel angezeigt. Warum ? Noch als Hinweis:
Es wird nur der Inhalt angezeigt, keine Seitenlinien !
Ich arbeite mit Visual C++ 1.0, dieses Verhalten tritt sowohl unter Windows 3.1
als auch unter Windows 95 auf. Kurz als Anleitung . Es ist mit AppWizard ein
einfaches Projekt (wied_hlg) zu erstellen, und CView ist durch CScrollView zu
ersetzen, weiter wird die Methode
void CWied_hlgView::OnInitialUpdate()
{
CScrollView::OnInitialUpdate();
CSize sizeTotal;
sizeTotal.cx = 10000;
sizeTotal.cy = 10000;
SetScrollSizes(MM_TEXT, sizeTotal);
}
eingefuegt und in der Methode OnDraw folgende Programmschritte ergaenzt :
void CWied_hlgView::OnDraw(CDC* pDC)
{
CWied_hl1Doc* pDoc = GetDocument();
POINT punkte[3];
punkte[0].x=punkte[0].y=100;
punkte[1].x=100;
punkte[1].y=200;
punkte[2].x=200;
punkte[2].y=200;
pDC->SelectStockObject(GRAY_BRUSH);
// pDC->SelectStockObject(NULL_BRUSH);
pDC->Polygon(punkte,3);
}
Und damit kann man den beschriebenen Efekt schon zeigen. Ein kleines
Experiement, welches den Kommentar bei 'SelectStockObject(NULL_BRUSH)' loescht,
bringt dann, dasz kein Brush (auch nach 4096 Pixeln) angezeigt wird.
Gibt es Hinweise ? TIA
Technical Details
Message-ID:
<N.033196.175006.19@leskif.j.eunet.de>Path:
arc1-ca.pugleaf.net!Dortmund.Germany.EU.net!news-internShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!Dortmund.Germany.EU.net!news-intern From: dtf@leskif.j.eunet.de (Thomas Fiksel) Newsgroups: de.comp.lang.c++ Subject: Brush kommt aller 4096 Pixel Date: Sun, 31 Mar 96 16:50:06 GMT Organization: EUnet Deutschland GmbH - R&D Distribution: world Message-ID: <N.033196.175006.19@leskif.j.eunet.de> NNTP-Posting-Host: leskif.j.eunet.de X-Newsreader: Quarterdeck Message Center [1.0]