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

Composants FMX Delphi Discussion :

[Delphi rio 10.3.3] Comment avoir un scrollbar sur un stringgrid


Sujet :

Composants FMX Delphi

  1. #1
    Membre extrêmement actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    1 783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 1 783
    Points : 5 727
    Points
    5 727
    Par défaut [Delphi rio 10.3.3] Comment avoir un scrollbar sur un stringgrid
    Je ne pensais par avoir à poser une question aussi bête un jour... Et pourtant...

    Alors qu'il fallait simplement régler une propriété dans l'inspecteur d'objet pour un stringgrid en VCL, comment fait-on pour un stringgrid en FMX???


    Embarcadero ferait bien de prendre un peu plus au sérieux sa documentation. Parce que à force d'être confronté à de la doc incomplète qui précise que l'utilisateur peut aider Embarcadero à compléter sa doc de m... et à un manque complet de tout exemple de code (qu'elle est loin la période bénie de la doc de Delphi7!!!), ils vont inciter les développeurs Delphi les plus fidèles à jeter leur produit à la poubelle!

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    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 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Je passe le fait de la mauvaise humeur

    Déjà je répondrai que FMX est du multi plateforme et que la ScrollBar n'a absolument pas le même comportement selon la cible ce qui n'est pas sans arrachage de cheveux à cause de sa disparition si la grille n'est pas le composant actif (je crois qu'il y a déjà eu un post à ce sujet), tout comme la largeur souhaitée (pendant que j'y pense, un style personnalisé pourrait peut-être y faire quelque chose)

    Ensuite, je l'avoue :
    je ne comprend pas totalement la demande (de quel scrollbar s'agit-il vertical/horizontal) ?
    je n'utilise pratiquement plus les TStringgrids ni même les TGrids et préfère les TListView quel serait l'objectif (une image écran de ce qui serait voulu en VCL vs FMX ?)
    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 expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    Côté doc, y a des efforts qui sont faits mais il y a toujours des manques, n'hésite pas à ouvrir des tickets d'incident à partir des pages de documentation que tu juges incomplètes ou qui sont vides afin de leur rappeler qu'un petit quelque chose serait utile. Il y a un lien QP en bas de chaque page du docwiki pour ça.

    Vérifie aussi la page en anglais, il y a parfois des écarts dans la traduction même s'ils tentent d'éviter les loupés et que tout soit synchronisé.

    Concernant ton problème plus direct, la grille devrait avoir les ascenseurs automatiques horizontalement et verticalement si son contenu déborde d'un côté ou de l'autre.

    Dans quelle version es-tu ?
    Est-ce que si tu ajoutes une TStringGrid à une fiche et y insère des colonnes les ascenseurs apparaissent bien dans l'IDE ?

  4. #4
    Membre extrêmement actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    1 783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 1 783
    Points : 5 727
    Points
    5 727
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Ensuite, je l'avoue :
    je ne comprend pas totalement la demande (de quel scrollbar s'agit-il vertical/horizontal) ?
    je n'utilise pratiquement plus les TStringgrids ni même les TGrids et préfère les TListView quel serait l'objectif (une image écran de ce qui serait voulu en VCL vs FMX ?)
    Hello,

    J'utilise un stringgrid pour afficher un tableau de données et je parles des scrollbar vertical et horizontal qui permettent à l'utilisateur de visualiser des données qui ne sont pas accessibles parce que la zone d'affichage n'est pas suffisante pour afficher tout le tableau (exemple ci-dessous)!

    Nom : stringgrid-vcl-avec-scrollbar.png
Affichages : 716
Taille : 12,9 Ko

    Je n'utilise pas les TListView. Est-ce que la notion de scrollbar existe pour ce type de compo?

    Merci pour la réponse

  5. #5
    Membre extrêmement actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    1 783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 1 783
    Points : 5 727
    Points
    5 727
    Par défaut
    Citation Envoyé par pprem Voir le message
    Côté doc, y a des efforts qui sont faits mais il y a toujours des manques, n'hésite pas à ouvrir des tickets d'incident à partir des pages de documentation que tu juges incomplètes ou qui sont vides afin de leur rappeler qu'un petit quelque chose serait utile. Il y a un lien QP en bas de chaque page du docwiki pour ça.

    Vérifie aussi la page en anglais, il y a parfois des écarts dans la traduction même s'ils tentent d'éviter les loupés et que tout soit synchronisé.

    Concernant ton problème plus direct, la grille devrait avoir les ascenseurs automatiques horizontalement et verticalement si son contenu déborde d'un côté ou de l'autre.

    Dans quelle version es-tu ?
    Est-ce que si tu ajoutes une TStringGrid à une fiche et y insère des colonnes les ascenseurs apparaissent bien dans l'IDE ?
    Hello,

    Merci pour ta réponse.

    Avec Delphi Rio 10.3.3, j'ai ajouté un TStringgrid FMX sur une fiche pour une app Android. Les données dépassent mais les ascenseurs n'apparaissent pas!

    Si je code "StringGrid1.EnabledScroll:=true;", il y a un pseudo-fonctionnement de scrollbar: Il faut garder le doigt pressé sur l'entête du tableau (et pas sur une ligne de données)>>>Il apparait alors une ligne grise sur le côté du tableau qui laisse à penser qu'il y a quelque chose à scroller >>> je glisse le doigt sur l'écran et je peux "scroller" vers le haut ou le bas pour afficher les lignes qui n'apparaissaient pas.

    Où est le problème? Il y a tout simplement pas la moindre chance que l'utilisateur lambda comprenne qu'il y a des données à scroller et comment faire pour scroller!!!

    ***

    Concernant la doc Delphi avec une multitude de phrases magiques "Embarcadero n'a pas d'info sur la propriété X ou Y", c'est tout simplement scandaleux! Comment peut-on défendre un produit comme Delphi qui coûte la peau des fesses avec ce genre d''approche quand un Lazarus gratos est parfaitement documenté???

    C'est tout simplement du "foutage de gueule"! Je viens de revoir une facture de plusieurs milliers d'euro pour l'abonnement à Delphi et franchement je me demande si cela vaut la peine de continuer avec une entreprise qui méprise ses clients!

    Et surtout que personne me vende le balabla marketing "oui mais avec Delphi, on a un gros gain de productivité". Quand tu dois perdre des heures sur le web a chercher ce que Embarcadero n'explique pas dans sa doc (pour certains sujets, j'ai trouvé des réponse sur des sites ukrainiens et japonais... Merci à google translate), la productivité tu la trouves chez Lazarus avec la gratuité en plus!

  6. #6
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 664
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 664
    Points : 6 961
    Points
    6 961
    Par défaut
    Citation Envoyé par pprem Voir le message
    Côté doc, y a des efforts qui sont faits
    Au bout de 15 ans, je ne les ai toujours pas vu.
    100 % d'accord avec Anselme45.
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. ___ Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.3.2 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.1 Entreprise
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.4)

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    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 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut
    Bonjour,
    Je n'utilise pas les TListView. Est-ce que la notion de scrollbar existe pour ce type de compo?
    que ce soit un TStringList, un TGrid, un TListBox ou un TListView je crois qu'ils ont le même descendant : un TScrollbox.
    Donc, pour répondre à la question, oui.

    j'ai ajouté un TStringgrid FMX sur une fiche pour une app Android. Les données dépassent mais les ascenseurs n'apparaissent pas!
    on y est, je t'avais répondu
    Citation Envoyé par SergioMaster
    Déjà je répondrai que FMX est du multi plateforme et que la ScrollBar n'a absolument pas le même comportement selon la cible
    Déjà s'il s'agit d'une cible Androïd, je reste ferme j'utiliserai ListView pour des données. Il ne vient pas à l'esprit de permettre de la saisie dans une Grille sous Android.

    Si je code "StringGrid1.EnabledScroll:=true;", il y a un pseudo-fonctionnement de scrollbar: Il faut garder le doigt pressé sur l'entête du tableau (et pas sur une ligne de données)>>>Il apparait alors une ligne grise sur le côté du tableau qui laisse à penser qu'il y a quelque chose à scroller >>> je glisse le doigt sur l'écran et je peux "scroller" vers le haut ou le bas pour afficher les lignes qui n'apparaissaient pas.
    toujours à mon avis, ton erreur est de vouloir un comportement et un interface "à la windows". Sinon c'est le comportement normal Android. N'utilisant pas Stringgrid pour une cible Android (et même windows désormais) je n'ai pas constaté le phénoméne 'garder le doigt sur l'entête'

    Il est possible que je me trompe complétement.
    Que la scrollbar se cache, il semblerait que ce ne soit pas Delphi le coupable mais le comportement Android "normal" vois-tu un ascenseur dans ta page paramètre de ton téléphone (ScrollBox ou ListBox) ou dans la liste des SMS (un TListView) ? AMHA non, sauf quand le doigt est dessus, une raison des doigts trop gros pour la glissière et pas de dispositif de pointage.

    Delphi tendant à faire de plus en plus de composants plateforme, je pense qu'il a été décidé de suivre le comportement de la plateforme.

    Où est le problème? Il y a tout simplement pas la moindre chance que l'utilisateur lambda comprenne qu'il y a des données à scroller et comment faire pour scroller!!!
    Si tu regardes certaines interface pour indiquer ce genre de choses il y a souvent un/des bouton/s genre page suivante/précédente et les données sont paginées

    Une solution ?
    A mon avis, bien qu'hier mes tentatives d'accès n'ont pas été couronnées de succès, tout se joue dans les styles (ne pas oublier que même si l'on en utilise pas il y a un style par défaut).
    Je n'ai pas non plus pris beaucoup de temps pour mes tests et n'ai pas vraiment fouillé dans les feuilles de styles, à mon avis il y a des triggers qui font le boulot de cacher/afficher les curseurs.
    Dans mes tests j'ai voulu directement accéder aux deux barres (HBar, VBar)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     var Alayout : TLayout
     StringGrid1.FindStyleResource<TLayout>('StrinGridStyle',aLayout) 
    // ou
    var T : TTrackBar          
    StringGrid1.FindStyleResource<TTrack>('StrinGridStyle.HTrack',aLayout)
    Mais non, j'ai une exception. Il faut dire que le style d'une grille est vraiment complexe, si j'arrive à accéder à des élements de style "simple", le style d'un grille est un ensemble composé at ça, je n'ai jamais tenté sauf hier .



    Et surtout que personne me vende le balabla marketing "oui mais avec Delphi, on a un gros gain de productivité".
    Pas d'accord, je ne fais pas de marketing et j'ai pu écrire aussi des programmes avec Lazarus. De mon expérience même en se basant sur D7 et ce pour des programmes de gestion je préfère D7. Je suis trop vite tombé sur des composants à faire à la main

    Concernant la doc
    Même si j'ai tendance à être de ton avis sur le "foutage de gueule" de "Embarcadero n'a pas d'info etc..", que la recherche d'information adéquate passe par des recherches web, dans les sources et dans les exemples fournis. Il faut raison garder. Selon mon expérience, et crois moi, des programmes de gestion j'en écris tout les jours, c'est quand on sort des sentiers battus que l'on se heurte à ce genre de message. Sur une forme "classique" de données à afficher je n'utilise que rarement la touche aide (le plus souvent pour le TPath de ioutils mais il y a de la doc et surtout le wiki) maintenant, oui, je m'en écarte régulièrement et là c'est de la plongée profonde, immersion dans les sources (exemple TPath de l'unité graphics, deux "composants" avec le même nom !)

    Oui c'est rageant (et tu es coutumier du fait) d'avoir un produit cher (enfin faut-il comparer ce qui est comparable) et qu'il y ait des lacunes de documentation (cite moi un truc qui n'en ai pas, ne me dit pas Lazarus ou alors c'est qu'il a beaucoup évolué depuis mes essais, et c'est grâce aux bénévoles).

    Parlons pro et relativisons le prix : Ramené à la journée de travail, ou plutôt à l'année : moins de 3€ pour Delphi (je ne parle pas de l'investissement initial mais de renouvellement sur la base d'une version Entreprise)
    Je t'arrête : je n'ai aucune action, revenu etc. de la part d'Embarcadero ou revendeurs et aucune contrainte genre MVP et donc garde mon droit à râler @quisesentvisé, c'et vraiment ce que je pense. Peut-être que dans moins de 1000 jours (je suis passé sous cette barre) commencerai-je à râler sur le prix du renouvellement, mais rien ne m'empêchera de continuer avec un "vieux" delphi et ce ne sera plus en tant que pro.
    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

  8. #8
    Membre extrêmement actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    1 783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 1 783
    Points : 5 727
    Points
    5 727
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Bonjour,
    Toujours à mon avis, ton erreur est de vouloir un comportement et un interface "à la windows". Sinon c'est le comportement normal Android. N'utilisant pas Stringgrid pour une cible Android (et même windows désormais) je n'ai pas constaté le phénoméne 'garder le doigt sur l'entête'
    Vu que le projet consiste à transposer une application windows existante en une version Android dans les plus brefs délais, j'avoue mon erreur d'être tenté d'aller au plus court sans remettre en question la logique de fonctionnement "windowienne"

    Citation Envoyé par SergioMaster Voir le message
    Que la scrollbar se cache, il semblerait que ce ne soit pas Delphi le coupable mais le comportement Android "normal"...

    Une solution ?
    A mon avis, bien qu'hier mes tentatives d'accès n'ont pas été couronnées de succès, tout se joue dans les styles (ne pas oublier que même si l'on en utilise pas il y a un style par défaut).
    Perso, je ne cherche pas des coupables mais des solutions. En l'état, Delphi propose un composant stringgrid FMX avec un fonctionnement "scrollbar" qui est tout simplement inutilisable dans le monde réel pour une app Android. Je suis de ton avis, il faut oublier cette solution.

    Citation Envoyé par SergioMaster Voir le message
    Concernant la doc
    Même si j'ai tendance à être de ton avis sur le "foutage de gueule" de "Embarcadero n'a pas d'info etc..", que la recherche d'information adéquate passe par des recherches web, dans les sources et dans les exemples fournis. Il faut raison garder. Selon mon expérience, et crois moi, des programmes de gestion j'en écris tout les jours, c'est quand on sort des sentiers battus que l'on se heurte à ce genre de message. Sur une forme "classique" de données à afficher je n'utilise que rarement la touche aide (le plus souvent pour le TPath de ioutils mais il y a de la doc et surtout le wiki) maintenant, oui, je m'en écarte régulièrement et là c'est de la plongée profonde, immersion dans les sources (exemple TPath de l'unité graphics, deux "composants" avec le même nom !)
    Désolé d'avoir à utiliser Delphi pour des projets nécessitant autre chose que des TLabel, Tedit et soyons fou des TPanel.

    Perso, j'ai un usage très large de Delphi (allant de la simple application "classique" au développement de protocole de communication, de logiciel de contrôle commande de processus industriel) et j'ai toujours été heureux de constater que Delphi me permettait de tout faire! C'est d'autant plus rageant de voir le comportement de Embarcadero.

    Quand on est une société de plus de 500 personnes, est-il trop demandé d'attendre qu'une dizaine de personnes soient dédiées à compléter la documentation au fil des années? Parce que je précise que les phrases magiques "Embarcadero ne dispose pas d'info sur la propriété X ou Y" ne se limitent pas à des composants exotiques et nouvellement ajoutés à Delphi!

    Citation Envoyé par SergioMaster Voir le message
    Oui c'est rageant (et tu es coutumier du fait) d'avoir un produit cher (enfin faut-il comparer ce qui est comparable) et qu'il y ait des lacunes de documentation (cite moi un truc qui n'en ai pas, ne me dit pas Lazarus ou alors c'est qu'il a beaucoup évolué depuis mes essais, et c'est grâce aux bénévoles).
    Fondamentalement, ce n'est pas un problème de prix. Le problème est que Embarcadero joue sur les 2 tableaux: Ils font dans le commercial et compte sur des bénévoles pour améliorer le produit qu'ils vendent!!!

  9. #9
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    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 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par Anselme45 Voir le message
    Désolé d'avoir à utiliser Delphi pour des projets nécessitant autre chose que des TLabel, Tedit et soyons fou des TPanel.
    je te pris de croire qu'il est loin d'y avoir que ça sur mes formes
    TPanel ouh le vieux reflexe il y a les TLayouts
    tu oublies la culture "presse-bouton" de mes utilisateurs
    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

  10. #10
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    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 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut Solution ?
    Pour en revenir à nos moutons (scrollbar) ce code fonctionne sous windows (ma grille étant carrément vide )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var T : TScrollBar;
    begin
    try
    StringGrid1.FindStyleResource<TScrollBar>('vscrollbar',T); // facile de deviner pour la barre horizontale  
    if Assigned(T) then T.Visible:=not T.Visible;
    except
    end;
    je n'ai pas (encore) testé sous Android (le scrollbar est plus petit que pour windows mais il est là )
    désolé l'image est un peu floue, ma version de Vysor n'était pas à jour
    Nom : Capture.PNG
Affichages : 661
Taille : 24,6 Ko
    en avoir un aussi large que windows doit être une chose possible (en triturant le style toujours)
    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

  11. #11
    Membre extrêmement actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    1 783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 1 783
    Points : 5 727
    Points
    5 727
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Pour en revenir à nos moutons (scrollbar) ce code fonctionne sous windows (ma grille étant carrément vide )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var T : TScrollBar;
    begin
    try
    StringGrid1.FindStyleResource<TScrollBar>('vscrollbar',T); // facile de deviner pour la barre horizontale  
    if Assigned(T) then T.Visible:=not T.Visible;
    except
    end;
    je n'ai pas (encore) testé sous Android (le scrollbar est plus petit que pour windows mais il est là )
    désolé l'image est un peu floue, ma version de Vysor n'était pas à jour
    J'ai testé ton code avec un "beau stringgrid" rempli de lignes que je n'arrive pas à afficher dans la zone à disposition et j'ai le résultat suivant :

    1. J'applique ton code et un petit trait gris apparait à la droite de la 1ère ligne de données du stringgrid

    2. Impossible de scroller le stringgrid par ce moyen

    3. Par contre, si je garde le doigt pressé sur l'entête des colonnes du stringgrid, il apparait juste à la gauche de ton trait le pseudo scrollbar (la même ligne grise, même largeur, mais avec une longueur qui couvre une dizaine de lignes du stringgrid) et en glissant le doigt vers le haut je "scroll" en affichant les lignes en fin de stringgrid. A remarquer que ce comportement (presser sur l'entête du stringgrid pour scroller) semble être le comportement par défaut parce que j'ai ce comportement après avoir supprimé le code que j'avais essayé pour gérer les scrollbar.

  12. #12
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    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 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Certains diront que je suis têtu je répondrai que je ne suis qu'opiniâtre
    Bref j'ai surtout voulu comprendre
    Il faut garder le doigt pressé sur l'entête du tableau (et pas sur une ligne de données)
    ce que je n'ai pas constaté (t'as de gros doigts tu sais )
    Nom : Capture.PNG
Affichages : 636
Taille : 95,2 Ko
    par contre oui, mon idée de montrer quand même le scrollbar via le style était un peu loufoque. Bien que cela puisse donner une indication qu'il y ait quelque chose à faire défiler, il n'y a pas calcul de hauteur ni de position et, oh surprise sous Android on voit effectivement le "vrai" scrollbar à côté.

    Cependant je suis sûr qu'un utilisateur préféra cette présentation en TListView (non peaufinée pour ce qui est de la surface et de la population) à l'écran StringGrid
    Nom : Capture_1.PNG
Affichages : 637
Taille : 158,4 Ko
    Tu y noteras une recherche sans une once de code supplémentaire
    N.B. il m'a été impossible de trouver un VScrollbar dans le style du TListview
    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

  13. #13
    Membre extrêmement actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    1 783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 1 783
    Points : 5 727
    Points
    5 727
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Certains diront que je suis têtu je répondrai que je ne suis qu'opiniâtre
    Bref j'ai surtout voulu comprendre
    ce que je n'ai pas constaté (t'as de gros doigts tu sais )
    Perso, je suis têtu, opiniâtre avec de gros doigts!

    Je te confirme que dans mon app, je peux poser mon doigt délicat sur n'importe quel ligne de données de mon stringgrid, cela ne fait pas apparaître les scrollbars "made in Android". Ils apparaissent seulement quand je touche la ligne d'entête du stringgrid et je peux "scroller". Peut-être que c'est dû au fait que les lignes de données du stringgrid ne sont pas éditables.

    Têtu, opiniâtre avec de gros doigts... Mais ouvert aux solutions nouvelles! Je vais tester la solution TListView pour voir si son usage est adapté à mon app.

    Merci encore pour ton aide.

  14. #14
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    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 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut
    Re,
    Citation Envoyé par Anselme45 Voir le message
    Peut-être que c'est dû au fait que les lignes de données du stringgrid ne sont pas éditables.
    ça c'est une donnée que je n'avais pas en possession, effectivement pour ce test rapide, j'ai laissé en mode "editable"

    Têtu, opiniâtre avec de gros doigts... Mais ouvert aux solutions nouvelles! Je vais tester la solution TListView pour voir si son usage est adapté à mon app.
    l'essayer c'est l'adopter (je crois) mais tu vas certainement pas mal pester si tu utilises le mode Dynamique (comme dans cette "démo") il faut un temps "d'adaptation" pour en comprendre le mode conception. Au besoin j'ai gardé le source

    Merci encore pour ton aide.
    un plaisir j'ai pu jouer un peu avec les styles et l'application sur ces scrollbars
    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

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

Discussions similaires

  1. Comment avoir des informations sur une table ?
    Par Shogun dans le forum Oracle
    Réponses: 2
    Dernier message: 09/01/2007, 15h40
  2. [Forum][Conseil] Comment avoir un forum sur mon site ?
    Par jessi dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 02/11/2006, 21h07
  3. Comment avoir le WiFI sur WINDOWS 2000?
    Par chevy dans le forum Windows Serveur
    Réponses: 6
    Dernier message: 07/03/2006, 14h50
  4. Comment avoir une référence sur une Vue
    Par Philippe299 dans le forum MFC
    Réponses: 1
    Dernier message: 12/08/2005, 10h03
  5. Comment avoir des information sur une BD?…
    Par kikimnet dans le forum Bases de données
    Réponses: 1
    Dernier message: 12/02/2005, 09h20

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