Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

VScrool bar kako radi

[es] :: Visual Basic 6 :: VScrool bar kako radi

Strane: 1 2

[ Pregleda: 6343 | Odgovora: 29 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

connundrum
kaon kaonovic
skola

Član broj: 172300
Poruke: 11
89.146.162.*



Profil

icon VScrool bar kako radi04.06.2008. u 05:57 - pre 193 meseci
Dobro jutro
Poceo sam pisati program tacnije test... koji se sadrzi od pitanja koji je napisan u label-u i option buttona koji daju tacan / netacan odgovor za "zaorkuziti"

eh posto ja imam vise pitanja a treba sve stati na jednu formu pokusao sam koristiti VScrool bar posto je on i namjenjen za to, mislim nisam siguran...

Eh kak' cu napraviti da on stvarno scrool-a .. negdje bi se sadrzaj trebao unjeti ja mislim pa da on moze scroolat
Pregledao sam par skripti nisam nista nasaoo

Tako molim vas za malo pomoci
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: VScrool bar kako radi04.06.2008. u 07:41 - pre 193 meseci
evo kako sam to ja radio:

1. stavis na formu jedan PictureBox (nazoves ga picContainer recimo) koji ce da ti zauzima celu povrsinu forme (iskljucis mu bordere)
2. u picContainer dodas jedan PictureBox (i nazoves ga recimo picHolder) koji ce da zauzima sirinu picContainer.ScaleWidth - vsScroll.Width
3. u picContainer dodas jedan VScrollBar (i nazoves ga recimo vsScroll)
4. u picHolder ubacis sve kontrole koje ti trebaju (visina picHoldera moze da bude veca od visine picContainer - u tom slucaju se onaj deo koji je veci od picContainer-a ne vidi
5. podesis vsScroll.Min = 0 i vsScroll.Max = picContainer.ScaleHeight - picHolder.Height
6. u vsScroll_onScroll i u vsScroll_onChange event handlerima pomeras picHolder u zavisnosti od vrednosti scroll bara: picHolder.Top = -vsScroll.Value
 
Odgovor na temu

dava
Banja Luka

Član broj: 27208
Poruke: 893



+384 Profil

icon Re: VScrool bar kako radi04.06.2008. u 08:04 - pre 193 meseci
Evo i moja ideja:

Koristio sam dva frame-a (jedan u drugom). Pored njih VScroll bar i u zavisnosti od njegove vrijednosti odnosno polozaja klizaca pomjera frame2 gore - dole u frame1.

Primjer je u prilogu.
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
Prikačeni fajlovi
 
Odgovor na temu

Eurora3D Team
Nebojsa - Programer & Vodja tima
Beograd

Član broj: 120376
Poruke: 900
91.148.113.*



+7 Profil

icon Re: VScrool bar kako radi04.06.2008. u 09:08 - pre 193 meseci
Ovo je ova Aleksandrova varijanta samo sa jednim PictueBox-om ... inace i ja tako radim...
PictureBox-ovi su dobri za ove graficke stvari zato sto mogu da drze druge kontrole na sebi ...

Prikačeni fajlovi
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: VScrool bar kako radi04.06.2008. u 09:13 - pre 193 meseci
@dava: izbegavaj da koristis Frame kontrole jer ukoliko ubacis xp style manifest u tvoj exe (tj podrska za xp stilove) onda ce ti option buttoni i checkboxovi biti zacrnjeni (dobices po jedan crni pravougaonik za svaki checkbox/optionbutton), a ako ti bas trebaju frejmovi onda na svaki frejm stavis picturebox kome iskljucis bordere (tako da se ne vidi da je tu) i na picturebox slazes kontrole...
 
Odgovor na temu

dava
Banja Luka

Član broj: 27208
Poruke: 893



+384 Profil

icon Re: VScrool bar kako radi04.06.2008. u 09:47 - pre 193 meseci
Je li to neki bug ili oni promjene property back color. Ako je ovo drugo onda bi se moglo izkontrolisati da ne mijenjaju.

U svom primjeru sam predvidio da se Frame2 moze povecati koliko god treba, bez izmjene koda, tako da taj Frame2 se pomjera do donje ivice forme, a ne da ide do neba.

@Eurora3D Team probaj p1 podesiti da je 2x veci od forme i na nevidljivi dio staviti neku kontrolu. Zatim skrolovati, kod mene se ta kontrola ne vidi?
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
 
Odgovor na temu

Eurora3D Team
Nebojsa - Programer & Vodja tima
Beograd

Član broj: 120376
Poruke: 900
91.148.113.*



+7 Profil

icon Re: VScrool bar kako radi04.06.2008. u 10:12 - pre 193 meseci
Jeste ... napisao sam ga bukvalno za minut.
Nadji liniju i promenu sa
Code:

p1.Move 0, p1.Top, Me.Width - s1.Width - 100, p1.Height

Posto sam greskom ukucao Me.Height pa je PictureBox uvek bilo visine forme i donji deo se nije video
promenio sam zakaceni fajl

[Ovu poruku je menjao Eurora3D Team dana 04.06.2008. u 11:22 GMT+1]
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: VScrool bar kako radi04.06.2008. u 10:22 - pre 193 meseci
Krcko, rekao bih da ovaj spoljni Picture box nije neophodan, osim ako hoce da locira skrolujuci sadrzaj u jedan deo forme (pretpostavljam da je to ovo sto je Eurora 3D uradio, nisam gledao).

Inace, bila vec tema o ovome :)
 
Odgovor na temu

Eurora3D Team
Nebojsa - Programer & Vodja tima
Beograd

Član broj: 120376
Poruke: 900
91.148.113.*



+7 Profil

icon Re: VScrool bar kako radi04.06.2008. u 10:30 - pre 193 meseci
Pa ovako kako sam ja napravio skrolovanje (sa jednim PictureBox-om) i ScrollBar-om je jednostavije al da smo stavili dva , jedan glavni i u njemu drugi (koji pretstavlja ovaj kod mene) i ScrollBar bilo bi nekako kompaktnije i manje bi imalo veze sa ostalom grafikom (npr scale units) al bi bilo i komplikovanije ...
 
Odgovor na temu

dava
Banja Luka

Član broj: 27208
Poruke: 893



+384 Profil

icon Re: VScrool bar kako radi04.06.2008. u 13:10 - pre 193 meseci
Citat:
Shadowed: Krcko, rekao bih da ovaj spoljni Picture box nije neophodan, osim ako hoce da locira skrolujuci sadrzaj u jedan deo forme (pretpostavljam da je to ovo sto je Eurora 3D uradio, nisam gledao).


Nije neophodan ali ljepse je kad se skroluje jedan dio forme. Recimo neko zaglavlje, naslov ili tako nesto da ostane uvijek na vrhu forme, a da se donji sadrzaj skroluje.

Upravu ste za Frame, evo stavio sam picture.

Nego @connundrum jesi li nasao rijesenje?

SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
Prikačeni fajlovi
 
Odgovor na temu

rgdrajko
Beograd

Član broj: 117734
Poruke: 710
91.143.217.*



+3 Profil

icon Re: VScrool bar kako radi04.06.2008. u 13:42 - pre 193 meseci
Ne razumem zasto se mucite. Pa svi veoma dobro znate da se to veoma lako i elegantno moze resiti preko MDI Forme. Klizaci se sami automatski pojavljuju. Zar ne?
rgdrajko
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: VScrool bar kako radi04.06.2008. u 14:47 - pre 193 meseci
@rajko: MDI forma ima svojih nedostataka i ne treba je koristiti ako ti samo treba scrollbar na formi (MDI forma je za druge stvari...)

@shadowed: drugi picturebox (picContainer) je tu samo da bi kasnije bilo lakse "ograditi" taj deo koji se skroluje, jer iz licnog iskustva znam da se izgled forme tj raspored kontrola na njoj uvek menja :) (pa postoji mogucnost da se recimo iznad tog dela koji se skroluje - a koji je u ovom primeru cela forma - doda neki "header" picturebox koji ce da ima logo aplikacije i podatke o verziji i sl u sebi...)

@dava: to je bug sa frame kontrolama...
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: VScrool bar kako radi04.06.2008. u 15:03 - pre 193 meseci
Dava, Krcko, upravo to i rekoh pod "osim ako..." :)
Rajko, verovatno zato sto ne bi dobio to sto mu treba :)
Naravno, postoji i ono resenje koje ne smem da pominjem, gde je ovo (za sucaj cele forme) podrzano po default-u :P
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: VScrool bar kako radi04.06.2008. u 16:01 - pre 193 meseci
mislis na Delphi? :p
 
Odgovor na temu

Eurora3D Team
Nebojsa - Programer & Vodja tima
Beograd

Član broj: 120376
Poruke: 900
91.148.114.*



+7 Profil

icon Re: VScrool bar kako radi04.06.2008. u 20:30 - pre 193 meseci
Mozda je mislio na onaj jezik koji sve moze samo ne moze da radi bez nekog frameworka :)
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: VScrool bar kako radi04.06.2008. u 21:37 - pre 193 meseci
kako li sam mogao na taj jezik da zaboravim? :)
 
Odgovor na temu

fLuXx
Luka Borkovic
Student
Pančevo

Član broj: 21183
Poruke: 363
*.3dnet.co.yu.

Jabber: fluxx@elitesecurity.org


+2 Profil

icon Re: VScrool bar kako radi05.06.2008. u 02:39 - pre 193 meseci
Ljudi, a sta kazete na ovo? Moze li se ovo iskoristiti bez da se koristi "jezik kojim se ne govori"? Mozda malo subclassinga i znoja i da radi k'o delphi

Code:

Private Declare Function ShowScrollBar Lib "user32" (ByVal hwnd As Long, ByVal wBar As Long, ByVal bShow As Long) As Long
Private Const SB_HORZ = 0
Private Const SB_VERT = 1
Private Const SB_BOTH = 3
Private Sub Form_Load()
    ShowScrollBar Me.hwnd, SB_BOTH, True
End Sub


Naravno, umesto me.hwnd, moze da se koristi hwnd bilo koje komponente koja ga ima. Samo jos nedostaje kod za kontrolisanje scroll barova, ali sigurno da nije preterano tesko.
 
Odgovor na temu

dava
Banja Luka

Član broj: 27208
Poruke: 893



+384 Profil

icon Re: VScrool bar kako radi05.06.2008. u 07:31 - pre 193 meseci
Ili ovako, ali to je opet skrolovanje citave forme.

Code:

Private Declare Function HideCaret Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ShowCaret Lib "user32" (ByVal hwnd As Long) As Long
'The HideCaret function hides the ugly blinking caret on the scroll bar
Private Sub Form_Load()
    VScroll1.Max = Picture1.Height - Form1.Height + 1000
    VScroll1.Min = 0
    VScroll1.SmallChange = 100
    VScroll1.LargeChange = 1000
End Sub
Private Sub Form_Unload(Cancel As Integer)
    ShowCaret VScroll1.hwnd
End Sub
Private Sub VScroll1_Change()
    Picture1.Top = -VScroll1.Value ' Change the frame's top
    HideCaret VScroll1.hwnd
End Sub
Private Sub VScroll1_GotFocus()
    HideCaret VScroll1.hwnd
End Sub
Private Sub VScroll1_LostFocus()
    HideCaret VScroll1.hwnd
End Sub
Private Sub VScroll1_Scroll()
    Picture1.Top = -VScroll1.Value ' Change the frame's top
    HideCaret VScroll1.hwnd
End Sub


Slicno kao kod jezika cije se ime ne spominje
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: VScrool bar kako radi05.06.2008. u 08:20 - pre 193 meseci
nije mnogo komplikovano, ali ja nisam hteo da navedem tu alternativu (subclassiranje) jer relativno jednostavno moze da se uradi i pomocu vb-ovih kotrnola (mada je resenje sa subclassingom mnogo flexibilnije, tj mogu da se ubace i flat scrollbarovi, i da se hvata WM_MOUSEWHEEL poruka tj da scrollbar reaguje na tockic misa...)
 
Odgovor na temu

dava
Banja Luka

Član broj: 27208
Poruke: 893



+384 Profil

icon Re: VScrool bar kako radi05.06.2008. u 10:03 - pre 193 meseci
Htio sam to napraviti jos na pocetku ali me mrzilo, pa kad si vec spomenuo evo mozda nekom posluzi.


SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
Prikačeni fajlovi
 
Odgovor na temu

[es] :: Visual Basic 6 :: VScrool bar kako radi

Strane: 1 2

[ Pregleda: 6343 | Odgovora: 29 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.