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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Créer des Infos bulles comme WinHelp,HELP_CONTEXTPOPUP : THintwindow ?


Sujet :

Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 249
    Points : 106
    Points
    106
    Par défaut Créer des Infos bulles comme WinHelp,HELP_CONTEXTPOPUP : THintwindow ?
    Bonjour,

    Je voudrais ajouter à mes programmes Delphi des pop-up windows comme les pop-up windows que l'aide de windows ouvre lors de l'appel de Winhelp avec HELP_CONTEXTPOPUP. C'est aussi les mêmes pop-up que sur les pages du site que vous regardez en ce moment lorsque vous laissez votre souris sur un titre d'article (Je pense que c'est les mêmes mais pas sûr). Remarquez l'effet d'ombrage sur ces info-bulles. J'ai écrit un petit programme qui utilise des THintwindow mais je n'ai pas l'effet d'ombrage en bas de la région d'affichage. Je ne suis pas sûr que ca soit des THintWindow qu'il faille utiliser. Le contenu des informations changent au cours de l'éxécution du programme, je ne veux pas utiliser le système d'aide de windows sauf si quelqu'un peut me dire si on peut changer à l'éxécution le contenu d'une rubrique pour unContext sensitive help avec HELP_CONTEXTPOPUP, ca me surprendrait énormément puisque le fichier d'aide "rtf" est compilé.


    M. Pipo123
    Salut, bye.

  2. #2
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    A ma connaissance le THintwindow n'est que l'accès au Hint normal pour l'implémenter directment dans ton programme.
    Pour un Hint 'ombragé' je pense qu'il faut un composant spécifique ex :
    http://www.jrsoftware.org/misc.php
    Je ne connais pas celui ci mais l'auteur (celui de l'excellent Inno setup) n'a plus rien à démonter !

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 249
    Points : 106
    Points
    106
    Par défaut
    Parfait philnext,

    La solution que tu as trouvé sur le site de Inno setup fonctionne et permet d'avoir des hints ombragés comme les pop-up windows de l'aide de windows.

    De plus je viens de trouver un logiciel de setup, je me demandais toujours ou trouver un tel logiciel et full gratuit en plus.

    voici le code de l'unité à utiliser dans le formulaire principale pour avoir des hints ombragés:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    unit HintShadow;
    {
      HintShadow.pas v1.0 (2001-12-22) by Jordan Russell
      This unit will enable drop shadows on Hints when your program is running on  Windows XP.
      To use: simply add "HintShadow" to your main form's "uses" clause.
    }
     
    interface
    uses
      Windows, SysUtils, Controls, Forms;
     
    type
     
      TShadowedHintWindow = class(THintWindow)
      protected
        procedure CreateParams(var Params: TCreateParams); override;
      end;
     
    implementation
     
    { TShadowedHintWindow }
    procedure TShadowedHintWindow.CreateParams(var Params: TCreateParams);
     
    const
      CS_DROPSHADOW = $00020000;
     
    begin
      inherited;
      { Enable drop shadow effect on Windows XP and later }
      if (Win32Platform = VER_PLATFORM_WIN32_NT) and
         ((Win32MajorVersion > 5) or
          ((Win32MajorVersion = 5) and (Win32MinorVersion >= 1))) then
        Params.WindowClass.Style := Params.WindowClass.Style or CS_DROPSHADOW;
    end;
     
    initialization
      HintWindowClass := TShadowedHintWindow;
    end.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. faire des info-bulle
    Par pafi76 dans le forum Access
    Réponses: 3
    Dernier message: 30/06/2006, 11h34
  2. Réponses: 2
    Dernier message: 20/02/2006, 16h06
  3. Créer des "infos bulles"
    Par Nanoulov dans le forum SWT/JFace
    Réponses: 6
    Dernier message: 08/07/2005, 15h02
  4. Réponses: 3
    Dernier message: 11/03/2004, 16h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo