begin process at 2012 05 30 19:57:14
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

GUI

 > 

[Win32] Comment combiner status bar et scroll bar ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[Win32] Comment combiner status bar et scroll bar ?

mercredi 29 novembre 2006 à 15:23:44 | [Win32] Comment combiner status bar et scroll bar ?

beausoleil

Bonjour à tous,

Voilà mon problème : je cherche à créer une fenêtre possédant à la fois une barre d'état et des barres de défilement.

Je crée ma fenêtre ainsi :
hWnd = CreateWindowEx( WS_EX_APPWINDOW, "ab_class", "ab_app",
        WS_OVERLAPPEDWINDOW | WS_VSCROLL | WS_HSCROLL | WS_VISIBLE,
        CW_USEDEFAULT, CW_USEDEFAULT, 800, 600,
        NULL, NULL, hInstance, NULL ) ;

(notez WS_VSCROLL | WS_HSCROLL qui me permettent d'avoir les scroll bars)

et j'ajoute la barre d'état :
  hWndStatus = CreateWindowEx( 0, STATUSCLASSNAME, "status en cours",
                              WS_CHILD | WS_VISIBLE,
                              0, 0, 0, 0,
                               hWnd, 0, hInstance, NULL);

Le problème est qu'alors la barre de status se trouve insérée dans la zone client (comme marqué dans la doc, ce n'est pas le problème) mais du coup, elle est placée AU DESSUS de la scroll bar horizontale du bas !!!

Comment faire pour placer ma barre d'état tout en bas de la fenêtre :
- faut-il renoncer aux propriétés WS_VSCROLL | WS_HSCROLL, puis insérer des scroll bar manuellement et gérer leur positionnement ?
- ou peut-on créer une "fenêtre intermédiaire" comportant les propriétés WS_VSCROLL | WS_HSCROLL, insérée dans la zone client de la fenêtre principale, qui elle ne comportera alors que la barre de status ?
- ou autre chose...???

J'ai bien tenté la seconde solution, mais je n'arrive à créer de fenêtre intermédiaire...

Merci à vous, déjà si vous êtes arrivé jusque là , et surtout si vous avez un moment à consacrer à mon problème.

Christophe
mercredi 29 novembre 2006 à 17:05:01 | Re : [Win32] Comment combiner status bar et scroll bar ?

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
La solution que je préfère:
Une fenêtre globale qui contient:
  - 1 fenêtre qui a la ScrollBar (donc qui aussi le style WS_CHILD)
  - 1 status bar

hWnd = CreateWindowEx( WS_EX_APPWINDOW, "ab_class", "ab_app",
        WS_OVERLAPPEDWINDOW | WS_VSCROLL | WS_HSCROLL | WS_VISIBLE,
        CW_USEDEFAULT, CW_USEDEFAULT, 800, 600,
        NULL, NULL, hInstance, NULL ) ;

hWndScroll = CreateWindowEx( 0, "???", "status en cours",
                              WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_HSCROLL,
                              0, 0, 0, 0,
                               hWnd, 0, hInstance, NULL);

hWndStatus = CreateWindowEx( 0, STATUSCLASSNAME, "status en cours",
                              WS_CHILD | WS_VISIBLE,
                              0, 0, 0, 0,
                               hWnd, 0, hInstance, NULL);

Quand hWnd recoit un WM_SIZE, tu redimensionnes hWndScroll et hWndStatus

_____________________________________
Un éditeur de ressources gratuit pour Windows

jeudi 30 novembre 2006 à 08:49:55 | Re : [Win32] Comment combiner status bar et scroll bar ?

beausoleil

Hum, merci beaucoup !!!

J'ai dû "bricoler" un peu pour y arriver, mais j'ai fini par obtenir quelque chose, y compris sur des fenêtres filles type MDI. Je dois encore améliorer la gestion des messages, car ma fenêtre ne s'affiche pas bien au départ, mais ce ne doit pas être grand chose à priori.

Encore merci pour ta réponse, aussi rapide que pertinente !!! Je profite aussi de l'occasion pour dire bravo et merci pour ce site d'une telle richesse.

A+

Christophe



Cette discussion est classée dans : bar, fenêtre, scroll, ws, status


Répondre à ce message

Sujets en rapport avec ce message

Problème scroll bar [ par lma ] Je souhaite integrer une scroll bar pour faire varier une valeur.Quand je bouge le curseur avec la souris çà marche mais quand j'appuie sur les bouton status bar et progress bar (win32) [ par Elendal ] J'ai créé une status Bar en deux parties.Dans la première partie, j'affiche du texte. Là pas de problème.Dans la deuxième par contre, je voudrais mett Status bar probleme!!! [ par frdestroyers27 ] Salut a tous!mon probleme est le suivant:j'ai creer un status bar a 4 sectionj'ecrit quelque chose dans la deuxieme section et quand je reecrit quelqu Scroll Bar Utilisation help [ par PsYKrO ] Salut!J'ai coché en option dans les propriétés de ma fenetre pop up et dans Styles j'ai coché Vertical Scroll. Je vois bien ma scroll bar qui s'affich ProgressBar dans Status Bar [ par thierry la fronde ] Salut,J'ai vu il y a quelque temps un source pour mettre une barre de progression dans la barre d'état. Quelqu'un saurait-il ? Scroll bar horizontal dans une list box [ par maxpog23 ] Salut,Je developpe une appli WIN32 et jai un ptit pb:Est-ce que qqun peut me dire pourquoi la scrollbar horizontal n'apparait pas quand un element de Rafraichir une fenêtre [ par El Rabou ] Bonjour a tous.Voilà j'ai fait une appli MFC qui comprend une progress bar mise a jour avec StepIt( ) en suivant une boucle qui gère un envoi de donné Lier une scroll bar et une edit box C++ [API] [ par keenrather ] Bonjour à tous,Je suis sur un projet en C++ (langage que je découvre) sous Visual C++ 6 et je rencontre un problème pour lier une scroll bar et une ed Scroll listbox [ par c2millet ] BonjourVoilà mon pb: G créé dans une fenetre une listbox et g bien le scroll vertical, mais je n'ai pas le scroll horizontal qd mon texte et + grand q ListView scrollable [ par minet03 ] Coucou J'ai fais un ListView dans une fenêtre, lorsque que la fenêtre change de taille, le ListView change de taille aussi pour qu'il fasse tout le te


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,733 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales