Sign in Join
Wiki copytemporary

RichMemo/pl: what changed

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

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>
1+![](/wiki-images/5/54/Richmemosample.png)
52
63**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.
74
85Głównymi cechami tego komponentu są:
96
107- Podświetlanie tekstu
118- Wsparcie dla obsługi systemowego kodowania Unicode
129
1310Planowane: (patche mile widziane)
1411
1512- Wstawianie obrazów do tekstu
1613- Osadzanie kontrolek LCL?
1714
1815Pobierany 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).
1916
2017W razie potrzeby prosimy dodać swoje raporty bugów czy też prośby o nowe funkcje na [Github](https://github.com/skalogryz/richmemo/issues).
2118
2219## Licencja
2320
2421Autor: Dmitry 'skalogryz' Boyarintsev
2522
2623[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.
2724
2825## Pobieranie
2926
3027Ostatnia wersja dostępna jest tutaj: <https://github.com/skalogryz/richmemo>
3128
3229Wersję testową można pobrać tutaj: <https://github.com/skalogryz/richmemo/archive/refs/heads/master.zip>. Snapshot jest aktualizowany co wieczór.
3330
3431## Zmiany
3532
3633- Wersja 1.0.0 z 22 czerwca 2009 r.
3734- Wersja 0.8.0 z czerwca 2009 r.
3835
3936## Zależności / Wymagania systemowe
4037
4138- Lazarus 1.0.0
4239
4340Status: Opublikowano.
4441
4542## Instalacja
4643
4744- Pobierz pakiet.
4845- Otwórz go, zainstaluj i przebuduj IDE.
4946- TRichMemo zostanie dodane na stronę ,,Common Controls".
5047
51-<figure>
52-<img src="RichMemoPalette.PNG" title="RichMemoPalette.PNG" />
53-<figcaption>RichMemoPalette.PNG</figcaption>
54-</figure>
48+![](/wiki-images/8/80/RichMemoPalette.PNG)
5549
5650## TRichMemo
5751
5852### Parametry czcionki
5953
6054Parametry 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).
6155
6256- Name - nazwa (rodzina) czcionki.
6357- Size - rozmiar czcionki w punktach (ujemne wartości mogą spowodować niespodziewane skutki).
6458- Color - kolor czcionki.
65-- Style - style czcionki, w tym **pogrubienie**, *kursywa*, ~~przekreślenie~~, <u>podkreślenie</u>.
59+- Style - style czcionki, w tym **pogrubienie**, *kursywa*, ~~przekreślenie~~, podkreślenie.
6660- 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.
6761- BkColor - kolor tła (a'la podświetlenie) tekstu.
6862- VScriptPos - poziome położenie tekstu![](/wiki-images/3/3e/Richmemo_indeksy.png).
6963 - vpNormal - normalne.
7064 - vpSubscript - indeks dolny.
7165 - vpSuperscript - indeks górny.
7266
7367
7468Rzeczywiste przesunięcie pionowe indeksów zależy od systemu operacyjnego i obecnie nie można tego kontrolować.
7569
7670TFontParams 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).
7771
7872Funkcja GetFontParams rozwiązuje ten problem i zwraca rzeczywistą nazwę czcionki.
7973
8074## Metody
8175
8276### SetTextAttributes
8377
8478``` pascal
8579procedure SetTextAttributes(TextStart, TextLen: Integer; AFont: TFont);
8680```
8781
8882- TextStart : Integer - pierwszy znak do zmodyfikowania
8983- TextLen : Integer - liczba znaków do zmodyfikowania
9084- AFont : TFont - czcionka, jaka ma być zastosowana do danej części tekstu
9185
9286``` pascal
9387procedure SetTextAttributes(TextStart, TextLen: Integer; const TextParams: TFontParams);
9488```
9589
9690- TextStart : Integer - pierwszy znak do zmodyfikowania
9791- TextLen : Integer - liczba znaków do zmodyfikowania
9892- TextParams : TFontParams - parametry czcionki do ustawienia
9993
10094## Parsowanie języka znacznikowego
10195
10296![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).
10397
10498## Internale
10599
106100### Wsparcie platform - tabela
107101
108102| Funkcja | Win32 | Gtk2 | Qt | Cocoa | Carbon |
109103|----|----|----|----|----|----|
110104| Kolor czcionki i jej style w zaznaczeniu | | | | | |
111105| Kolor tła czcionki | | | | | |
112106| Indeks dolny i górny | | | | | |
113107| Pobranie stylu z zakresu (`GetStyleRange`) | | | | | |
114108| Wyrównanie akapitu | | | | | |
115109| Metryki akapitu | | | | | |
116110| Tabulatory | | | | | |
117111| Powiększanie | | | | | |
118112| Drukowanie | | | | | |
119113| Otwieranie/Zapisywanie tekstu sformatowanego (RTF) | | | | | |
120114| Wkładki (ang. ,,Insertables") | | | | | |
121115
122116### Win32
123117
124118![RichMemo bez motywu systemowego](/wiki-images/e/e9/Rm_win32_notheme.PNG) ![RichMemo z motywem systemowym](/wiki-images/1/19/Rm_win32_theme.PNG)
125119
126120---
127121*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