Scrollbar/Listbox et mollette

Signaler
Messages postés
5
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
21 novembre 2008
-
Messages postés
5
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
21 novembre 2008
-
Bonjour,


J'ai un léger problème sur lequel je suis depuis quelques jours.

Mon application crée, à partir d'un fichier xml et d'une application en
c++ un rapport présenté sous la forme suivante :

Je désire donc pourvoir faire défiler le rapport avec la molette via l'ascenceur sur le côté.
En fait, lorsque je suis en train de travailler sur le rapport : il y a plusieurs types d'actions

- Je cherche dans les listbox le choix qui me convient.

- Je tape le texte dans les Label directement.


Et je désire donc que quelque soit l'action que l'on fasse la molette
n'agisse seulement que sur l'ascenceur haut/bas qui permet de faire
défiler le rapport. Alors que pour le moment, quand je travail dans une listbox si je trourne la molette elle fait défiler les choix.

Quelqu'un a-t-il une idée pour m'avancer ?


J'ai repris le projet en cours de route et
pour cette partie il n'y a pas d'interface graphique, juste du code donc je suis un peu perdu.


Merci d'avance.

Un bout du code :
 
__fastcall TVipRepView2::TVipRepView2(TComponent* Owner)
: TScrollBox(Owner)
{
//this->DoubleBuffered = true;
 
 
Document = NULL;
HorzScrollBar->Smooth = true;
VertScrollBar->Smooth = false;
HorzScrollBar->Tracking = true;
VertScrollBar->Tracking = true;
ZoomFactor = 1.0f;
}
 
 
//////////////////////////////////////////////
void TVipRepView2::RefreshScroolBox() .
{if(FDocument)
if(FDocument->Pages.size()!=0)
{
int NbPage = FDocument->Pages.size();
int TaillePage = (int)FDocument->Pages.at(1)->height;
int NumPageEnCours = ceil((float)VertScrollBar->ScrollPos/TaillePage);
// Pour l'instant on prend le cas d'une déscente
VertScrollBar->Increment = (NumPageEnCours + 1)*TaillePage - VertScrollBar->ScrollPos;
VertScrollBar->Increment = 30;
HorzScrollBar->Position = 15;
VertScrollBar->Position = 105;
}
TScrollBox::Refresh();
}
 
 

2 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
Si tu veux que le molette souris n'agisse tout le temps que sur un controle et non pas suivant focus (cas par défaut), faudra hooker les events molette.

ciao...
BruNews, MVP VC++
Messages postés
5
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
21 novembre 2008

J'ai vu ton travail sur le hook molette. J'essaye de comprendre et d appliquer à mon problème.

Merci