Barvna shema: Temna
Trenutno dejavna stran: start » sl » Dokumentacija » Orodja za Microsoft Access » WKL Forms Object Library » how-to » Usklajevanje barv s temo podatkovne zbirke

Usklajevanje barv s temo podatkovne zbirke

Kontrolnike WKL v podatkovni zbirki prikažite v barvah njene teme (Access: Načrt obrazca › Teme) ali pa vedno svetlo oziroma vedno temno, da so seznami, gumbi in glave videti enako kot kontrolniki Access okoli njih.

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

Pregled rešitve

  • ColorScheme je lastnost vsakega kontrolnika WKL in objekta WklToast. Sprejme štiri vrednosti WklColorScheme: wcoAutomatic (privzeto), wcoLight, wcoDark in wcoHighContrast.
  • Samodejna shema upošteva po vrsti: način visokega kontrasta v sistemu Windows, nato nabor barv teme podatkovne zbirke in nazadnje svetlo shemo. Podatkovna zbirka brez lastne teme ter uporabniški obrazec (UserForm) v Excelu ali Wordu se izrišeta svetlo. Nastavitve teme v samem Officeu (Datoteka › Račun) in načina aplikacij v sistemu Windows shema ne upošteva: podatkovna zbirka je na vsakem računalniku videti enako.
  • Barve, ki jih nastavite sami, imajo prednost. BackColor in ForeColor sledita shemi le, dokler ohranita sistemski privzeti vrednosti (okno, besedilo okna, površina gumba). Barva, izbrana na listu z lastnostmi ali s kodo, ostane enaka v vsaki shemi.
  • Berljivo v vsaki shemi. Besedilo ima proti ozadju kontrast vsaj 4,5 : 1, črte in simboli vsaj 3 : 1; barve teme, ki tega ne dosežejo, se premaknejo proti barvi besedila.
  • Visok kontrast ima vedno prednost. V načinu visokega kontrasta sistema Windows se vsak kontrolnik izriše s sistemskimi barvami uporabnikove kontrastne teme, ne glede na vrednost ColorScheme.

Izvedba

Temo podatkovne zbirke izberete enkrat: odprite poljuben obrazec v pogledu načrta, izberite Načrt obrazca › Teme in kliknite eno od tem (na primer Riviera). Kontrolniki WKL, ki ostanejo na wcoAutomatic, prevzamejo njen nabor barv, ko se njihov obrazec naslednjič odpre; drugega ni treba storiti. Tema Riviera, tema izdelkov WKL, je priložena paketu izdaje (themes\riviera); njene barve in pravila za oznake so opisani v datoteki themes\riviera.md paketa izdaje.

Shemo v oblikovalniku nastavite tako: list z lastnostmi, zavihek Drugo, vrstica Po meri [...], stran Videz, kartica Barvna shema (ColorScheme).

S kodo jo nastavite na primer tako, da je seznam na začetni strani temen, obvestila aplikacije pa vedno svetla:

Option Compare Database
Option Explicit
 
Private mToast As WklToast
 
Private Sub Form_Load()
    Me!lstKunden.Object.ColorScheme = wcoDark
    Me!barKopf.Object.ColorScheme = wcoDark
 
    Set mToast = New WklToast
    mToast.ColorScheme = wcoLight
End Sub
 
Private Sub cmdSpeichern_Click()
    mToast.Show "Gespeichert.", wtkSuccess
End Sub

Če naj vsi kontrolniki obrazca sledijo eni izbiri uporabnika (na primer nastavitvi „temni način“ v tabeli nastavitev aplikacije), obrazec lastnost nastavi v zanki:

Public Sub SetSchemeOfForm(ByVal frm As Form, ByVal scheme As WklColorScheme)
    Dim ctl As Control
    For Each ctl In frm.Controls
        If ctl.ControlType = acCustomControl Then TrySetScheme ctl, scheme
    Next
End Sub
 
' WklBadge, WklValidator and ActiveX controls of other vendors have no ColorScheme (error 438).
Private Sub TrySetScheme(ByVal ctl As Control, ByVal scheme As WklColorScheme)
    On Error Resume Next
    ctl.Object.ColorScheme = scheme
End Sub

Opombe

  • WklBadge in WklValidator nimata lastnosti ColorScheme: izrisujeta le barve svojih vrst (informacija, opozorilo, napaka), ki na vsakem ozadju ohranijo bledo polnilo in temno besedilo.
  • Nabor barv se prebere iz podatkovne zbirke, ko se kontrolnik prvič izriše (nikoli med tem, ko Access izrisuje obrazec), in znova, ko se obrazec na novo odpre ali se izvede Requery. Tema, ki jo spremenite med odprtim obrazcem, se pokaže, ko obrazec znova odprete.
  • ColorScheme se shrani z obrazcem. Obrazec, shranjen brez vrednosti, uporablja wcoAutomatic. Večina podatkovnih zbirk ima privzeto temo programa Access Office (Access jo doda ob prvem obrazcu): njihovi kontrolniki WKL tedaj prevzamejo njen nabor barv – izbor v barvi poudarka Officea, rahlo sive glave – in se tako ujemajo z Accessovimi obrazci ob njih. Kjer naj kontrolnik ne glede na temo ohrani preprost svetel videz, nastavite wcoLight.
  • WklToast nastavitev ohrani le, dokler objekt obstaja; wcoAutomatic prebere nabor barv enkrat ob vsakem klicu Show.

Sorodne teme

sl/wiki/msaccess/comctl/how-to/match-the-colours-of-the-database-design.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille