Opcje wydruku raportu w pliku *.MDE. Ustawianie i odczyt.
- Otwiera okno "Ustawienia strony" i oczekuje na zmianę opcji: Wydruk raportu.
- Po kliknięciu przycisku OK, ponownie otwiera okno "Ustawienia strony", odczytuje wszystkie opcje wydruku, zapisuje je w tabeli i zamyka okno.
- Otwiera (pokazuje) raport z ustawieniami zapisanymi w tabeli.
- Dla jednego raportu może być zapisanych kilka opcji wydruku.
Jest to rozwinięcie tematu odczytu i zapisu opcji wydruku przykładu BraPrintMDE oraz opisu metod i funkcji użytych w tym celu (opisanych na stronie Drukuj *.MDE).
Ponieważ, moim zdaniem, tamten przykład zbytnio sugerował, że jest to nakładka na okno Accessa "Ustawienia strony", a nie sposób bezpośredniego dokonania zmian opcji wydruku z kodu VBA postanowiłem bardziej przybliżyć opisywaną metodę.
- Specjalne podziękowania dla Krzysztofa Naworyty za:
- 1. "Niech okno 'Ustawienia strony' samo sprawdza swoje ustawienia".
- 2. Aby ograniczyć migotanie okna przesuń je poza ekran.
- Ja dodałem od siebie:
- Błąd nr 2501 - "akcja RunCommand została anulowana", może poinformować nas, że:
- 1. przy błędzie - opcje wydruku raportu zostały Anulowane przez Użytkownika
- 2. brak błędu - użytkownik zatwierdził zmiany opcji wydruku przyciskiem OK.
Wydruk raportu. Odczyt i ustawianie opcji w oknie "Ustawienia strony".
- Tworzy listę zawierającą: klasę okna, tekst (stan) okna oraz ID okna wszystkich okien w oknie dialogowym "Ustawienia strony".
- Odczytuje wartości i stan wszystkich opcji ustawienia wydruku.
- Ustawia niektóre opcje wydruku raportu w oknie "Ustawienia strony".
- Otwiera (pokazuje) raport z nowymi ustawieniami.
Pierwsza robocza wersja bazy, w której były odczytywane i zapisywane opcje wydruku raportów w pliku *.mde.
Całość przedstawiona była w postaci formularza sugerującego jakoby był nakładką na Accessowe okno "Ustawienia strony".
Szczegółowy opis metod i funkcji użytych w tym celu znajduje się na stronie Drukuj *.MDE
Lista zainstalowanych drukarek w systemie.
Początkowo miał to być przykład zastosowania funkcji SendMessage z parametrem WM_SETREDRAW w celu wyeliminowania tzw. "migotania okien" po otwarciu okna dialogowego Access'a, odczytaniu danych z tego okna i po jego zamknięciu.
W końcowym efekcie powstał przykład umożliwiający odczytanie zainstalowanych drukarek w systemie bez wizualnego efektu "migotania okien". Dodatkowo okazało się, że o wiele lepszą funkcją do tego celu jest funkcja LockWindowUpdate
W celach poglądowych pozostawiłem dwie wersje odczytu listy drukarek tzn. z migotaniem okien i bez migotania oraz testowy przykładzik z funkcją LockWindowUpdate
- Klasyczny (do tej pory) odczyt listy drukarek
- Odczyt listy drukarek z zastosowaniem funkcji:
SendMessage hDsk, WM_SETREDRAW , ByVal False, ByVal 0&
- Aby różnice były bardziej widoczne TimerInterval został ustawiony na 1000 milisekund.
- Wstępny test funkcji LockWindowUpdate (frmTest)
Zmiana drukarki i niektórych opcji wydruku raportu w pliku *.MDE.
- Blokuje odświeżanie ekranu.
- Otwiera raport w oknie bazy.
- Wywołuje okno dialogowe "Ustawienia strony".
- Zmienia orientację strony wielkość oraz marginesów.
- Zmienia opcję drukarka domyślna/drukarka konkretna.
- Otwiera następne okno - "Ustawienia strony-Drukarka" i ustawia wybraną drukarkę.
- Odblokowuje odświeżanie ekranu.
- Ograniczenia BraPrintPreview:
- W przypadku wprowadzenia błędnej wartości opcji (argumentu) może wystąpić nieobsłużony błąd wywołania przez otwarte w tle okna dialogowe "Ustawień...") co w przypadku zablokowanego odświeżania okien spowoduje objaw "pseudozawieszenia" Accessa.
- Korzysta z dwóch instancji formularza "frmTimer".
Zmiana drukarki i niektórych opcji wydruku raportu w pliku *.MDE i bezpośredni wydruk raportu (bez podglądu).
- Blokuje odświeżanie ekranu.
- Otwiera raport w oknie bazy.
- Wywołuje okno dialogowe "Drukuj".
- Zmienia drukarkę, zakres wydruku i inne opcje wydruku.
- Odblokowuje odświeżanie ekranu.
- Ograniczenia BraPrintOut:
- W przypadku wprowadzenia błędnej wartości opcji (argumentu) może wystąpić nieobsłużony błąd wywołania przez otwarte w tle okna dialogowe "Ustawień...") co w przypadku zablokowanego odświeżania okien spowoduje objaw "pseudozawieszenia" Accessa.
- Korzysta z jednej instancji formularza "frmTimer".
Prosty wykres kołowy i słupkowy w raporcie bez ActiveX.
- Wykorzystanie wbudowanych funkcji Access'a Circle i Line do rysowania prostych wykresów kołowych i słupkowych.
- Zastosowanie funkcji Circle do narysowania wypełnionej elipsy, która otacza tekst jednolinijkowej "Etykiety".
- Sposób opisania koła na formancie "Etykieta".
- Pseudowypełnienie tła "Etykiety" kolorowym wzorem.