DELPHI 5 : Aperçu avant impression [Résolu]

Messages postés
19
Date d'inscription
mardi 15 juin 2004
Dernière intervention
7 septembre 2010
- - Dernière réponse : johspi
Messages postés
19
Date d'inscription
mardi 15 juin 2004
Dernière intervention
7 septembre 2010
- 6 sept. 2010 à 14:03
Bonjour tout le monde !!!!!!!!


Mon souci est que la roulette de la souris (permettant normalement de faire défiler la scroll barre à droit) ne marche pas dans mes aperçus avant impression .

Je voudrait savoir s'il existe un paramètre ou une commande à rajouter à fin de la faire fonctionner .


Merci d'avance pour vos propositions
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
424
Date d'inscription
mardi 3 janvier 2006
Dernière intervention
26 novembre 2013
1
3
Merci
Bonjour.

Tu ne précises pas avec quel composant tu fais tes aperçus (éditeur de rapports ou compo perso ?). Donc impossible de dire si le composant a prévu le scrolling par roulette.

Tu as toujours la solution d'intercepter, au niveau de l'application, le message Windows WM_MOUSEWHEEL.

Pour ce faire :
1) dans la section private de la Form principale (disons Form1) de ton programme, tu déclares :
procedure AppMessage(var Msg: TMsg; var Handled: boolean);

2) dans l'événement OnCreate de Form1 :
Application.OnMessage:= AppMessage;

3) Voici un exemple de procedure AppMessage : faire défiler verticalement une deuxième Form, après avoir contrôlé que la souris était au dessus de cette Form :
procedure TForm1.AppMessage(var Msg: TMsg; var Handled: boolean);
var
  P, P2: TPoint;
  K: integer;
begin
  if (Msg.Message WM_MOUSEWHEEL) and (Screen.ActiveForm Form2) then
  begin
     P:= Mouse.CursorPos;
     with Form2 do
     begin
         P2:= ClientToScreen(Point(0,0));
         if PtInRect(Rect(P2.X, P2.Y, P2.X + Width, P2.Y + Height), P) then
         begin
             if Msg.wParam > 0 then K:= -30 else K:= 30;
             VertScrollBar.Position:= VertScrollBar.Position + K;
             Exit;
         end;
     end;
  end;
end;


Tu peux aussi faire défiler d'autres composants qui ont les propriétés ScrollBar (TScrollBox...).
Voici un autre code pour scroller un RichEdit :
http://www.mx-dev.net/delphi/snippets/37-trichedit-scroll-par-la-molette-de-la-souris.html

A +
Thierry

PS : je ne sais pas si la fonction PtInrect existe sous D5. Sinon, tu bricoles une fonction.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 117 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ThWilliam
Messages postés
19
Date d'inscription
mardi 15 juin 2004
Dernière intervention
7 septembre 2010
0
Merci
Ok merci pour toute ces informations , desque je peux je regade tous sa ....


ThWilliam
Commenter la réponse de johspi
Messages postés
19
Date d'inscription
mardi 15 juin 2004
Dernière intervention
7 septembre 2010
0
Merci
Encore merci pour ton explication , grace à sa , j'ai peu mettre en place les scroll barres
Commenter la réponse de johspi

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.