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

C# Discussion :

Récupérer/définir la position d'une scrollbar


Sujet :

C#

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 86
    Points : 81
    Points
    81
    Par défaut Récupérer/définir la position d'une scrollbar
    Bonjour,

    Je souhaite récupérer la position de la scrollbar vertical d'une RichTextBox pour la sauver et la replacer ensuite à son ancienne position.

    J'ai trouvé un code (ci-dessous) pour récupérer et imposer une position à une scrollbar, mais le problème, c'est que le code utilise l'API Win32 et je dois donc compiler le projet en "unsafe" (et je pense aussi que ça doit pas être multi-platforme).

    Est-ce qu'il existe une méthode plus "propre" pour faire la même chose en C#.

    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
    24
    25
    26
    27
    28
    29
    30
     
      [DllImport("user32")]
            public static extern int SendMessage(HWND hwnd, int wMsg, int wParam, IntPtr lParam);
            [DllImport("user32")]
            public static extern int PostMessage(HWND hwnd, int wMsg, int wParam, int lParam);
     
            public const int WM_USER = 0x400;
            public const int EM_GETSCROLLPOS = (WM_USER + 221);
            public const int EM_SETSCROLLPOS = (WM_USER + 222);
     
            [StructLayout(LayoutKind.Sequential)]
            public struct POINT
            {
                public int x;
                public int y;
            }
     
            public unsafe POINT GetScrollPos()
            {
                POINT res = new POINT();
                IntPtr ptr = new IntPtr(&res);
                SendMessage(Handle, EM_GETSCROLLPOS, 0, ptr);
                return res;
            }
     
            public unsafe void SetScrollPos(POINT point)
            {
                IntPtr ptr = new IntPtr(&point);
                SendMessage(Handle, EM_SETSCROLLPOS, 0, ptr);
            }
    Merci.

  2. #2
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 218
    Points : 247
    Points
    247
    Par défaut
    Sous VS 2005 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ Page MaintainScrollPositionOnPostback="true" %>

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 86
    Points : 81
    Points
    81
    Par défaut
    Ca ne ressemble pas à du C# ?

  4. #4
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Citation Envoyé par greg2
    Ca ne ressemble pas à du C# ?
    ça ressemble surtout à de l'ASP.NET...
    Tu parlais d'une ScrollBar Winforms pour ton problème, non ?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 86
    Points : 81
    Points
    81
    Par défaut
    > Tu parlais d'une ScrollBar Winforms pour ton problème, non ?

    Oui. Pour un RichTextBox.

Discussions similaires

  1. Mémoriser la position d'une ScrollBar
    Par Arcann dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 05/02/2008, 10h20
  2. [LabView 8.2] Définir la position d'une face avant
    Par Gaorr dans le forum LabVIEW
    Réponses: 10
    Dernier message: 04/01/2008, 18h32
  3. Réponses: 1
    Dernier message: 08/01/2007, 16h47
  4. Réponses: 4
    Dernier message: 22/08/2005, 19h19
  5. Position d'une ScrollBar dans un TRichEdit (ou TMemo)
    Par Troll dans le forum C++Builder
    Réponses: 9
    Dernier message: 24/02/2005, 15h18

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