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 :

Placer un TImage par dessus un TRichEdit


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 288
    Par défaut Placer un TImage par dessus un TRichEdit
    Salut les copains

    Tout est dans le titre, perso j'ai tenté et je ne suis pas fichu d'y arriver

    C'est dans le but d'ensuite mettre en transparent l'image contenue en TImage et d'en interdire toute intrusion de curseur...

    Ce serait une sorte de "vitre" devant le RichEdit quoi

    Sachant que je souhaite éviter un compo spécial pour si peu.

    Merci d'avance de toute remarque, ruse ou astuce permettant d'obtenir ce but.

    @+

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    410
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 410
    Par défaut
    tant qu'a être tordu pourquoi ne pas faire l'inverse ? tu fais une image de ton richedit que tu affiches à la place de celui-ci

    bien sur si tu as besoin de faire défiler le contenu, il va falloir être tordu² et mettre à jour l'image

  3. #3
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Par défaut
    Bonjour,

    C'est dans le but d'ensuite mettre en transparent l'image contenue en TImage et d'en interdire toute intrusion de curseur
    ... si tu mets un TImage ou TLabel à cheval sur un RichEdit et sur la Form tu constateras que seule la partie qui empiète sur la Form reste visible et que l'autre partie va se cacher sous le RichEdit et que, transparents ou pas, si tu cliques sur l'emplacement de l'image ou du label le curseur va se placer quand-même dans le RichEdit.
    ... Essaye donc plutôt, au MouseDown du RichEdit de renvoyer illico le Focus par exemple vers un TEdit (avec Edit1.SetFocus) Edit1 pouvant être, si besoin est, rendu Invisible.
    ... En complément, il pourra être besoin d'intercepter la touche Tab pour neutraliser l'envoi du Focus vers le RichEdit avec celle-ci.

    A+.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 614
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 614
    Par défaut
    @ Droïde Système7, le but est de pouvoir lire le texte de ton Richedit et d'empécher de le modifier ?

    Si oui, place ton TRicheEdit sur un TPanel et joue avec la propriété "enabled" du TPanel pour empêcher le curseur de modifier celui ci.

    Si j'ai bien compris ta question

    @+,

    Cincap

  5. #5
    Membre Expert
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 288
    Par défaut
    Pardon de me citer et redire :

    Citation Envoyé par Droïde Système7 Voir le message
    Ce serait une sorte de "vitre" devant le RichEdit quoi
    Le RichEdit débite des infos en cascade.

    Autre qu'une "vitre" devant ; c'est voué à l'échec !

    J'ai joué de multiples façons au niveau du focus (refouler le curseur) et virer le caret.

    Mais c'est seulement fiable à 97% environ.

    Je demande confirmation s'il est possible ou non de placer devant un RichEdit une TImage.

    Car je pensais bien que c'était possible, mais je n'y arrive pas.

    Avez-vous au moins testé cette basic manip ?

    (Mais je vais relire ce soir vos réponses à tête reposée, merci)

  6. #6
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 154
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 154
    Par défaut
    Salustre, ô Droïde
    Citation Envoyé par Droïde Système7 Voir le message
    Car je pensais bien que c'était possible, mais je n'y arrive pas.
    Et avec une seconde Form sans bordures sans boutons sans rien, juste avec ton image et bien sûr en StayOnTop (ou qqchse du même style) ?
    Bon, je ne peux rien tester, ch'suis au taf, là, et on n'a pas notre IDE préféré,

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    410
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 410
    Par défaut
    cadeau va voir ici télécharge TStretchHandle, c'est le composant TGlassButton livré avec qu'il te faut, tu le poses sur ton TRichEdit et c'est bon, tu dois juste faire en sorte qu'il n'ait pas la focalisation sans oublier de mettre TabStop à false

    j'ai testé rapidement cela semble fonctionnel...

  8. #8
    Membre Expert
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 288
    Par défaut
    @ Gilbert :
    Je vois qu'au moins une personne ici a tenté de mettre un TImage par dessus un RichEdit

    @ cincap :
    Tu disais :
    le but est de pouvoir lire le texte de ton Richedit et d'empécher de le modifier ?
    Si oui, place ton TRicheEdit sur un TPanel et joue avec la propriété "enabled" du TPanel pour empêcher le curseur de modifier celui ci.
    Si j'ai bien compris ta question
    Oui tu as bien pigé. Mais c'est moi qui ne pige pas ta ruse via un Panel qui empêcherait le curseur d'entrer en RichEdit

    @ Jipété :
    Hello ô jp, pas mal ton idée de seconde Form qui viendrait en "vitre" sur mon fichu RichEdit. Au moins le compo est déjà dans la boite

    @ exoseven :
    Hé oui pas mal ton lien, et surtout le compo en question transparent. Si je ne trouve rien de mieux que la ruse à Jipété, je vais me rabattre dessus. J'ai ajouté le lien de ce site dans mes favoris : tout plein de compo super intéressants !

    Merci @ tous, je vais tester tout ça et voir ça en prenant un peu de recul.

    Autrement dit, la question soumise en ce thread, donne en réponse = non, pas possible de mettre un TImage devant un RichEdit.
    Si besoin est, alors j'aurais le recours à un compo tiers ; mais ce sera alors contraint et forcé.

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 614
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 614
    Par défaut
    Bonjour à toutes et à tous,

    @ Droïde Système7,

    Oui tu as bien pigé. Mais c'est moi qui ne pige pas ta ruse via un Panel qui empêcherait le curseur d'entrer en RichEdit
    En fait cette astuce empéchait de modifier le texte tout en ayant la fonctionnalité du TRichEdit.

    C'est vrai que cette astuce est plutôt orientée avec un TEdit en gardant le texte de couleur par défaut plutôt que d'être enabled.

    Au fait, Je pensais que ton topic était résolu depuis le 22\03\2010

    http://www.developpez.net/forums/d89...ucher-curseur/

    Il semble que cette manip sous le OnMouseMove réussisse :

    Code :
    Editor.SelStart := length(Editor.Text);
    Et si au passage du curseur sur le TRichEdit, tu donnais le focus à un TButton (b1) Width = 1 et height = 1 qui serait caché sur ta fiche ! (visible à true !) ou réduit dans le coin de ta fiche.

    Ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    procedure TForm1.RichEdit1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
    b1.SetFocus ;
    RichEdit1.cursor := crno;
    end;
    J'ai testé et j'obtiens un bon compromis, faut voir avec le défilement !

    @+,

    Cincap

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

Discussions similaires

  1. Placer du texte par dessus un élément type "header slider"
    Par Dr.Wily dans le forum Webdesign & Ergonomie
    Réponses: 1
    Dernier message: 23/03/2012, 11h08
  2. Réponses: 3
    Dernier message: 29/10/2010, 10h01
  3. Placer une infobulle par dessus des éléments dynamiques
    Par webtheque dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/06/2008, 14h10
  4. Placer une étiquette par dessus une progressbar
    Par hannii dans le forum Access
    Réponses: 1
    Dernier message: 20/02/2007, 15h04
  5. [débutant]Placer une image par dessus une autre
    Par sempire dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 21/11/2005, 18h42

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