RichMemo/pl: what changed
Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.
| Old | New | Line | |
|---|---|---|---|
| 1 | - | ||
| 2 | - | ||
| 3 | - | ||
| 4 | - | ||
| 1 | + |  | |
| 5 | 2 | ||
| 6 | 3 | **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 | 4 | ||
| 8 | 5 | Głównymi cechami tego komponentu są: | |
| 9 | 6 | ||
| 10 | 7 | - Podświetlanie tekstu | |
| 11 | 8 | - Wsparcie dla obsługi systemowego kodowania Unicode | |
| 12 | 9 | ||
| 13 | 10 | Planowane: (patche mile widziane) | |
| 14 | 11 | ||
| 15 | 12 | - Wstawianie obrazów do tekstu | |
| 16 | 13 | - Osadzanie kontrolek LCL? | |
| 17 | 14 | ||
| 18 | 15 | 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 | 16 | ||
| 20 | 17 | 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 | 18 | ||
| 22 | 19 | ## Licencja | |
| 23 | 20 | ||
| 24 | 21 | Autor: Dmitry 'skalogryz' Boyarintsev | |
| 25 | 22 | ||
| 26 | 23 | [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 | 24 | ||
| 28 | 25 | ## Pobieranie | |
| 29 | 26 | ||
| 30 | 27 | Ostatnia wersja dostępna jest tutaj: <https://github.com/skalogryz/richmemo> | |
| 31 | 28 | ||
| 32 | 29 | Wersję testową można pobrać tutaj: <https://github.com/skalogryz/richmemo/archive/refs/heads/master.zip>. Snapshot jest aktualizowany co wieczór. | |
| 33 | 30 | ||
| 34 | 31 | ## Zmiany | |
| 35 | 32 | ||
| 36 | 33 | - Wersja 1.0.0 z 22 czerwca 2009 r. | |
| 37 | 34 | - Wersja 0.8.0 z czerwca 2009 r. | |
| 38 | 35 | ||
| 39 | 36 | ## Zależności / Wymagania systemowe | |
| 40 | 37 | ||
| 41 | 38 | - Lazarus 1.0.0 | |
| 42 | 39 | ||
| 43 | 40 | Status: Opublikowano. | |
| 44 | 41 | ||
| 45 | 42 | ## Instalacja | |
| 46 | 43 | ||
| 47 | 44 | - Pobierz pakiet. | |
| 48 | 45 | - Otwórz go, zainstaluj i przebuduj IDE. | |
| 49 | 46 | - TRichMemo zostanie dodane na stronę ,,Common Controls". | |
| 50 | 47 | ||
| 51 | - | ||
| 52 | - | ||
| 53 | - | ||
| 54 | - | ||
| 48 | + |  | |
| 55 | 49 | ||
| 56 | 50 | ## TRichMemo | |
| 57 | 51 | ||
| 58 | 52 | ### Parametry czcionki | |
| 59 | 53 | ||
| 60 | 54 | 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 | 55 | ||
| 62 | 56 | - Name - nazwa (rodzina) czcionki. | |
| 63 | 57 | - Size - rozmiar czcionki w punktach (ujemne wartości mogą spowodować niespodziewane skutki). | |
| 64 | 58 | - Color - kolor czcionki. | |
| 65 | - | ||
| 59 | + | - Style - style czcionki, w tym **pogrubienie**, *kursywa*, ~~przekreślenie~~, podkreślenie. | |
| 66 | 60 | - 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 | 61 | - BkColor - kolor tła (a'la podświetlenie) tekstu. | |
| 68 | 62 | - VScriptPos - poziome położenie tekstu. | |
| 69 | 63 | - vpNormal - normalne. | |
| 70 | 64 | - vpSubscript - indeks dolny. | |
| 71 | 65 | - vpSuperscript - indeks górny. | |
| 72 | 66 | ||
| 73 | 67 | ||
| 74 | 68 | Rzeczywiste przesunięcie pionowe indeksów zależy od systemu operacyjnego i obecnie nie można tego kontrolować. | |
| 75 | 69 | ||
| 76 | 70 | 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 | 71 | ||
| 78 | 72 | Funkcja GetFontParams rozwiązuje ten problem i zwraca rzeczywistą nazwę czcionki. | |
| 79 | 73 | ||
| 80 | 74 | ## Metody | |
| 81 | 75 | ||
| 82 | 76 | ### SetTextAttributes | |
| 83 | 77 | ||
| 84 | 78 | ``` pascal | |
| 85 | 79 | procedure SetTextAttributes(TextStart, TextLen: Integer; AFont: TFont); | |
| 86 | 80 | ``` | |
| 87 | 81 | ||
| 88 | 82 | - TextStart : Integer - pierwszy znak do zmodyfikowania | |
| 89 | 83 | - TextLen : Integer - liczba znaków do zmodyfikowania | |
| 90 | 84 | - AFont : TFont - czcionka, jaka ma być zastosowana do danej części tekstu | |
| 91 | 85 | ||
| 92 | 86 | ``` pascal | |
| 93 | 87 | procedure SetTextAttributes(TextStart, TextLen: Integer; const TextParams: TFontParams); | |
| 94 | 88 | ``` | |
| 95 | 89 | ||
| 96 | 90 | - TextStart : Integer - pierwszy znak do zmodyfikowania | |
| 97 | 91 | - TextLen : Integer - liczba znaków do zmodyfikowania | |
| 98 | 92 | - TextParams : TFontParams - parametry czcionki do ustawienia | |
| 99 | 93 | ||
| 100 | 94 | ## Parsowanie języka znacznikowego | |
| 101 | 95 | ||
| 102 | 96 |  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 | 97 | ||
| 104 | 98 | ## Internale | |
| 105 | 99 | ||
| 106 | 100 | ### Wsparcie platform - tabela | |
| 107 | 101 | ||
| 108 | 102 | | Funkcja | Win32 | Gtk2 | Qt | Cocoa | Carbon | | |
| 109 | 103 | |----|----|----|----|----|----| | |
| 110 | 104 | | Kolor czcionki i jej style w zaznaczeniu | | | | | | | |
| 111 | 105 | | Kolor tła czcionki | | | | | | | |
| 112 | 106 | | Indeks dolny i górny | | | | | | | |
| 113 | 107 | | Pobranie stylu z zakresu (`GetStyleRange`) | | | | | | | |
| 114 | 108 | | Wyrównanie akapitu | | | | | | | |
| 115 | 109 | | Metryki akapitu | | | | | | | |
| 116 | 110 | | Tabulatory | | | | | | | |
| 117 | 111 | | Powiększanie | | | | | | | |
| 118 | 112 | | Drukowanie | | | | | | | |
| 119 | 113 | | Otwieranie/Zapisywanie tekstu sformatowanego (RTF) | | | | | | | |
| 120 | 114 | | Wkładki (ang. ,,Insertables") | | | | | | | |
| 121 | 115 | ||
| 122 | 116 | ### Win32 | |
| 123 | 117 | ||
| 124 | 118 |   | |
| 125 | 119 | ||
| 126 | 120 | --- | |
| 127 | 121 | *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).* |
