Bonjour,
Je veux coder le fait de bouger un scrollbar , ça affiche la partie qui n'est pas visible. Le code est dans la partie OnChange() du scrollbar horizontal.
Pourriez-vous m'aider s'il vous plaît?
Merci!
Bonjour,
Je veux coder le fait de bouger un scrollbar , ça affiche la partie qui n'est pas visible. Le code est dans la partie OnChange() du scrollbar horizontal.
Pourriez-vous m'aider s'il vous plaît?
Merci!
Bonjour,
Il serait plus facile d'utiliser un TSrollBox qui serait le parent du TImage.
Il suffit de régler la taille virtuelle du TSrollBox aux dimensions du TImage dans le constructeur par exemple et tout sera gérer automatiquement.
D'autres propriétés peuvent être réglées dans HorzScrollBar et VertScrollBar
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { ScrollBox1->HorzScrollBar->Range = Image1->Picture->Width; ScrollBox1->VertScrollBar->Range = Image1->Picture->Height; }
Merci!
En fait, j'utilise un TScrollBar qui n'a pas de propriété Range.
Pourriez-vous m'aider ?
![]()
Bonjour,
Pour faire la même chose à la main avec des TScrollBar
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { DoubleBuffered = true; Bitmap = new Graphics::TBitmap; Bitmap->LoadFromFile("image.bmp"); Image2->Picture->Bitmap->Assign(Bitmap); HorzScrollBar->Max = Image2->Picture->Width - 1 - Image2->Width; VertScrollBar->Max = Image2->Picture->Height - 1 - Image2->Height; } //--------------------------------------------------------------------------- __fastcall TForm1::~TForm1() { delete Bitmap; } //--------------------------------------------------------------------------- void __fastcall TForm1::ScrollBarChange(TObject *Sender) { TRect RectDest, RectSource; RectDest = Rect(0, 0, Image2->Width, Image2->Height); RectSource = Rect(HorzScrollBar->Position, VertScrollBar->Position, HorzScrollBar->Position + Image2->Width, VertScrollBar->Position + Image2->Height); Image2->Canvas->CopyRect(RectDest, Bitmap->Canvas, RectSource); }
Merci!
En parallèle, j'essaie de travailler sur la première solution mais le scrolbox cache l'image même si on la rattache au scrollbox:Pourriez-vous m'aider à afficher l'image?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Image1->parent=this->ScrollBox1;
Merci!
Dans l'Inspecteur d'objet, glisser Image1 dans SrollBox1
Ou écrire Image1->Parent = ScrollBox1 dans le constructeur par exemple
On peut mettre aussi la propriété Align de Image1 à alClient
Partager