Large i small fonts i rozmiar RichEdit i ListView

0

Piszę program, który ma na pewnej formie RichEdit, a na innej ListView (vsReport). Kiedy we właściowściach ekranu zmienię rozmiar fontów na Large, wtedy Delphi przeskalowuje te komponenty do nowej wielkosci fontow. Skutek jest taki, ze wprawdzie jest nadal tyle samo znakow w linii, ale RichEdit i ListView zaczynaja byc wieksze od formy, pojawia sie scrollbar i rzecz zaczyna wygladac kijowo. Jak sobie z tym prosto poradzic?

Zaznaczam, ze wpadlem juz na pomysl odcztywania aktualnego dpi fontow w systemie (dzieki Dryobates: http://4programmers.net/Forum/viewtopic.php?id=28558) i przeliczania wszystkich rozmiarow ale szukam prostszego rozwiazania.

0

Może wystarczy zmienić rozmiar komponentów do rozmiaru formatki, chyba że zależy ci na tej samej liczbie znaków.

Jeżeli jest to sytuacja ze rozmiar powinien pozostac ten sam to możesz spróbować zrobić coś takiego ze wraz ze zmianą aktywnego komponentu zmienia się jego rozmiar np jeden sie zmniejsza a aktywny zwieksza i w ten sposób oba są widoczne a zaden z nich nie jest zbyt mały.

Być może OnEnter może spełnić to zadanie ale nie sprawdzałem.

0

Może to co napisałem było niejasne. Komponenty są ustawione do rozmiarów formatki jak trzeba. Ale jeśli w Windowsach zmieni się ustawienia wyświetlania ze small fonts (96 dpi) na large fonts (120 dpi), wtedy komponenty zaczynają wystawac poza forme. Jesli dopasowac je na large fonts, to po zmianie na small sa mniejsze od formy. Wyglada jakby DElphi zapamietywal rozmiar formy w pixelach ale rozmiar tych komponentow w znakach. Jak znaki robia sie (w przeliczeniu na piksele ) wieksze, to komponety rosna. A forma nie - jest brzydko. Moze jakos mozna wylaczyc to skalowanie przez Delphi? Nie potrzebuje miec tej samej liczby znakow w linii.

0

Skoro wiesz jak można sprawdzić rozmiar czcionki to w oncreate sprawdzaj czy rozmiar jest ten co podczas projektowania, a jeśli nie jest; to zmień aby było odpowiednie i tyle.

0

Skoro wiesz jak można sprawdzić rozmiar czcionki to w oncreate sprawdzaj czy rozmiar jest ten co podczas projektowania, a jeśli nie jest; to zmień aby było odpowiednie i tyle.

To jest nienajlepszy pomysl, bo dane z RichEdit bywaja drukowane i nie chce zmieniac rozmiaru na wydruku.

Czekam wiec na dalsze pomysly.

0

To jest nienajlepszy pomysl, bo dane z RichEdit bywaja drukowane i nie chce zmieniac rozmiaru na wydruku.

Czekam wiec na dalsze pomysly.

Skoro tak to tuz przed wydrukiem zmieniaj tak jak było i potem przywracaj poprzedni rozmiar. Niby jest troche roboty ale powinno zadzialać.

Powodzenia.

0

A form1.scaled ??

0

A form1.scaled ??

Dzięki, Vogel!! Oczywiscie: +

1 użytkowników online, w tym zalogowanych: 0, gości: 1