hi,
ich habe paar Demos gemacht und bin einen Schritt weiter
ein Ring mit Farbe geht einfach
Code: Alles auswählen
aAttr := Array( GRA_AA_COUNT ) // Füllmuster bestimmen
aAttr[ GRA_AA_COLOR ] := GRA_CLR_PINK
GraSetAttrArea( NIL, aAttr )
GraPathBegin() // Grafischen Pfad definieren
GraArc( , {150,200}, 50 )
GraArc( , {150,200}, 100 )
GraPathEnd()
GraPathFill()
aber wenn man Winkel <> 360° eingibt ...
---
es gelingt mit nicht im Demo GraPathClip() den Text durch Farbe zu ersetzen.
- Ring_Text.jpg (86.96 KiB) 3307 mal betrachtet
nun zeichne ich mit GRAARC() zunächst das "Tortenstück" mit Farbe
dann den inneren Kreis ... aber der hat die "selbe" Farbe ...
wenn ich nun die Farbe mit
ändere macht es für beide GRAARC()
also nun mit Segment und GRAPATH*
Code: Alles auswählen
nSegment := GraSegOpen( oPS, GRA_SEG_MODIFIABLE )
GraPathBegin( oPS )
// Aktion
GraPathEnd( oPS )
GraSegClose( oPS )
GraSegDraw( oPS, nSegment )
nun die Farbe und Segment löschen
---
damit sieht eine "Anzeige" schon so aus wie gewünscht.
- PWheel_Demo_Release.jpg (71.39 KiB) 3307 mal betrachtet
aber wenn ich es als "Animation" laufen lasse ...
ich habe ::lockPS() / ::unlockPS() aber trotzdem ein "flackern"
mit ::lockUpdate(.T.) / ::lockUpdate(.F.) zeigt er mir gar nichts an
liegt das am Ownerdraw
Code: Alles auswählen
oPgWheel := DXE_ProgressWheel() :New( oDlg:DrawingArea,, { 10, 50 }, { 200, 200 } )
oPgWheel:drawMode := XBP_DRAW_OWNER
oPgWheel:draw := { | oPS, aInfo, oSelf | oSelf:Draw( oPS, aInfo, oSelf ) }
Anbei Demo mit Source und DLL / LIB (v1.9.355 )
- PWHEEL08.ZIP
- DLL / LIB v1.9.355
- (113.92 KiB) 172-mal heruntergeladen