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 :

Forme qui prend l'apparence d'une image


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Inscrit en
    Février 2005
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 356
    Par défaut Forme qui prend l'apparence d'une image
    Bonjour à tous,

    Sur Delphi XE2 ou XE3, je souhaite que mon application prenne la forme de mon image arrière plan, sans bordure... (Exemple : image triangle avec transparence autour)

    Apparemment cette fonctionnalité est native dans XE2/XE3 (en modifiant les propriété du TForm) car je l'ai vu en formation par Embarcadero

    Comment faire ?

    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 987
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 987
    Par défaut
    Il faut jouer avec TransparentColor et TransparentColorValue.

  3. #3
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 137
    Par défaut
    Pas que XE, mais déjà en 2007 (peut-être même depuis D6), c'est depuis windows 2K (5.0) que cela gère la transparence sans devoir soit même manipulé les Régions.

    Tout ce passe sur la TForm
    Passe BorderStyle à bsNone pour retirer les bords et le titre
    Comme le propose Andnotor affecte TransparentColor à true et TransparentColorValue à clFuchsia (une couleur rare dans une image) !

    Avec un TShape en stRoundRect, tu peux avoir une fenêtre avec des coins arrondis, moi j'ai fait ainsi une info bulle avec bouton, mon TShape est en Color clInfoBk

    Avec d'autre TShape ou TPanel, tu peux ajouter des zones transparentes à l'intérieur de la TForme et choisissant Color clFuchsia

    Avec un TImage\TPaintBox, je ne l'ai pas testé mais en théorie, tout pixel en clFuchsia seront transparents en fait, cela sera même un "trou" dans la fenêtre, donc tu pourras cliquer "à travers" et accéder à la fenêtre derrière celle de ton appli
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  4. #4
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2012
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2012
    Messages : 111
    Par défaut
    oui mai le probleme c qon ton click sur la zone transparente la forme prend la focalisation dans D5 D6 et D7

  5. #5
    Membre éclairé

    Inscrit en
    Février 2005
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 356
    Par défaut
    Merci beaucoup, c'est bien ça !

    oui mai le probleme c qon ton click sur la zone transparente la forme prend la focalisation
    En tout cas, pas avec XE2 ou XE3.

  6. #6
    Membre éclairé

    Inscrit en
    Février 2005
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 356
    Par défaut
    Est-ce que c'est le meilleur moyen pour faire une popup de ce style ?
    Avec un Timage déposer sur la form ?


  7. #7
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 987
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 987
    Par défaut
    Citation Envoyé par pepito62 Voir le message
    Est-ce que c'est le meilleur moyen pour faire une popup de ce style ?
    Non, parce que la transparence par couleur est un mode tout-ou-rien. Pour avoir des effets d'ombré (et de l'anticrénage en général), il faut de la transparence partielle. C'est l'autre mode utilisable des fenêtres en mode Layered mais ça demande de gérer soi-même un bitmap 32 bits et ce mode n'est pas compatible avec des champs d'édition.
    Cela implique donc d'utiliser deux fiches superposées. L'une transparente par couleur (comme actuel) en premier plan qui ne laisse visible que les champs et une deuxième en fond gérée par bitmap 32 bits.

    On peut bien sûr aussi générer le bitmap en fonction du contenu des champs (ils sont invisibles, mais fonctionnelles) et n'afficher qu'une fiche avec ce bitmap dynamique, mais dans tous les cas,... y'a du boulot

    C'est plus ou moins ce que j'avais fait ici.

  8. #8
    Membre éclairé

    Inscrit en
    Février 2005
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 356
    Par défaut
    Et il n'existe pas de composant Delphi pour faire des popup ?

    Et si je n'utilise pas d'effet ombragé ni d'anticrénage...juste une image blanche avec un triangle comme fleche.

    C'est la bonne méthode ? Comment ferez-vous autrement sinon sans être usine à gaz.

    Autre question :
    Comment avoir une fleche toujours à la même position et qui ne s'agrandi pas lorsque j’agrandis/rétrécis la forme ?

    Merci !

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

Discussions similaires

  1. [GD] Problème avec des fonctions qui créent des éléments dans une image.
    Par magnus2229 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 13/07/2011, 10h38
  2. probleme form qui ne se charge qu'une seule fois
    Par lucaazori1988 dans le forum VB.NET
    Réponses: 4
    Dernier message: 23/09/2010, 20h09
  3. Réponses: 1
    Dernier message: 14/12/2009, 17h45
  4. texte qui suit le contour d'une image
    Par Rocket666 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 12
    Dernier message: 07/02/2006, 12h45
  5. Réponses: 8
    Dernier message: 30/11/2005, 11h00

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