| E | L | P | H | I | R | O    programmeren •  linux •  gitaar •  foto's •  email
Search with Google™:
    sdl •  sql •  delphi •  componenten •  cpp •  c


TRSBufferPainter

comp03.png
  • status beta (nog niet uitvoerig getest maar wel werkzaam)
  • download ( 5 kB source + dcu )

Een eenvoudig component met een groot voordeel; je kunt er knippervrije mee tekenen / animeren. Hiertoe heeft dit component een Buffer eigenschap waarop 'in het geheugen' getekend kan worden. Door de procedure Swap aan te roepen wordt de buffer knippervrij op het Canvas geprojecteerd. Dit component is volledig VCL geörienteerd en geen directe API aanroepen en is daarmee eenvoudig te doorgronden.

belangrijke eigenschappen / procedures uitleg
Swap (procedure) Kopieert de buffer op het canvas
Buffer (variabele) Het tekenbord; de buffer in onzichtbaar tot Swap aangeroepen wordt

Code weetjes:

Het bericht (message) WM_ERASEBKGND zorgt voor het vervelende knipperen bij de normale Delphi componenten (TImage of TPaintbox). Door dit bericht af te vangen kun je het knipperen onderdrukken. Het schijnt neveneffecten te hebben voor andere componenten maar ik heb het nog niet gezien.

procedure WMEraseBackground(var Message: TMessage); message WM_ERASEBKGND;
procedure TRSBufferPainter.WMEraseBackground(var Message: TMessage);
begin
 Message.Result := 1;
end;


Klik voor een kijkje in de code.



TRSAnimGraph

comp01.png
  • status pre-beta (werkzaam maar alleen als je weet hoe :-)
  • download ( 5 kB source + dcu )

-beschrijving nog leeg-

Klik voor een kijkje in de code.



TRSAnimImage

comp02.png
  • status beta (nog niet uitvoerig getest maar wel werkzaam)
  • download ( 6 kB source + dcu )

Een component dat een bitmap weergeeft waarmee de gehele bitmap of delen van de bitmap anders kunnen worden weergegeven als de muis er over zweeft. De functionaliteit is goed te vergelijken met de images die je veel op internet ziet waarbij een knop verandert als je er met de muis op komt.

belangrijke eigenschappen / procedures uitleg
AddArea (procedure) Voeg een gebied op de bitmap toe dat veranderen moet als de muispointer erop komt.
UseAreas (property) Indien deze FALSE is (standaard) dan verandert de gehele bitmap. Indien de waarde TRUE is wordt er gekeken of de muis boven een bepaalde 'area' hangt en wordt enkel dit area deel veranderd.
NormalImage (property) De bitmap die normaal moet worden weergegeven.
HighlightImage (property) De bitmap die geheel of gedeeltelijk moet worden weergegeven als de muis erop komt.

Code weetjes:

De beweging van de muis wordt opgevangen door de messages WMMouseMove te onderscheppen. Indien er gebruik gemaakt wordt van areas wordt in de (dynamische) lijst gekeken of de muis in een bepaald gebied zit. Zo ja, dan wordt de juiste area getekend (waarvoor de knippervrije eigenschappen van de TRSBufferPainter worden gebruikt).

Klik voor een kijkje in de code.