Warsztat 2: Odczyt listy dostępnych fontów.

ReadFontList.zip
Autorzy: Grzegorz Banasiak i Krzysztof Naworyta
Baza w formacie MsAccess 97
28kB, 24-05-2003

Opis problemu:

Zdarza się, że chcielibyśmy dać użytkownikowi możliwość wybory czcionki, jak to zwykle można spotkać w edytorach i niektórych innych aplikacjach. Czasem też zdarza się, że chcielibyśmy po prostu sprawdzić, czy dana czcionka jest zainstalowana na komputerze użytkownika. Jak to zrobić? 

Prezentowany pomysł Grzegorza Banasiaka budzi uznanie swoja prostota i oryginalnością. 

Rozwiązanie:

Dotychczas odczytanie nazw dostępnych fontów realizowane było za pomocą odwołań do funkcji API. Odpowiedni przykład podaje na swoich stronach Lebans: http://www.lebans.com/enumfonts.htm.

Okazało się jednak, że można to zrobić również bez korzystania z API poprzez odczytanie wartości z wbudowanego paska formatowania arkusza danych "Formatting (Datasheet)". Kod pracuje we wszystkich wersjach Accessa, nie posiadam Run-Time'a więc nie sprawdziłem w tym środowisku. Pasek formatowania staje się aktywny (kontrolka listy fontów wypełnia się wartościami), kiedy fokus ustawiony jest na arkuszu danych, dlatego przed odczytaniem listy fontów wywoływany jest ukryty formularz w widoku arkusz danych, reszta jest już prosta. Przy okazji dziękuję Krzysztofowi Naworycie za cenne uwagi, które przyczyniły się do powstania tego rozwiązania.

Grzegorz Banasiak