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 :
- 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.
- 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; }