| |
VB & Windows APIFarbe auf UserControl füllen, dringend. | | | Autor: Firmen-AvD | Datum: 22.04.05 13:03 |
| Hi Forum,
ich hab da ein nettes Problem:
Ich muß auf einem UserControl zwischen gezeichneten Flächen (Rechtecken) Farben füllen. FloodFill aus der API ist ja ganz nett, hat aber den Nachteil, dass eine BorderColor angegeben werden muß. Meine gezeichneten Objekte haben aber leider unterschiedliche Farben. ExtFloodFill wäre ja hier von der Beschreibung her optimal nur leider klappt das nicht auf UserControls. Auf einer Form funzt das bestens, leider versagt ExtFloodFill auf dem UserControl.
Zur Vereinfachung: auf einem UserControl befinden sich mehrere verschiedenfarbige mit Line()-(),,BF gezeichnete Rechtecke um diese Rechtecke soll zwecks Hervorhebung ein Rahmen mit "Füllung" gezeichnet werden. Die Rechtecke sollten aber nicht übermalt werden !!
Falls mir jetzt einer raten möchte doch auf einer Form zu zeichnen, das ist leider nicht möglich. Die Rahmenbedingungen sind leider so. Ich kann da auch nichts mehr ändern!
Ich bin da momentan etwas ratlos... vielleicht hat jemend von Euch da ein besseres Verständnis der Materie
Ich danke Euch im voraus für praktikable Ideen. | |
Re: Farbe auf UserControl füllen, dringend. | | | Autor: Firmen-AvD | Datum: 22.04.05 13:54 |
| Stimmt, aber er zeichnet solange bis er auf die "Bordercolor" trifft und alles was nicht BorderColor ist wird überzeichnet...
wenn ich das richtig verstanden habe... (war zumindest in allen Beispielen so) | |
Re: Farbe auf UserControl füllen, dringend. | | | Autor: Zardoz | Datum: 24.04.05 16:31 |
| Hallo Firmen-AvD,
kannst du mal ein Bild posten, auf dem man sieht, wie das aussehen soll?
Gruss,
Zardoz | |
Re: Farbe auf UserControl füllen, dringend. | | | Autor: Firmen-AvD | Datum: 25.04.05 10:53 |
| Also, ich habe das Problem mittlerweile gelöst.
Wenn man nicht so häufig auf den Zeichen-Pfaden den API spaziert, dann können einem doch schonmal dumme Fehler unterlaufen...
Aber die Lösung für das Problem wollte ich doch noch posten.
Dim hBrush&, Col&
With UserControl1
.Line (90, 90)-(.ScaleWidth - 90, .ScaleHeight - 90), 0, B
.Line (150, 150)-(300, 300), RGB(255, 0, 0), BF
.Line (.ScaleWidth - 150, .ScaleHeight - 150)-(1.ScaleWidth - 600, .ScaleHeight - 300), RGB(255, 0, 250), BF
hBrush = CreateSolidBrush(CLng(RGB(255, 255, 0)))
Call SelectObject(.hdc, hBrush)
Col = GetPixel(.hdc, 8, 8)
Call ExtFloodFill(.hdc, 8, 8, Col, FLOODFILLSURFACE)
Call DeleteObject(hBrush)
End With
Ich hatte es (fast) immer ohne Brush gemacht, aber dabei muß man noch wissen, dass ExtFloodFill als Farbparameter nicht die zu zeichnende Farbe haben will, sondern die Farbe, die es ersetzen soll. Die vorher definierte Brush, die beinhaltet die Farbe und das Muster (hier solid). Muß man halt wissen...
Vielen Dank an alle die sich Gedanken gemacht haben.
Dieter | |
Re: Farbe auf UserControl füllen, dringend. | | | Autor: Firmen-AvD | Datum: 25.04.05 17:06 |
| Kannst Du mir das mal anhand eines Beispiels zeigen? | |
Re: Farbe auf UserControl füllen, dringend. | | | Autor: Firmen-AvD | Datum: 25.04.05 18:33 |
| Vielleicht bin ich ein wenig matschig in der Birne, vom ständigen Ausprobieren, aber ich bekomme das einfach nicht hin!
Kannst Du doch mal ein kurzes Beispiel posten? Ich habe das hier einfach nicht zum Laufen bekommen | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
Neu! sevCommand 4.0
Professionelle Schaltflächen im modernen Design!
Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Weitere InfosTipp des Monats März 2024 Dieter OtterUTF-8 Konvertierung von Dateien und StringsVB6 selbst verfügt über keine Funktionen zur UTF-8 Konvertierung von Daten. Mit Hilfe des ADODB.Stream-Objekts lassen sich diese fehlenden Funktionen aber schnell nachrüsten. TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|