Sign in Join
Wiki copytemporary

RichMemo/pl: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: RichMemo/pl

OldNewLine
1+<figure>
2+<img src="richmemosample.png" title="RichMemo na MacOSX. Podziękowania dla Dominique&#39;a Louisa" />
3+<figcaption>RichMemo na MacOSX. Podziękowania dla Dominique'a Louisa</figcaption>
4+</figure>
5+
6+**RichMemo** jest pakietem zawierającym komponent zastępujący ten z Delphi - TRichEdit. Jest zaprojektowany tak, aby działał na wielu platformach, czyli na Win32, MacOSX oraz Linuxie. Dzięki temu, że jego głównym celem jest działanie na wielu platformach, natywne RichMemo API można z łatwością rozszerzyć tak, by było kompatybilne z Delphi.
7+
8+Głównymi cechami tego komponentu są:
9+
10+- Podświetlanie tekstu
11+- Wsparcie dla obsługi systemowego kodowania Unicode
12+
13+Planowane: (patche mile widziane)
14+
15+- Wstawianie obrazów do tekstu
16+- Osadzanie kontrolek LCL?
17+
18+Pobierany plik ZIP zawiera komponent, pakiet instalacyjny oraz aplikację demonstracyjną, która ukazuje funkcje komponentu (zależą one od platformy, więcej w tabeli na dole artykułu).
19+
20+W razie potrzeby prosimy dodać swoje raporty bugów czy też prośby o nowe funkcje na [Github](https://github.com/skalogryz/richmemo/issues).
21+
22+## Licencja
23+
24+Autor: Dmitry 'skalogryz' Boyarintsev
25+
26+[Zmodyfikowana licencja](http://svn.freepascal.org/svn/lazarus/trunk/COPYING.modifiedLGPL) [LGPL](http://svn.freepascal.org/svn/lazarus/trunk/COPYING.LGPL) (taka sama jak w FPC RTL i Lazarus LCL) . Możesz skontaktować się z autorem, jeśli zmodyfikowany LGPL nie współpracuje z licencją Twojego projektu.
27+
28+## Pobieranie
29+
30+Ostatnia wersja dostępna jest tutaj: <https://github.com/skalogryz/richmemo>
31+
32+Wersję testową można pobrać tutaj: <https://github.com/skalogryz/richmemo/archive/refs/heads/master.zip>. Snapshot jest aktualizowany co wieczór.
33+
34+## Zmiany
35+
36+- Wersja 1.0.0 z 22 czerwca 2009 r.
37+- Wersja 0.8.0 z czerwca 2009 r.
38+
39+## Zależności / Wymagania systemowe
40+
41+- Lazarus 1.0.0
42+
43+Status: Opublikowano.
44+
45+## Instalacja
46+
47+- Pobierz pakiet.
48+- Otwórz go, zainstaluj i przebuduj IDE.
49+- TRichMemo zostanie dodane na stronę ,,Common Controls".
50+
51+<figure>
52+<img src="RichMemoPalette.PNG" title="RichMemoPalette.PNG" />
53+<figcaption>RichMemoPalette.PNG</figcaption>
54+</figure>
55+
56+## TRichMemo
57+
58+### Parametry czcionki
59+
60+Parametry czcionki są głównie reprezentowane przez rekord TFontParams. Ten typ jest przeznaczony do opisu **bogatych** atrybutów czcionki. Niektóre atrybuty wykraczają poza zakres klasy TFont, więc potrzebny był dodatkowy typ. Jednak większość typów danych związanych z TFont jest ponownie używana (tzn. TFontStyles).
61+
62+- Name - nazwa (rodzina) czcionki.
63+- Size - rozmiar czcionki w punktach (ujemne wartości mogą spowodować niespodziewane skutki).
64+- Color - kolor czcionki.
65+- Style - style czcionki, w tym **pogrubienie**, *kursywa*, ~~przekreślenie~~, <u>podkreślenie</u>.
66+- HasBkClr - flaga typu boolean, gdzie tekst powinien mieć swój kolor tła (jeżeli prawda, to BkColor jest używany, w przeciwnym wypadku nie). Przezroczystość nie jest wspierana.
67+- BkColor - kolor tła (a'la podświetlenie) tekstu.
68+- VScriptPos - poziome położenie tekstu![](/wiki-images/3/3e/Richmemo_indeksy.png).
69+ - vpNormal - normalne.
70+ - vpSubscript - indeks dolny.
71+ - vpSuperscript - indeks górny.
72+
73+
74+Rzeczywiste przesunięcie pionowe indeksów zależy od systemu operacyjnego i obecnie nie można tego kontrolować.
75+
76+TFontParams możesz przypisać do struktury TFont, lecz aby tego dokonać, powinieneś użyć funkcji `GetFontParams(afont: TFont)`. Uwaga - większość komponentów LCL ma ustawione wartości TFont na domyślne (ang. ,,default"), ale nie są to wartości w pełni rzeczywiste, lecz raczej są wskazaniem domyślnej czcionki danej kontrolki (coś jak clDefault dla TColor).
77+
78+Funkcja GetFontParams rozwiązuje ten problem i zwraca rzeczywistą nazwę czcionki.
79+
80+## Metody
81+
82+### SetTextAttributes
83+
84+``` pascal
85+procedure SetTextAttributes(TextStart, TextLen: Integer; AFont: TFont);
86+```
87+
88+- TextStart : Integer - pierwszy znak do zmodyfikowania
89+- TextLen : Integer - liczba znaków do zmodyfikowania
90+- AFont : TFont - czcionka, jaka ma być zastosowana do danej części tekstu
91+
92+``` pascal
93+procedure SetTextAttributes(TextStart, TextLen: Integer; const TextParams: TFontParams);
94+```
95+
96+- TextStart : Integer - pierwszy znak do zmodyfikowania
97+- TextLen : Integer - liczba znaków do zmodyfikowania
98+- TextParams : TFontParams - parametry czcionki do ustawienia
99+
100+## Parsowanie języka znacznikowego
101+
102+![Przykład działania mlparse](/wiki-images/4/4f/Mlparse_pl.png) Natywne kontrolki rich-edit nie obsługują parsowania języka znacznikowego (np. HTMLa) - potrzebujesz do tego własnego zaimplementowanego parsera (przykład na zdjęciu obok).
103+
104+## Internale
105+
106+### Wsparcie platform - tabela
107+
108+| Funkcja | Win32 | Gtk2 | Qt | Cocoa | Carbon |
109+|----|----|----|----|----|----|
110+| Kolor czcionki i jej style w zaznaczeniu | | | | | |
111+| Kolor tła czcionki | | | | | |
112+| Indeks dolny i górny | | | | | |
113+| Pobranie stylu z zakresu (`GetStyleRange`) | | | | | |
114+| Wyrównanie akapitu | | | | | |
115+| Metryki akapitu | | | | | |
116+| Tabulatory | | | | | |
117+| Powiększanie | | | | | |
118+| Drukowanie | | | | | |
119+| Otwieranie/Zapisywanie tekstu sformatowanego (RTF) | | | | | |
120+| Wkładki (ang. ,,Insertables") | | | | | |
121+
122+### Win32
123+
124+![RichMemo bez motywu systemowego](/wiki-images/e/e9/Rm_win32_notheme.PNG) ![RichMemo z motywem systemowym](/wiki-images/1/19/Rm_win32_theme.PNG)
125+
126+---
127+*From the Free Pascal wiki, page "RichMemo/pl", as it stood on 2021-06-21 after a change by Skalogryz, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history