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

Langage Delphi Discussion :

Problème d'affichage de fenêtres


Sujet :

Langage Delphi

  1. #1
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 153
    Points : 73
    Points
    73
    Par défaut Problème d'affichage de fenêtres
    Bonjour,

    Je suis confronté à des problèmes d'affichage de mon application (voir image jointe) en particulier des "morceaux de scrollbars" persistants
    à l'affichage tant que l'on n'est pas sorti de l'application.

    Un petit mot sur l'application et ce qui est montré dans l'image : il s'agit d'un petit éditeur qui permet d'éditer des scripts DWS (Delphi Web Script)
    de les compiler et de les exécuter. Les différentes fenêtres composant l'éditeur (fenêtre d'édition : TSynEdit, Logs de compilation et d'exécution)
    sont séparées par des "TSplitters".

    J'avoue avoir recherché sur le site "Développez" ou sur d'autres sites, en particulier anglophones, mais j'ai du mal à trouver les bons mots clés pour décrire précisément la situation.

    Nom : affichage remanent.JPG
Affichages : 643
Taille : 47,1 Ko

    Contexte :

    • Windows 7 Entreprise
    • Delphi XE7 Entreprise

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Tant que l'on ne voit pas un tant soit peu comment vos "fenêtres" sont créées et entassées, si tant est qu'il s'agisse de fenêtres (TForm) et non de cadres (TFrame) ou d'objets, que l'on ne sait pas de quel framework il s'agit (VCL ou FMX) impossible de répondre
    de plus, l'utilisation d'un composant tiers n'aide pas
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 153
    Points : 73
    Points
    73
    Par défaut
    Le FrameWork utilisé est la VCL sur Windows 32

    Il s'agit d'une application développée depuis une vingtaine d'année sur Windows NT à l'origine, portée sur XP puis Windows 7.

    Les composants tiers utilisés sont :

    • TSynEdit (éditeur de code bien connu des développeurs Delphi)
    • TWebScript (qui ne fait aucun affichage)



    Pour ce qui est de l'agencement des fenêtres on a :

    • un empilement de Page à onglets TPageControl/TTabSheet
    • L'éditeur est défini dans un cadre qui est collé sur un Onglet lors de l'exécution.



    Ce problème d'affichage est apparu depuis que je suis passé à Windows Seven
    Il est assez aléatoire

    ...

  4. #4
    Invité
    Invité(e)
    Par défaut
    sais-tu d'où vient cette scrollbar, c'est toi qui l'ajoute ?
    On dirait juste un mauvais encrage.

  5. #5
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    J'ai aussi eu ce phénomène avec un Splitter par contre au premier clic dans la zone, le dessin est refait et cela disparait
    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

  6. #6
    Membre averti Avatar de franckcl
    Homme Profil pro
    Developpeur Delphi
    Inscrit en
    Septembre 2004
    Messages
    516
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Developpeur Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 516
    Points : 443
    Points
    443
    Par défaut
    A quel moment apparait ce problème d'affichage ? lorsque tu déplaces un splitter ? ou dès que la fenêtre est affichée ? ou lorsque tu saisies du texte dans l'éditeur ?
    Si c'est lors du déplacement d'un splitter, as tu essayé de changer la propriété ResizeStyle du splitter (rsPattern, rsUpdate...etc)
    Tu peux aussi, renseigner l'évènement OnMoved ou OnPaint du splitter pour forcer le re-dessin de l'éditeur.

    Franck

  7. #7
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 153
    Points : 73
    Points
    73
    Par défaut
    Comme un fait exprès le phénomène ne s'est pas reproduit depuis que j'ai démarré la discussion !

    Quand le phénomène apparaît "l'espèce de scrollbar surgissant" ne disparaît qu'après avoir complètement quitté l'application.

    Le "surgissement" peut se produire à différent moments :
    • déplacement des scrollbars
    • maximization de la fenêtre


    En simplifiant, le comportement de l'interface est le suivant :

    • J'ai un "PageControl" sur la fiche
    • Un premier onglet avec une liste de fichiers (des scripts DWS)
    • Quant l'utilisateur ouvre l'un de ces fichiers un second onglet est affiché faisant apparaître l'éditeur montré dans l'image jointe à mon premier post


    • L'éditeur est défini dans un cadre qui est posé sur le second onglet au runtime
    • La fenêtre haut/gauche de ce cadre est un nouveau PageControl : un script peut avoir des dépendances (include) qui peuvent ainsi être montrés dans les différents onglet de ce PageControl...




    .La fenêtre du bas de l'éditeur est un "TMemo"
    .Les scrollbars de l'éditeur dans la fenêtre haut/gauche sont ceux d'un "TSynEdit" (rendus visibles par une propriété lors de la conception de même que pour les TMemo).


    Je me suis parfois demandé si ça ne pouvait pas être lié à l'utilisation d'un fond d'écran avec les "glass thèmes Windows"..

  8. #8
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 153
    Points : 73
    Points
    73
    Par défaut
    Suite de l'aventure...

    Mon éditeur est doté d'un système qui réagit à la modification du fichier en cours d'édition par un autre éditeur/outil.
    J'ai fini par me rendre compte que le bug d'affichage se produisait lors de mon opération de mise à jour suite à cette modification externe.

    Dans l'image ci-dessous je précise l'aspect graphique de l'éditeur

    Nom : Editeur.JPG
Affichages : 508
Taille : 56,6 Ko

    Le "TRichEdit" placé sur la fiche d'édition est masqué à l'utilisateur (il me sert à faire différentes manipulations sur le texte...)
    Lorsque le fichier en cours d'édition est modifié je le recharge à la fois dans la fenêtre du haut (de type TSynEdit) et dans le TRichEdit.

    J'ai résolu mon problème d'affichage en passant la valeur de la propriété "Scrollbars" du TRichEdit de "ssVertical" à "ssNone" !?

    Depuis la correction je n'ai plus eu cet affichage défaillant

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

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