Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1309 connectés 

  FORUM HardWare.fr
  Programmation

  [Win] J'arrive pas à faire marcher les scroll bars

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Win] J'arrive pas à faire marcher les scroll bars

n°46798
Alload
Posté le 15-07-2001 à 18:25:58  profilanswer
 

J'aimerais implémenter des scroll bars dans mon application Win 32, j'ai lu la doc SDK de Microsoft. Ca avait l'air assez simple, mais mon code ne marche pas du tout...
:(
 
En fait les scroll bars s'affichent, mais leurs positions se remettent remettent toujours à celle par défaut après leur utilisation.
 
Voilà le code qui me sert pour la barre horizontale:
 
 
//Variables globales
SCROLLINFO si;
 
short nScreenMaxX;   //Largeur maximum de la fenêtre en pixel
short nScreenMaxY;   //Hauteur maximum de la fenêtre en pixel
 
short nScrollX = 0;   //Position x du scrolling
short nScrollY = 0;   //Position y du scrolling
 
 
//Code situé dans la fonction traitant les messages Windows
case WM_SIZE:
  {
   nScreenMaxX = LOWORD(lParam);
   nScreenMaxY = HIWORD(lParam);
 
   si.cbSize = sizeof(SCROLLINFO);
   si.fMask = SIF_ALL;
   si.nMin = 0;
   si.nMax = nScreenMaxX;
   si.nPage = 50;
   si.nPos = nScrollX;
   SetScrollInfo(hWnd, SB_HORZ, &si, true);
 
   si.nMax = nScreenMaxY;
   si.nPage = 50;
   si.nPos = nScrollY;
   SetScrollInfo(hWnd, SB_VERT, &si, true);
 
   InvalidateRect(hWnd, NULL, true);
   return 0;
  }
 
 case WM_HSCROLL:
  {
   short nInc;
   switch (LOWORD(wParam))
   {
   case SB_PAGEUP:
    { nInc = si.nPage; }
   case SB_PAGEDOWN:
    { nInc = -si.nPage; }
   case SB_LINELEFT:
    { nInc = -1; }
   case SB_LINERIGHT:
    { nInc = 1; }
   case SB_THUMBTRACK:
    { nInc = HIWORD(wParam) - nScrollX; }
   default:
    { nInc = 0; }
   }
   nScrollX += nInc;
   si.nPos = nScrollX;
   SetScrollInfo(hWnd, SB_HORZ, &si, true);
 
   InvalidateRect(hWnd, NULL, true);
   return 0;
  }
 
 
 
Mon application reçoit bien le message WM_HSCROLL car la fenêtre est réactualisée par InvalidateRect() à chaque fois que je bouge la barre, mais sinon la scène et la barre ne bouge pas...
:(
 
Vous voyez le problème? Bien sûr j'ai mis les tags WS_HSCROLL et WS_VSCROLL pour créer ma fenêtre.

mood
Publicité
Posté le 15-07-2001 à 18:25:58  profilanswer
 

n°46824
Alload
Posté le 15-07-2001 à 21:28:45  profilanswer
 

C'est bon, fallait seulement rajouter des break; dans chaque cas.
:)

n°46917
antp
Super Administrateur
Champion des excuses bidons
Posté le 16-07-2001 à 11:30:26  profilanswer
 

Alload a écrit a écrit :

C'est bon, fallait seulement rajouter des break; dans chaque cas.
:)  




 
d'ailleurs les accolades servent à rien il me semble dans les case...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°46919
Alload
Posté le 16-07-2001 à 11:39:14  profilanswer
 

Ca sert à rien les accolades dans un switch->case?
 
Merde... Je pensais qu'elles jouaient le même rôle que break.

n°46920
seblamb
Posté le 16-07-2001 à 11:41:13  profilanswer
 

antp a écrit a écrit :

 
 
d'ailleurs les accolades servent à rien il me semble dans les case...  




 
Ca peut servir pour déclarer un variable locale mais ça remplace pas le break.
 
 case 1:
 {
  int i =1;
  i++;
 }


---------------
[:seblamb] Moi aussi je veux grater dédé!!!

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [Win] J'arrive pas à faire marcher les scroll bars

 

Sujets relatifs
[Win] Quelle est la fonction pour l'explorateur de fichier?[Win]Comment mettre un bitmap en mémoire et le charger dans un handle?
arrive pas à trouver la bonne syntaxe du style =nodescrption pour hrefPHP : difference entre \n sous Unix et sous Win
j arrive plus a me connecter sur le FTP Free ???!!!!!J arrive pas a executer ma macro complementaire dans excel :'(
j2ee et ejb : J'y arrive po :(J arrive pas a transmettre ma base de donnee sur le serveur de free
Fortran sous Win et Presse-Papier[JAVA] algo de cryptage sous UNIX/Win
Plus de sujets relatifs à : [Win] J'arrive pas à faire marcher les scroll bars


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR