[ Air Live @ 21.04.2009. 12:57 ] @
Želim da skaliram formu po visini .

Pokusao sam sa:
Code:
Me.InsideHeight
me.InsideWidth


I to radi ali objekti koji se skrivaju dole na dnu forme kada skaliram formu na manje ti objekti se pomaknu ka verhu i nemogu da ih sakrijem sem visible=false

Ovo mogu uraditi kroz cod sa Visible = false ali imam puno objekata pa treba puno coda pisati.Pa me interesuje dali ima jednostavnije rješenje.
[ Zidar @ 21.04.2009. 14:40 ] @
Q: Želim da skaliram formu po visini .

A: Skaliranje forme nije uopste jednostavno. Skaliranje forme podrazumeva da se sve skalira, sama forma i sve kontrole na njoj. Kad se skaliraju kontrole, obicno im se menja i font. I sve zavisi od rezolucije na kojoj je forma sagradjena i rezolucije na racunaru na kome se vrsi skaliranje. Imas o tome ovde: http://www.mvps.org/access/general/gen0002.htm


Q: I to radi ali objekti koji se skrivaju dole na dnu forme kada skaliram formu na manje ti objekti se pomaknu ka verhu i nemogu da ih sakrijem sem visible=false. Ovo mogu uraditi kroz cod sa Visible = false ali imam puno objekata pa treba puno coda pisati.Pa me interesuje dali ima jednostavnije rješenje.


A: Ako imas puno kontrola koje zelis da u nekom momentu sakrijes ili otkrijes, svakako da je glupo pisati za svaku kontrolu nesto ovako:

if nest then
ctl1.visible = true
else
ctl1.visible = true
end if

i tako za N kontrola.

Kad zelis da nesto uradis za vise kontrola odjednom, onda se koristi Controls collection i Tag property.
Evo ti funkcija (treba da je iskopirads u neki modul) koja radi to sto ti treba:
Code:

Function ToggleVisibleFrm(frm As Form, strTAG As String) As Boolean
'*******************************************
'Name:      ToggleVisible (Function)
'Purpose:   toggle controsl visibility, for cotrols that have strTAG
'           somewhere in their Tag property
'Author:    *****
'Date:      February 22, 2000, 02:08:19 PM
'Called by:
'Calls:
'Inputs:    frm:=form hat contains controls
'           strTAG:= code to be found in the Tag property. If found, visibility will be toggled
'Output:    nothing
'*******************************************


Dim ctl As Control
For Each ctl In frm.Controls
    If InStr(1, ctl.Tag, strTAG) > 0 Then
        ctl.Visible = Not ctl.Visible
    End If
Next

End Function


Da bi primenio funkciju, treba da u kontrole koje zelis da sakrijes/otkrijes stavis na Tag property neku sifru, recimo 'SO' 'SO' dolazi od (Sakrij/Otkkrij). Onda kad treba da ih skrijes ili otkrijes, uradis ovo u kodu na formi:

Call ToggleVisibleFrm (me,'SO')

Ova funkcija menja visibility, ako su vidljive postace nevidljive i obrnuto.

Prouci princip pa mozes to da primenis za druge srtvari. Mozes da postavis grupu kontrola da budu NULL, ili da postanu zakljucane, ili otkljucane, sta god hoces.

U tag stavis razne kodove, na primer 'HIDE_DISABLE_DISPLAY_SETNULL'. nda mozes da imas funkcije koje nesto rade za kontrole koje u Tag properti imaju rec 'SETNULL' na primer, ili 'HIDE'. Kontrola koja reaguje na funkcije za sakrivanje i otkrivanjeimala bi tag 'HIDE_DISPLAY'. Kontrola koja je slicna , ali treba je i nullovati, moze da ima HIDE_DISPLAY_SETNULL.

Sve ove funkcije mozes da cuvas u modulu koji selis iz aplikacije u aplikaciju i onda ih pozivas kad ti zatrebaju. Kod se ne menja, samo se kontrolama dodeljuju tagovi. Tagovi nisu hard kodirani, mozes na jednoj formi da koristis 'HIDe' a nd drugoj 'SAKRIJ'

[ Air Live @ 21.04.2009. 15:52 ] @
Mislim svaka čast na ovome ali ovo nisam dovoljno shvatio zato i postavljam primer.

Zelim da skrijem kontrolu prikaz.

kako bih to izgledalo.
[ Zidar @ 21.04.2009. 16:03 ] @
Evo:

Napisao sam ti funkcije SakrijKontrole i OtkrijKontrole, lakse ces razumeti princip.
I stavi sam Tag = 'Sakrij' i na labelu za listu koju sakrivas.

[ Air Live @ 21.04.2009. 16:07 ] @
Aaaa tu je kvaka
Code:
Call SakrijKontrole(frm:=Me, strTAG:="Sakrij")

e pa svaka čast vidi kako si ti to razdvojio lijepo ovu jednu funkciju.Veoma malo coda a tako funkcionalno.Ono, mislim, za svaku pohvalu.Hvala puno.
[ Zidar @ 21.04.2009. 17:27 ] @
To sto ja ne volim da pisem kod ne znaci da ne umem to da radim, samo izbegavam kad god mogu
[ domaci_a_nas @ 21.04.2009. 19:02 ] @
Evo da pitam ja nešto glupo, kada je već priča završena. Ako su ti sve te kontrole u Form Footeru, a na to mi liči jer se kontrole penju kada smanjiš formu, zašto jednostavno ne bi napisao sledeće ?
Code:
Me.FormFooter.Visible = False
[ Air Live @ 21.04.2009. 21:13 ] @
Dobra ti je ta fora ali nazalost sve je u detail.

Ovako imam jedno pitanje da nebih otvarao nuvu temu.Imam ovu relaciju i imam problem kada otvaram sa sub forme trecu formu nece da mi doda id u tabelu tblstavke.


[ Zidar @ 22.04.2009. 14:27 ] @
Bolje je da otvoris temu. Cilj foruma je da i drugi nesto nauce, a ne samo da se pomogne pojedincu kad ima neki problem. Zato je forum organizovan po temama. Inace, bio bi organizovan po korisnicima, pa bi sve od AIr Live bilo na jednom mestu.

Prebaci pitanje u novu temu pa cemo da nastavimo