Barvna shema: Riviera
Trenutno dejavna stran: start » sl » Dokumentacija » Orodja za Microsoft Access » WKL Forms Object Library » how-to » Izdelava stranske vrstice s karticami

Izdelava stranske vrstice s karticami

Na enem mestu postavitve WklDockLayout prikažite več podobrazcev – na primer stransko vrstico na desni s karticama „Lastnosti“ in „Opombe“ – med katerimi uporabnik preklaplja z zavihki, kot v podoknu opravil Officea.

Zahteva WKL Forms Object Library 1.37 ali novejšo različico.

Pregled rešitve

Območja z isto skupino v Panes (Name=Zone:Group) tvorijo skupino zavihkov: v svoji coni si delijo eno mesto pod vrstico zavihkov, hkrati pa je prikazana ena kartica. Skupina se kot eno območje povečuje in pomanjšuje, zlaga in vleče. PaneCaption nastavi besedilo zavihka, GroupPane prebere ali nastavi prikazano kartico, AfterTabChange pa sporoči vsak preklop – ki ga izvede uporabnik ali koda ali do katerega pride, ko se obrazec odpre z uporabnikovo zapomnjeno kartico –, zato obrazec vsebino kartice naloži na enem samem mestu.

Izvedba

  1. V pogledu načrta podobrazca stranske vrstice (sfProps, sfMemo) narišite drug na drugem ob desnem robu postavitve; velikost in mesto prevzameta od prve kartice.
  2. Odprite oblikovalnik postavitve ([...] v vrstici Po meri), stran Območja, in vnesite kartici z isto skupino: cona Desno, skupina Stran in besedilo zavihka v stolpcu Zavihek (Lastnosti, Opombe). Predogled prikaže vrstico zavihkov; prikazana kartica navaja vse kartice. Kliknite V redu in shranite obrazec.

Enako s kodo:

' Design view of frmAdmin is open.
With Forms!frmAdmin!Layout1.Object
    .Panes = "lstStranke=Left; sfProps=Right:Stran; sfMemo=Right:Stran; sfGlavni=Fill"
    .PaneCaption("sfProps") = "Lastnosti"
    .PaneCaption("sfMemo") = "Opombe"
End With

Vsebino kartice naložite, ko se kartica prikaže, prvo kartico pa ob odpiranju obrazca:

Private Sub Form_Load()
    ' The card shown when the form opens raises no AfterTabChange (Access's tab control raises no
    ' Change either): load it here.
    LoadCard Me!Layout1.Object.GroupPane("Stran")
End Sub
 
Private Sub Layout1_AfterTabChange(ByVal Group As String, ByVal Pane As String, ByVal Reason As Long)
    ' Every switch: chosen by the user (wtcUser), by code - GroupPane, Reset, Layout - (wtcCode),
    ' or the user's remembered card restored when the form opened (wtcRestore).
    LoadCard Pane
End Sub
 
Private Sub LoadCard(ByVal pane As String)
    If pane = "sfMemo" And Me!sfMemo.SourceObject = "" Then Me!sfMemo.SourceObject = "frmMemo"
End Sub

Opombe

  • Kartica, prikazana ob odpiranju obrazca, ne sproži dogodka AfterTabChange: to je prva kartica skupine ali uporabnikova zapomnjena kartica, če je ta prva. Sporočena je le zapomnjena kartica, ki ni prva, in sicer z wtcRestore. Koda, ki kartice nalaga po potrebi, mora zato prikazano kartico naložiti tudi v Form_Load, sicer ta kartica ostane prazna.
  • BeforeTabChange se sproži samo za uporabnika; z Cancel ohranite prikazano kartico, na primer dokler zapisa na njej ni mogoče shraniti. GroupPane v kodi sproži AfterTabChange (wtcCode), ne pa tudi BeforeTabChange.
  • Preklop premakne fokus iz stare kartice, če ga je imela, v novo kartico, ker Access ne dovoli skriti kontrolnika, ki ima fokus. Ko fokus zapusti podobrazec, se njegov spremenjeni zapis shrani, enako kot ob kliku v drug podobrazec; za zapis, ki ga tabela zavrne, se prikaže Accessovo sporočilo.
  • Vse kartice skupine morajo biti v isti coni; skupina lahko zapolni tudi preostanek (Fill). Vrstica zavihkov je na vrhu mesta skupine in v sistemskih barvah, zato visoki kontrast sledi sistemu Windows.
  • Tipkovnica: vrstica zavihkov je tabulatorsko mesto postavitve pred delilnim trakom skupine; puščici levo in desno prikažeta sosednjo kartico, tipki Home in End pa prvo in zadnjo. UI Automation predstavi element Tab, poimenovan po skupini, z enim elementom TabItem za vsako kartico. Ctrl+Tab ni uporabljen: v podobrazcu z njim Access zapusti podobrazec.
  • Prikazana kartica je del uporabnikove razporeditve (AutoSaveLayout) in se ob naslednjem odpiranju obrazca vrne; Reset v vsaki skupini znova prikaže prvo kartico in vsako skupino, ki preklopi, sporoči z wtcCode.

Sorodne teme

sl/wiki/msaccess/comctl/how-to/build-a-side-bar-with-cards.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille