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

MFC Discussion :

[WIN32]tabulation dans une listbox


Sujet :

MFC

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 8
    Points : 7
    Points
    7
    Par défaut [WIN32]tabulation dans une listbox
    Je cherche a aligner mes resultats qui apparaissent dans une listbox, mais je n arrive pas a tabuler.
    C est une listbox contenant des string (LBS_HASSTRNG) et je la rempli comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int i;
    char *buf, *tamp;
    ...
    sprintf ( tamp , " %s\t%d ", buf , i);			    
    SendMessage( listhWnd , LB_ADDSTRING , (WPARAM) 0, (LPARAM) tamp);
    a l' arrivée au lieu d une tabulation j ai le caractere |

    j ai lu certaines choses disant qu il fallait utiliser \r\t pour que windows comprenne et j ai essayé mais cela ne marche pas et donne "||"

    ( je signale que je n utilise pas les MFC )
    [Balises rajoutées et titre modifié par FARSCAPE : Merci ]

  2. #2
    Futur Membre du Club
    Inscrit en
    Avril 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    oui bon j ai oublié les balises de code donc je rectifie

    Je cherche a aligner mes resultats qui apparaissent dans une listbox, mais je n arrive pas a tabuler.
    C est une listbox contenant des string (LBS_HASSTRNG) et je la rempli comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int i; 
    char *buf, *tamp; 
    ... 
    sprintf ( tamp , " %s\t%d ", buf , i); 
    SendMessage( listhWnd , LB_ADDSTRING , (WPARAM) 0, (LPARAM) tamp);
    a l' arrivée au lieu d une tabulation j ai le caractere |

    j ai lu certaines choses disant qu il fallait utiliser \r\t pour que windows comprenne et j ai essayé mais cela ne marche pas et donne "||"


    ( je signale que je n utilise pas les MFC )

  3. #3
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    il faut que la listbox utilise le style LBS_USETABSTOPS
    et preciser la largeur de chaque colonne en pixels:
    en envoyant le message LB_SETTABSTOPS avec un tableau de int
    extrait doc MSDN:
    LB_SETTABSTOPS Message
    An application sends an LB_SETTABSTOPS message to set the tab-stop positions in a list box.

    Syntax

    To send this message, call the SendMessage function as follows.

    lResult = SendMessage( // returns LRESULT in lResult
    (HWND) hWndControl, // handle to destination control
    (UINT) LB_SETTABSTOPS, // message ID
    (WPARAM) wParam, // = (WPARAM) () wParam;
    (LPARAM) lParam // = (LPARAM) () lParam;
    );

    Parameters

    wParam
    Specifies the number of tab stops in the list box.
    lParam
    Pointer to the first member of an array of integers containing the tab stops. The integers represent the number of quarters of the average character width for the font that is selected into the list box. For example, a tab stop of 4 is placed at 1.0 character units, and a tab stop of 6 is placed at 1.5 average character units. However, if the list box is part of a dialog box, the integers are in dialog template units. The tab stops must be sorted in ascending order; backward tabs are not allowed.
    il faut utiliser "\t" pour separer les colonnes par \r

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

Discussions similaires

  1. Tabulation dans une form avec entrée
    Par Cl@rk dans le forum Windows Forms
    Réponses: 4
    Dernier message: 23/05/2008, 12h09
  2. [VB.NET] Tabulation dans une console
    Par jacma dans le forum Windows Forms
    Réponses: 5
    Dernier message: 30/09/2004, 09h50
  3. [debutant] supprimer elements dans une listbox
    Par F.F. dans le forum C++Builder
    Réponses: 8
    Dernier message: 02/07/2004, 11h38
  4. Icône a coté du texte dans une ListBox
    Par joce3000 dans le forum C++Builder
    Réponses: 6
    Dernier message: 05/12/2003, 02h25
  5. Tabulation dans une zone SELECT
    Par jfphan dans le forum ASP
    Réponses: 4
    Dernier message: 03/10/2003, 15h30

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