IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)



Qu'est-ce que la VCL ?
auteur : Gysmo
Il s'agit de la bibliothèque des composants visuels (Visual Component Library, VCL). Elle est composée de classes hiérarchisées toutes descendantes de la classe TComponent. Tous ces composants sont accessibles sur la palette de composants de Delphi. Il est possible de créer de nouveaux composants en dérivant les classes existantes.
lien : Qu'est-ce que la CLX ?
lien : Où trouver des composants et outils freeware pour Delphi ?
lien :  Comment créer ses propres composants ?

Qu'est-ce que la CLX ?
auteur : Gysmo
Il s'agit de la bibliothèque des composants multiplates-formes (Component Library for Cross Platform, CLX) permettant d'assurer la portabilité des applications de Windows vers Linux. Kylix utilise uniquement cette bibliothèque.
La CLX est similaire à la VCL mais les composants Windows sont remplacés par des widgets (de window + gadget). De ce fait la hiérarchie des TWinControl est remplacée par la hiérarchie des TWidgetControl avec des méthodes et des propriétés en moins. Ces composants peuvent être groupés en parties : VisualCLX (composants graphiques), NetCLX (composants Internet), BaseCLX et DataCLX (Composants d'accès aux données client).
Tous ces composants CLX sont disponibles à partir de la version Professionnelle de Delphi.
lien : Qu'est-ce que la VCL ?

Comment donner le focus à un composant ?
auteur : Al-Yazdi
Il faut d'abord vérifier que notre composant peut recevoir un focus, puis le lui donner.

         if MyComponent.CanFocus then
                 MyComponent.SetFocus;
        

Comment faire un retour à la ligne ?
auteur : Gysmo
Il faut utiliser le code #13#10 , code indiquant un retour à la ligne (Carriage Return Line Feed, CRLF) ou bien sLineBreak qui est égale à #10 sous Linux ou #13#10 sous Windows.
A la conception
Il suffit pour cela de modifier le fichier .dfm, pour ce faire il suffit de sélectionner la fiche, puis soit faire un clic droit puis "Voir comme texte" soit faire Alt+F12. Ensuite il suffit d'éditer dans la ligne Caption ou Hint par exemple ceci :

         Caption = 'Première ligne' #13#10 'Seconde ligne'
         Hint = 'Première ligne' #13#10 'Seconde ligne'
Dynamiquement
Dans l'événement OnCreate par exemple avec un TLable :

         MyLabel.Caption := 'Première ligne' + sLineBreak + 'Seconde ligne'
         MyLabel.Hint := 'Première ligne' + sLineBreak + 'Seconde ligne'
Dans le texte d'une boite de message :

         ShowMessage('Première ligne' + sLineBreak + 'Seconde ligne');
         MessageDlg('Première ligne'+ sLineBreak + 'Seconde ligne', mtInformation, [mbOK], 0);
Remarque : Ceci ne fonctionne pas avec la propriété Caption du TButton, utilsez alors le TBitBtn (onglet Supplément).

Comment aligner à droite le contenu d'un TControl (TEdit...) ?
auteur : Gysmo
L'astuce est d'utiliser la propriété BiDiMode du TControl (ancêtre des composants visibles). Ce mode bidirectionnel spécifie la direction de la lecture du texte. En localisant l'application on arrive à aligner le texte à droite.
Dans l'évenement OnCreate :

         //Indique une localisation moyen-orientale
         SysLocale.MiddleEast := True;
         //Exemple avec un TEdit
         MyEdit.BiDiMode := bdRightToLeft;
Ceci fonctionne avec la plupart des descendants du TControl : TEdit, TMaskEdit, TListBox...

Comment ne rentrer que des chiffres dans un TEdit ?
auteur : Gysmo
Il suffit de remplacer tout autres caractères par le caractères nul dans l'événement OnKeyPress du TEdit, exception fait pour le séparateur décimal (DecimalSeparator), la touche retour (VK_BACK) et la touche supprimer (VK_DELETE).

         procedure TMyForm.MyEditKeyPress(Sender: TObject; var Key: Char);
         begin
         if not (Key in ['..', DecimalSeparator, Chr(VK_BACK), Chr(VK_DELETE)]) then
         Key := #0;
         if Key = DecimalSeparator then
         if Pos(DecimalSeparator, MyEdit.Text) <> 0 then
                 Key := #0;
         end;
        


Ce document issu de www.developpez.com est soumis à la licence GNU FDL traduit en français ici
Permission vous est donnée de distribuer, modifier des copies de cette page tant que cette note apparaît clairement.