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

Srazmerno uvecanje i raspored kontrola na formi

[es] :: Office :: Excel :: Srazmerno uvecanje i raspored kontrola na formi

[ Pregleda: 2571 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mirko1949
Miroslav Magdić
Kragujevac

Član broj: 87134
Poruke: 216
*.dynamic.isp.telekom.rs.



+2 Profil

icon Srazmerno uvecanje i raspored kontrola na formi25.08.2010. u 10:43 - pre 166 meseci
Probacu da objasnim sta bih hteo. U formi imam vise kontrola: TextBox-ova, ComboBox-ova, Commandbutton-a..... Preko sledeceg koda postizem da mi forma bude preko celog ekrana:


Private Sub UserForm_Initialize()
With Me
.Width = Application.Width
.Height = Application.Height
End With
End Sub

Ovo radim radi toga da se forma prilagodjava ekranima razlicite velicine. E sad mi je problem jer uvecanjem forme preko celog ekrana sve komande nisu rasporedjene srazmerno promeni velicine,
vec ostaju nekako zbijene u levom gornjem uglu. Da li je moguce da se promenom velicine forme srazmerno napravi novi raspored u smislu simetricnosti odnosno da i izgled nove uvecane forme
dobije estetski bolji izgled.
 
Odgovor na temu

neptuncokg
Predrag M
racunovodja
Kragujevac

Član broj: 230353
Poruke: 326
212.200.65.*



+9 Profil

icon Re: Srazmerno uvecanje i raspored kontrola na formi26.08.2010. u 19:14 - pre 166 meseci
Procedura koju koristis je "korisna" za sve nas koji hocemo formu preko celog ekrana, ali selektivno. I ja sam tragao za resenjem prilagodjavanja kontrola koje trazis, ali VBA je tu izgleda nemocan. U VB-6 postoji svojstvo za formu "WindowsState" koje resava ovaj problem, ali VBA ga nema. Na manjim formama sa malo kontrola, pomogne dodeljivanje svojstava kontrolama Left i Top, zavisno od velicine forme, ali meni je to prenaporno. Bojim se da nema univerzalnog resenja, osim prevodjenja u VB-6, onih programa koji to dozvoljavaju. Pozdrav
 
Odgovor na temu

Jpeca
Predrag Jovanović
poslovni analitičar
Gowi
Pančevo

Moderator
Član broj: 25683
Poruke: 2268
194.106.170.*

Sajt: www.gowi.rs


+109 Profil

icon Re: Srazmerno uvecanje i raspored kontrola na formi27.08.2010. u 08:29 - pre 166 meseci
Ako ti odgovara da srazmenro uvećaš sve kontrole na formi možeš koristiti Zoom svojstvo korisničke forme .

Private Sub UserForm_Initialize()
Dim OriginalHeigh As Long
OriginalHeigh = Me.Height
Me.Width = Application.ActiveWindow.Width
Me.Height = Application.ActiveWindow.Height
Me.Zoom = Round((Me.Height / OriginalHeigh) * 100, 0)
End Sub

Ako hoćeš punu kontrolu nad time šta se uvećava i koliko na formi, onda kao što je neptuncokg već napomenuo situacija se svodi na dodavanje koda koji će izvršiti preračunavanje pozicije i dimenzija kontrola na formi, zavisno od veličine forme.

Ovo je zamorno ako imaš više formi i komplikovanije forme. Postoje neka rešenja da se ovaj posao olakša. Vidi npr. http://www.andypope.info/vba/Anchor.htm.

Za VB sam viđao neka rešanja koja to rade pristupajući kontrolama u nizu i preračunavajući ih pa možeš i to da iskoristiš tako da napraviš formu u VB i onda iz nje pristupaš Excelu.


Nije to loše Rembrante, samo što ne bi dodao još malo boje?
 
Odgovor na temu

mirko1949
Miroslav Magdić
Kragujevac

Član broj: 87134
Poruke: 216
*.dynamic.isp.telekom.rs.



+2 Profil

icon Re: Srazmerno uvecanje i raspored kontrola na formi27.08.2010. u 11:33 - pre 166 meseci
Ovo srazmerno uvecanje je odlicno. Hvala. Pogledacu jos malo tvoje ostale preporuke.
 
Odgovor na temu

mirko1949
Miroslav Magdić
Kragujevac

Član broj: 87134
Poruke: 216
*.dynamic.isp.telekom.rs.



+2 Profil

icon Re: Srazmerno uvecanje i raspored kontrola na formi27.08.2010. u 17:07 - pre 166 meseci
Sa navedenim Pecinim kodom dobijao sam nesto manju visinu forme od ekrana pa sam dodao deo iz mog prethodnog koda tako da sada glasi:

Private Sub UserForm_Initialize()
Me.BackColor = RGB(10, 0, 1)
Me.MultiPage1.Value = 0
Dim OriginalHeigh As Long
OriginalHeigh = Me.Height
Me.Width = Application.ActiveWindow.Width
Me.Height = Application.ActiveWindow.Height
Me.Zoom = Round((Me.Height / OriginalHeigh) * 100, 0)
With Me
.Width = Application.Width
.Height = Application.Height
End With
End Sub
Jos jednom hvala na pomoci
Evo u prilogu kako to izgleda
Prikačeni fajlovi
 
Odgovor na temu

neptuncokg
Predrag M
racunovodja
Kragujevac

Član broj: 230353
Poruke: 326
212.200.65.*



+9 Profil

icon Re: Srazmerno uvecanje i raspored kontrola na formi27.08.2010. u 17:41 - pre 166 meseci
Ja bih samo jos malo da se ukljucim u ovu meni jako interesantnu temu. Ovo resenje je zaista dobro. Meni malo smetaju ove "dzambo" kontrole, ali to je stvar ukusa. Ja sam u svojoj praksi, posto sam se dosta mucio sa ovom temom, odavno problem "resio" tako sto sam na svom glavnom racunaru, na kome je rezolucija 1366 x 768 formama dodelio sojstva:
- Height = 550
- Widht = 1025
Tako uvek imam "ful formu". Na ostalim racunarima sam podesio istu rezoluciju, zbog kontinuiteta, a tamo gde je osnovna rezolucija veca od 1366 x 768, "zamolio" sam korisnike, sa jednim MsgBox-om u Workbook.Activate da pre pocetka rada privremeno podese rezoluciju na ovu. Doduse, to je samo na jednom racunaru. Bilo je negodovanja jedno dva-tri dana, i posle je sve doslo na svoje. Time sam, sto se mene tice, ovaj problem ostavio iza sebe. Negde sam naisao i na resenje, da se pri startovanju programa rezolucija automatski promeni na zeljenu, ali ga nisam koristio. Evo u primeru moje ful-forme, prilagodjene rezoluciji 1366x768. Pozdrav
Prikačeni fajlovi
 
Odgovor na temu

[es] :: Office :: Excel :: Srazmerno uvecanje i raspored kontrola na formi

[ Pregleda: 2571 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

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