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 :

astuce Transparent dans la FAQ incomprise :/


Sujet :

Delphi

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    598
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 598
    Points : 628
    Points
    628
    Par défaut astuce Transparent dans la FAQ incomprise :/
    Dans la FAQ Delphi il y a cette astuce mais j'y comprend rien :/
    Je voulais faire avoir un panel transparent mais je comprend pas cette astuce :/

    Si votre contrôle possède une propriété Transparent, il suffit de positionner celle-ci à True.
    Dans le cas contraire, vous devez dériver un nouveau composant à partir de celui-ci, surcharger la méthode CreateParams et intercepter le message WM_ERASEBKGND comme ci-dessous :
    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
     
    type
      TConteneur = class(TScrollBox)
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
        constructor Create(AOwner: TComponent); override;
        procedure CreateParams(var Params: TCreateParams); override;
        procedure WMEraseBkgnd(var Msg: TWMEraseBkgnd); message WM_ERASEBKGND;
      end;
     
    procedure TConteneur.CreateParams(var Params: TCreateParams);
    begin
      inherited CreateParams(Params);
      Params.ExStyle := params.ExStyle or WS_EX_TRANSPARENT;
    end;
     
    procedure TConteneur.WMEraseBkgnd(var Msg: TWMEraseBkgnd);
    begin
      SetBkMode(Msg.DC, TRANSPARENT);
      Msg.Result := 1;
    end;
    Cliquez ici et reprenez le pouvoir !
    A bas IE !, Google, et le pistage du net, testons DuckDuckGo.com
    Lords Of The Realm II Download : Lords of the realm 2
    Infos en anglais :Ici

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Le problème c'est que TCustomPanel.Paint fait un FillRect() donc tu as beau lui dire qu'il est transparent, il se dessine sur toute sa surface
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    598
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 598
    Points : 628
    Points
    628
    Par défaut
    Ha merci de cette info j'en apprend sur Tpanel^^

    Mais le problème principal c'est que je ne comprend pas la démarche de l'exemple parce que je ne suis pas habitué à la création d'un composant à partir d'un autre^^
    J'essaie d'apprendre dans les cours que j'ai trouvé mais je comprend toujours pas :/
    Surtout le truc des FValeurs qui se transforment en AValeurs ou je sais plus quoi.

    Donc sinon y a pas moyen d'avoir un composant transparent du style de panel ou messageDlg ou autre ? c'est pour faire un message à ma façon.
    Cliquez ici et reprenez le pouvoir !
    A bas IE !, Google, et le pistage du net, testons DuckDuckGo.com
    Lords Of The Realm II Download : Lords of the realm 2
    Infos en anglais :Ici

  4. #4
    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
    Tu as un panel transparent dans la JVCL

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    598
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 598
    Points : 628
    Points
    628
    Par défaut
    Ha merci PhilNext justement je dois l'installer ^^
    Cliquez ici et reprenez le pouvoir !
    A bas IE !, Google, et le pistage du net, testons DuckDuckGo.com
    Lords Of The Realm II Download : Lords of the realm 2
    Infos en anglais :Ici

Discussions similaires

  1. Récup des données d'un select (cf exemple dans la faq)
    Par j0k3r_n0ir dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 28/02/2005, 18h36
  2. Rendre le fond transparent dans une picturebox
    Par fun31 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 20/01/2005, 18h17
  3. Image GIF a fond transparent dans un formulaire ?
    Par Coquelicot dans le forum IHM
    Réponses: 4
    Dernier message: 25/10/2004, 12h08
  4. Transparence dans un dégradé
    Par WriteLN dans le forum Flash
    Réponses: 2
    Dernier message: 27/10/2003, 16h42

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