Posuvné grafické okno
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Posuvné grafické oknoPosuvné grafické okno

 

Posuvné grafické okno

Google       Google       13. 10. 2007       15 043×

Využití ovládacích prvků ScrollBar a PictureBox.

Bohužel ovládací prvek PictureBox (ani Image) nám neumožňuje posun obrázku, který přesahuje jeho velikost. Proto využijeme dvou ScrollBarů a dvou PictureBoxů, abychom si takové grafické okénko udělali.

Začneme tedy s rozmisťováním ovládacích prvků. Vložte si na formulář PictureBox1 a do něj vložte PictureBox2. Na formulář poté umístěte jeden HScrollBar a jeden VScrollBar (to jsou ty posuvníky).

Když už máme rozmístěno, pustíme se do psaní zdrojového kodu. Nejprve začneme procedurou Form_Load():

Private Sub Form_Load()
'Nastavíme na pixely
Form1.ScaleMode = vbPixels
Picture1.ScaleMode = vbPixels

'Velikost se upraví podle velikosti obrázku
Picture2.AutoSize = True

'Odstraníme rámeček u obou PictureBoxů
Picture1.BorderStyle = 0
Picture2.BorderStyle = 0

'Načteme obrázek (nejlépe nějaký hodně veliký)
Picture2.Picture = LoadPicture("cesta_k_obrazku")

'Umístíme oba PictureBoxy
Picture1.Move 0, 0, ScaleWidth - VScroll1.Width, ScaleHeight - HScroll1.Height
Picture2.Move 0, 0

'Umístíme vodorovný (horizontální) posuvník
HScroll1.Top = Picture1.Height
HScroll1.Left = 0
HScroll1.Width = Picture1.Width

'Umístíme svislý (vertikální) posuvník
VScroll1.Top = 0
VScroll1.Left = Picture1.Width
VScroll1.Height = Picture1.Height

'Nastavíme maximální hodnoty posuvníků
HScroll1.Max = Picture2.Width - Picture1.Width
VScroll1.Max = Picture2.Height - Picture1.Height

'Určí zda jsou potřeba posuvníky
VScroll1.Visible = (Picture1.Height < Picture2.Height)
HScroll1.Visible = (Picture1.Width < Picture2.Width)
End Sub

Nyní se budeme věnovat posuvníkům. Do procedury HScroll1_Change napište Picture2.left = -HScroll.value a do procedury VScroll1_Change umístěte Picture2.top = -VScroll1.value, díky tomu budem moci pohybovat s obrázkem správným způsobem.

Private Sub HScroll1_Change()
Picture2.Left = -HScroll1.Value
End Sub

Private Sub VScroll1_Change()
Picture2.Top = -VScroll1.Value
End Sub

Stále má náš prográmek malou chybu, neroztáhne se nám to po celém formuláři. To ihned opravíme, když do procedury Form_Resize napíšeme následující řádky kódu:

Private Sub Form_Resize()
Form1.ScaleMode = vbPixels
Picture1.ScaleMode = vbPixels

Picture1.Move 0, 0, ScaleWidth - VScroll1.Width, ScaleHeight - HScroll1.Height
Picture2.Move 0, 0

HScroll1.Top = Picture1.Height
HScroll1.Left = 0
HScroll1.Width = Picture1.Width
VScroll1.Top = 0
VScroll1.Left = Picture1.Width
VScroll1.Height = Picture1.Height
HScroll1.Max = Picture2.Width - Picture1.Width
VScroll1.Max = Picture2.Height - Picture1.Height

VScroll1.Visible = (Picture1.Height < Picture2.Height)
HScroll1.Visible = (Picture1.Width < Picture2.Width)
End Sub

Tak to je pro dnešek vše. Tento postup jsem se dříve naučil z jedné knihy; pokud vás zajímá z které, přečtěte si následující recenzi od Sunmaye.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Jan MalýAutor programuje ve VB, HTML, CSS. Zajímá se o grafiku, fotografování
Web     Twitter     Facebook    

Nové články

Obrázek ke článku Hybridní inteligentní systémy 2

Hybridní inteligentní systémy 2

V technické praxi využíváme často kombinaci různých disciplín umělé inteligence a klasických výpočtů. Takovým systémům říkáme hybridní systémy. V tomto článku se zmíním o určitém typu hybridního systému, který je užitečný ve velmi složitých výrobních procesech.

Obrázek ke článku Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Vedení týmu v oboru informačních technologií se nijak zvlášť neliší od jiných oborů. Přesto však IT manažeři čelí výzvě v podobě velmi rychlého rozvoje a tím i rostoucími nároky na své lidi. Udržet pozornost, motivaci a efektivitu týmu vyžaduje opravdu pevné manažerské základy a zároveň otevřenost a flexibilitu pro stále nové výzvy.

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý