Afficher : Delphi C++
Préférences d'affichage

Changement du style du crayon

De RAD Studio XE2

Remonter à Utilisation des graphiques et du multimédia - Index

La propriété Style d'un crayon permet de créer des lignes continues, pointillées ou à tirets.

La définition des propriétés d'un crayon est une opération qui se prête parfaitement au partage d'événements entre plusieurs contrôles. Pour déterminer le contrôle qui reçoit l'événement, il suffit de tester le paramètre Sender.

Pour créer un gestionnaire pour l'événement clic de chacun des six boutons de style de la barre d'outils d'un crayon, procédez comme suit :

  1. Sélectionnez les six boutons de style de crayon, choisissez Inspecteur d'objets > Evénements > Evénement OnClick et tapez SetPenStyle dans la colonne des gestionnaires.L'éditeur de code génère un gestionnaire vide appelé SetPenStyle et l'attache à l'événement OnClick de chacun des six boutons.
  2. Remplissez le gestionnaire de l'événement Onclick en définissant le style du crayon selon la valeur du paramètre Sender qui désigne le contrôle ayant envoyé l'événement clic :
 procedure TForm1.SetPenStyle(Sender: TObject);
 begin
 with Canvas.Pen do
 begin
 if Sender = SolidPen then Style := psSolid
 else if Sender = DashPen then Style := psDash
 else if Sender = DotPen then Style := psDot
 else if Sender = DashDotPen then Style := psDashDot
 else if Sender = DashDotDotPen then Style := psDashDotDot
 else if Sender = ClearPen then Style := psClear;
 end;
 end;
 void __fastcall TForm1::SetPenStyle(TObject *Sender)
 {
   if (Sender == SolidPen)
     Canvas->Pen->Style = psSolid;
   else if (Sender == DashPen)
     Canvas->Pen->Style = psDash;
   else if (Sender == DotPen)
     Canvas->Pen->Style = psDot;
   else if (Sender == DashDotPen)
     Canvas->Pen->Style = psDashDot;
   else if (Sender == DashDotDotPen)
     Canvas->Pen->Style = psDashDotDot;
 '  else if (Sender == ClearPen)
     Canvas->Pen->Style = psClear;
 }
 void __fastcall TForm1::SetPenStyle(TObject *Sender)
 {
   if (Sender->InheritsFrom (__classid(TSpeedButton))
     Canvas->Pen->Style = (TPenStyle) ((TSpeedButton *)Sender)->Tag;
 }


Voir aussi

Versions précédentes
Autres langues