Scrollbar/Listbox et mollette

DjanGoJack Messages postés 5 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 21 novembre 2008 - 6 nov. 2008 à 11:32
DjanGoJack Messages postés 5 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 21 novembre 2008 - 7 nov. 2008 à 10:40
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

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
6 nov. 2008 à 15:10
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++
0
DjanGoJack Messages postés 5 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 21 novembre 2008
7 nov. 2008 à 10:40
J'ai vu ton travail sur le hook molette. J'essaye de comprendre et d appliquer à mon problème.

Merci
0
Rejoignez-nous