|
| Personnaliser un
Stringgrid |
 |
| |

|
En utilisant l'événement
OnDrawCell on peut modifier facilement la couleur de fond ou du texte pour chaque ligne et
colonne.
|
| Afficher des icônes
dans un ListBox ou un ComboBox |
 |
| |

|
Sur le même principe de
fonctionnement que le StringGrid, un exemple montrant comment afficher des icônes dans un
ListBox ou un ComboBox.
|
| Afficher un dégradé |
 |
| |
Deux exemples montrant comment réaliser un
dégradé sur le fond d'une fiche.
Le premier, très simple montre le procédé mis en uvre.
Le deuxième permet de choisir la couleur de départ et celle d'arrivée et obtenant un
dégradé de bonne qualité.
Un grand merci à Noël Cuillandre pour son aide plus que précieuse !
| Réaliser un bouton
furtif (look 97) avec des composants standards |
 |
| |
 |
On peut réaliser ce genre de bouton en
utilisant un Panel recouvert par 1 ou 2
composants Image. |
If faut modifier la propriété BevelOuter du Panel suivant
la position du curseur
de la souris. Quand le curseur est au dessus du bouton
(événement
OnMouseMouve
de l'image), modifiez BevelOuter à bvRaised .
Quand le curseur n'est plus au dessus (événement OnMouseMouve de la fiche)
BevelOuter:=bvNone et lorsque l'on clique dessus (événement OnMouseDown
de l'image) BevelOuter:=bvLowered.
Essayez l'exemple qui est plus parlant ! |
| |
| Réaliser des boutons
originaux |
 |
| |

|
Sur le même principe que les boutons furtifs
on peut
réaliser des boutons originaux. Le Panel peut être
supprimé si on ne veut pas de bordure. |
| Ecrire sur plusieurs
lignes avec les Label, boîtes de messages et infos bulles |
 |
| |
Si l'on peut écrire sur plusieurs lignes
avec un Label en activant WordWrap
à TRUE il y a plusieurs inconvénients:
- obtenir exactement ce que l'on veut n'est pas toujours facile !
- lorsque l'on modifie le texte à l'exécution le résultat est plutôt aléatoireEn utilisant le caractère ascii du retour à
la ligne #13 on peut provoquer
le retour à la ligne là où on le souhaite.
(uniquement à l'exécution et AutoSize:=true pour les Label)
Ex: Label2.caption:='ligne 1' + #13 + 'ligne 2' + #13 + 'Ect.....';
Cela fonctionne également avec les boîtes de
messages:
Ex : MessageDlg('ligne 1'+ #13 +'ligne 2'
,mtConfirmation ,mbYesNoCancel , 0);
Idem avec les infos bulles:
Ex : Panel2.hint:='ligne 1' + #13 + 'ligne 2' + #13
+ 'Ect.....'; |
| Position du curseur
dans un Mémo |
 |
| |
Une méthode pour récupérer le n°
de ligne et de colonne du curseur :
Var line,col : integer;
Begin
line:=SendMessage(Memo1.Handle,EM_LineFromChar,Memo1.SelStart,0);
col:=Memo1.SelStart - SendMessage(Memo1.Handle,EM_LineIndex,line,0);
end;
|
|