Color scheme: Dark
You are here: start » sl » Dokumentacija » Orodja za Microsoft Access » WKL Forms Object Library » troubleshooting » Postavitev ne razporedi kontrolnika

Postavitev ne razporedi kontrolnika

V pogledu obrazca kontrolnik ostane tam, kamor je bil postavljen v načrtu, medtem ko se druga območja kontrolnika WklDockLayout ali druga stran kontrolnika WklSplitter premikajo; ali pa se sprva premika, nato pa se ob spremembi velikosti okna odmakne od razporeditve; ali pa območje manjka v PaneNames, FirstAreas ali SecondAreas.

Okolje

WKL Forms Object Library 1.16 (WklSplitter) oziroma 1.17 (WklDockLayout) in novejša, Accessovi obrazci ter obrazci UserForm v Excelu in Wordu.

Vzrok

Območja se vzamejo iz Panes (pri razdelilniku iz FirstControls in SecondControls) ali pa se, kadar so ti prazni, poiščejo po položaju, ko se obrazec prvič prikaže v pogledu obrazca:

  • Postavitev: štejejo samo vidni kontrolniki lastnega odseka postavitve, ki ležijo znotraj njenega pravokotnika; jemljejo se po vrsti z njenih robov – vsakič kontrolnik vzdolž celotnega roba, najtanjši najprej; največji preostali kontrolnik zapolni preostanek. Kontrolnik, ki se ne dotika nobenega roba preostalega prostora ali leži delno zunaj postavitve, ni območje.
  • Razdelilnik: štejejo samo kontrolniki njegovega odseka, ki ležijo ob vrstici razdelilnika v razdalji do 20 slikovnih pik (300 twipov); kontrolnik nad obema območjema ali pod njima ni sosed.
  • Ročno nastavljeno sidranje: razdelilnik računa iz položajev v načrtu in potrebuje območja, zasidrana levo zgoraj; Access kontrolnik, zasidran desno ali spodaj, raztegne, ne da bi o tem obvestil objektni model. Postavitev sidranje svojih območij nastavi sama glede na njihov položaj (levo, obojestransko, desno); sidranje, ki ga pozneje spremenite ročno, se ne ujema več s conami.
  • Položaji se preberejo enkrat: načrt se prebere enkrat ob vsakem odprtju. Kontrolnikov, ki jih pozneje premakne koda, postavitev ne upošteva, dokler ne pokličete Refresh.
  • Skrito s kodo: kontrolnik, skrit z Visible, obdrži svoj prostor v postavitvi; samo zloženo območje (PaneCollapsed) ga prepusti drugim.

Rešitev

  1. Preverite, katera območja uporablja kontrolnik: Debug.Print Me!Layout1.Object.PaneNames (pogled obrazca ali pogled načrta) ali FirstAreas in SecondAreas razdelilnika v pogledu obrazca.
  2. Odprite oblikovalnik ([...] v vrstici Po meri): stran Območja (postavitev) ali Razdelilnik (razdelilnik) prikaže najdena območja in predogled, izrisan iz kontrolnikov obrazca. Pri postavitvi ukaz Prevzemi po položaju zapiše najdena območja v Panes; tam popravite cone in imena.
  3. Kjer je položaj dvoumen, območja navedite izrecno: Panes (na primer lstKrmarjenje=Left; sfGlavni=Fill) ali FirstControls in SecondControls.
  4. Razdelilnik: sidranje območij na obeh straneh nastavite na levo zgoraj. Postavitev: sidranja ne nastavljajte ročno; v oblikovalniku vklopite Nastavi ob uporabi in potrdite z OK, kar sidranje vsakega območja nastavi glede na njegov položaj.
  5. Ko je koda območja trajno premaknila, pokličite Refresh; če želite območje umakniti, namesto Visible nastavite PaneCollapsed.
sl/wiki/msaccess/comctl/troubleshooting/control-not-arranged-by-the-layout.txt · Last modified: by Wolfgang van der Stille