The SDL Component Suite is an industry leading collection of components supporting scientific and engineering computing. Please visit the SDL Web site for more information....



OnBeforeDrawScaleLabel


Unit:SDL_polchart
Class: TPolChart
Declaration: OnBeforeDrawScaleLabel: TpcBeforeDrawScaleLabelEvent;
{ TpcBeforeDrawScaleLabelEvent = procedure (Sender: TObject; var Canvas: TCanvas; ScaleType: TpcScaleKind; var CurrentTickLabel: string; ChartX, ChartY: integer) of object;}

The events OnDataRendered and OnBeforeDrawScaleLabel provide a hook for adding user defined graphics to a PolChart. While the event OndataRendered can be used to draw special graphics or text into the chart (on top of the data and the scales, but below any crosshair), the event OnBeforeDrawScaleLabel  is triggered immediately before a label of the scale is going to be rendered and allows to modify the text of this label.

The variable parameter Canvas provides access to the canvas of the data area. The parameter ScaleType specifies the kind of scale the label belongs to (radial or angular). The variable parameter CurrentTickLabel can be adjusted according to the requirements of the program (e.g. to append a measurement unit to it). The parameters ChartX and ChartY specify the position of the label (in pixel coordinates).

Please note that the state of the canvas (e.g. the color of its pen, or the fill mode of the brush) depends on the graphics elements drawn before.

Example: Following is an example on how to create a radial scale showing dB as units:

procedure TFrmPolChart.PCBeforeDrawScaleLabel(Sender: TObject;
  var Canvas: TCanvas; ScaleType: TpcScaleKind; var CurrentTickLabel: String;
  ChartX, ChartY: Integer);
 
begin
if ScaleType = sckRad then
  CurrentTickLabel := CurrentTickLabel + ' dB';
end;

Example: This event is used in the following example program (see http://www.lohninger.com/examples.html for downloading the code): poldiag



Last Update: 2008-Okt-29