rivaud_renee
Messages postés2Date d'inscriptionmardi 3 août 2004StatutMembreDernière intervention 4 février 2008
-
31 janv. 2008 à 17:27
rivaud_renee
Messages postés2Date d'inscriptionmardi 3 août 2004StatutMembreDernière intervention 4 février 2008
-
4 févr. 2008 à 20:01
J'ai posé un Timage sur un panel. Je déplace l"image sans problèmes ( voir code ci-après ); mais je souhaiterai également y faire un zoom ( plus et moins ) avec la roulette mais il n'existe pas de ImagexxxMouseWheel. Une solution pour l'utilisation de la roulette ?
Merci
var
Form1: TForm1;
StartX,StartY : Integer;
................
//Si on veut faire correspondre le bord du Bitmap au bord du Panel
//if Image1.Left < 0 then Image1.Left := 0;
//if Image1.Top < 0 then Image1.Top := 0;
if Image1.Left > Panel4.Width -4 then Image1.Left := Panel4.Width - 4;
if Image1.Top > Panel4.Height -4 then Image1.Top := Panel4.Height - 4 ;
// Pour ne pas perdre la totalité de l'image
end;
rivaud_renee
Messages postés2Date d'inscriptionmardi 3 août 2004StatutMembreDernière intervention 4 février 2008 4 févr. 2008 à 20:01
Bonsoir,
En fait je n'avais pas compris c'est que les évènements (MousewheelUp, ... ) étaient liés à la Form sans tenir compte des composants posés sur celle-ci.
J'ai donc codé le programme suivant ( ne pas faire attention à la qualité du code, c'est le résultat immédiat pour l'exemple qui compte ) et j'ai bien le résultat attendu.
Faire attention si d'autres composants ont besoin de la roulette !!!
Merci pour le coups de main
procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
if WheelDelta<0 then
begin
image1.Width:=image1.Width-10;
image1.Height:=image1.Height-10;
end;
if WheelDelta>0 then
begin
image1.Width:=image1.Width+10;
image1.Height:=image1.Height+10;
end;