I finished the new GRAPH-painter with the included changes, done in class TGRAPH.
Real graph-design at runtime is possible, to get the best result of
a combination of over 40 possible settings in a short time.
It will save much time for testing.
Doing it with a step by step value-testing, would be a hard job.
All settings / selections can be saved.
From the PROJECT.DBF, You can skip to a different project.
I'm still planning some extensions.
5 projects are predefined.
Just use the SKIP-buttons to view the different styles.
Download ( 4 MB ) :
http://www.pflegeplus.com/DOWNLOADS/Graphpaint1.zip
![Image](http://www.pflegeplus.com/IMAGES/GHelp1.jpg)
All settings and selections are displayed inside a multiline-get and You can
copy and past all results to Your project.
![Image](http://www.pflegeplus.com/IMAGES/GHelp2.jpg)
The DIALOG-settings, to find a good combination between the 2 backgrounds.
![Image](http://www.pflegeplus.com/IMAGES/GHelp3.jpg)
The MAIN-graph-setting-page
selecting < FROM DIALOG > will use the dialog-selections ( color, gradient and brush )
for the graph-background, otherwise the selected graph-color and brush will be used.
Using this option You get a TRANSPARENT-effect because of the same color or brush.
![Image](http://www.pflegeplus.com/IMAGES/GHelp4.jpg)
The second graph-setting-page
![Image](http://www.pflegeplus.com/IMAGES/GHelp5.jpg)
The first graph-FONT-page
![Image](http://www.pflegeplus.com/IMAGES/GHelp6.jpg)
The second graph-FONT-page
![Image](http://www.pflegeplus.com/IMAGES/GHelp7.jpg)
The PROJECT-manager
A right mouseclick selects the project, You want to be shown at next start.
![Image](http://www.pflegeplus.com/IMAGES/GHelp8.jpg)
In method Paint I added a TRANSPARENT - section
but there is something wrong, to get a TRANSPARENT graph
it would be nice, to get it working like gradient and brush !
Code: Select all | Expand
...
...
IF UPPER ( ::cBitmap ) = "COLOR"
hBru := CreateSolidBrush( ::nClrBack )
hOld := SelectObject( ::hDC, hBru )
FillRect( ::hDC, { 0, 0, ::nHeight, ::nWidth }, hBru )
SelectObject( ::hDC, hOld )
DeleteObject( hBru )
ELSEIF UPPER ( ::cBitmap ) = "GRADIENT"
hBru := GradientBrush( ::hDC, 0, 0, ::nWidth, ::nHeight, ;
{ { 0, LightColor( 175, ::nClrBack ), ::nClrBack } }, .T. )
hOld := SelectObject( ::hDC, hBru )
FillRect( ::hDC,{ 0, 0, ::nHeight, ::nWidth }, hBru )
SelectObject( ::hDC, hOld )
DeleteObject( hBru )
ELSEIF File( ::cBitmap ) // Brush
DEFINE BITMAP oNewbrush FILENAME ::cBitmap
nHeight := oNewbrush:nHeight
nWidth := oNewbrush:nWidth
IF ::nWidth > 0
DO WHILE nRow < ::nHeight
nCol = 0
DO WHILE nCol < ::nWidth
PalBmpDraw( ::hDC, nRow, nCol, oNewbrush:hBitmap )
nCol += nHeight
ENDDO
nRow += nWidth
ENDDO
ENDIF
oNewbrush:End()
ELSEIF UPPER ( ::cBitmap ) = "TRANSPARENT"
nOldMode := SetBkMode( ::hDC, 1 )
hBru := TBrush():New( "NULL" )
hOldBrush := SelectObject( ::hDC, hBru )
FillRect( ::hDC,{ 0, 0, ::nHeight, ::nWidth }, hBru )
SelectObject( ::hDC, hOldBrush )
SetBkMode( ::hDC, nOldMode )
DeleteObject( hBru )
ENDIF
Best regards
Uwe
![Laughing :lol:](./images/smilies/icon_lol.gif)