Accueil > Manip’s > Delphi > Hint > Comment passer les Info Bulles en mode global ?
DELPHI, AIDE, INFO BULLE
Comment passer les Info Bulles en mode global ?
APPLICATION, HINT
dimanche 13 juillet 2008, par
Le Mode HINT au niveau APPLICATION
L’aide contextuelle est habituellement paramétrée au niveau de l’info-bulle qui s’afficher dans une petite bande jaune au passage sur un champ.
En DELPHI on fait appel à la propriété HINT de l’objet
En BASIC cette propriété de l’Objet est le ToolTipText
En JAVASCRIPT c’est Title
Cette manip décrit comment afficher automatiquement chaque Bulle d’info dans la fenêtre principale
- Dans la Barre de status par exemple
En continuant à remplir simplement la propriété HINT locale de chaque Objet
TECHNIQUEMENT
Il suffit de détourner l’évènement OnHint de l’Objet vers la Propriété ShowHint de l’application.
MISE EN ŒUVRE
Au niveau du Formulaire
Form1
- ShowHint = False
Cette action va empêcher le double affichage des Bulles sur le Champ qui a le focus et sur le panneau global d’aide, en désactivant d’un seul clic, tous les HINT de tous les composants affichés.
Form1
- Placez un COMPOSANT PANEL1 (ou statusbar)
- Propriété Align = Bottom
Ouvrez le code de la Fiche
Touche F12
Entre USES ET VAR
- Sous Déclarations Privées ajoutez la déclaration AfficheAIDE
Dans la rubrique IMPLEMENTATION
- Sous
{
$R *.DFM}
Développez votre fonction AfficherAide
N’oubliez par le TForm1.
Il faut maintenant détourner l’évènement OnHint vers la nouvelle procédure AfficherAide
Niveau Formulaires
- Form1.
- Inspecteur d’Objets => Evenement
- -***OnCreate
Cet évènement est appelé à l’ouverture de la fiche (équivalent OnLoad en Basic ou en Javascript) et contient les routines d’initialisation de celle ci.
C’est tout
Maintenant quand vous passez sur le composant
- L’aide s’affiche dans le PANEL
TRUC
Pour désactiver la Bulle Locale au niveau du composant, (double affichage parasite de l’aide) il suffit de positionner le ShowHint du Form1 (cf. 1ère manip) sur False
Avec CoolTrayIcon, on peut afficher le conseil dans l’infobulle
Mettre dans le hint au format
TITRE ; CONSEIL |
procedure TForm1.AfficherAide(sender: TObject);
var
TAB : TStringList;
N : integer;
begin
TRY
if (application.ShowHint and opt_InfoBalloon.Checked) then BEGIN
TAB := TStringList.Create;
N := ExtractStrings([';'], [], PChar(Application.Hint), TAB);
// N retourne le nombre de parties extraites
if n <= 0 then exit;
if N = 1 then
CoolTrayIcon1.ShowBalloonHint('AIDE',TAB[0], bitCustom,10)
else BEGIN
CoolTrayIcon1.ShowBalloonHint(TAB[0],AnsiReplaceStr(TAB[1], '#',#13+#10) , bitCustom,10);
END;
END;
FINALLY TAB.Free; END;
end;