AutoIt/Funkcje GUI
Pasek narzędziowy (Toolbar)
edytujWstęp
edytujZestaw kontrolek obsługiwanych przez wbudowane funkcje AitoIt nie obejmuje bardzo popularnego w nowszych programach paska narzędziowego. Tworzenie i obsługę tego typu kontrolek umożliwia standardowy UDF o nazwie GuiToolbar.au3.
UDF jest bardzo rozbudowany, zawiera ponad sto funkcji do tworzeni, usuwania, odczytu, ustawiania i zmiany wyglądu elementów paska.
Wszystkie nazwy stałych są zdefiniowane w ToolbarConstants.au3. Dołączenie tych definicji jest realizowane przez GuiToolbar.au3, więc nie trzeba robić tego w programie.
Funkcje podstawowe
edytuj_GUICtrlToolbar_Create
edytuj#include <GuiToolbar.au3> _GUICtrlToolbar_Create($hWnd [, $iStyle = 0x800 [, $iExStyle = 0]])
Funkcja tworzy pasek narzędziowy. Zwraca uchwyt do kontrolki, lub 0 gdy wystąpił błąd.
$hWnd - uchwyt do okna GUI, w którym ma być utworzona kontrolka.
$iStyle - styl okna:
$TBSTYLE_FLAT | 0x800 | pasek jednowierszowy, tekst pod ikoną (domyślnie) $TBSTYLE_LIST | 0x1000 | pasek jednowierszowy, tekst po prawej stronie ikony $TBSTYLE_WRAPABLE | 0x200 | pasek wielowierszowy (jeżeli przyciski nie mieszczą się w jednym wierszu) $TBSTYLE_TRANSPARENT | 0x8000 | pasek przezroczysty (ale przyciski nie są przezroczyste)
$iExStyle - dodatkowy parametr stylu (domyślna wartość 0):
_GUICtrlToolbar_AddButton
edytuj#include <GuiToolbar.au3> _GUICtrlToolbar_AddButton($hToolbar, $iID, $iImage [, $iString = 0 [, $iStyle = 0 [, $iState = 4 [, $iParam = 0]]]])
Funkcja dodaje przycisk do paska narzędziowego. Zwraca 1 gdy sukces, lub 0 gdy wystąpił błąd.
$hToolbar - uchwyt do paska narzędziowego
$iID - ID przycisku nadane przez programistę
$iImage - indeks obrazka na przycisku. Przy korzystaniu z zasobów systemowych jest to:
$STD_COPY - Kopiuj (Copy) $STD_CUT - Wytnij (Cut) $STD_DELETE - Usuń (Delete) $STD_FILENEW - Nowy plik (New file) $STD_FILEOPEN - Otwórz plik (Open file) $STD_FILESAVE - Zapisz plik (Save file) $STD_FIND - Szukaj (Find) $STD_HELP - Pomoc (Help) $STD_PASTE - Wklej (Paste) $STD_PRINT - Drukuj (Print) $STD_PRINTPRE - Podgląd wydruku (Print preview) $STD_PROPERTIES - Właściwości (Properties) $STD_REDOW - Ponów (Redo) $STD_REPLACE - Zamień (Replace) $STD_UNDO - Cofnij (Undo)
Pozostałe opcjonalnie:
$iString - indeks stringu z opisem przycisku
$iStyle - styl przycisku
$iState - status przycisku
$IParam - dodatkowy parametr (w zasadzie należy używać tylko wartości domyślnej)
_GUICtrlToolbar_AddButtonSep
edytuj#include <GuiToolbar.au3> _GUICtrlToolbar_AddButtonSep($hToolbar [, $iWidth = 6])
Funkcja wstawia separator do paska narzędziowego. Nie zwraca żadnej wartości.
$hToolbar - uchwyt do paska narzędziowego
$iWidth - szerokość separatora w pikselach (domyślna wartość to 6 pikseli)
_GUICtrlToolbar_AddBitmap
edytuj#include <GuiToolbar.au3> _GUICtrlToolbar_AddBitmap($hToolbar, $iButtons, $hInst, $iID)
$hToolbar - uchwyt do paska narzędziowego
$iButtons - ilość obrazów przycisków w bitmapie (jeżeli korzystamy z zasobów systemowych parametr ten nie ma znaczenie i może mieć dowolną wartość)
$hInst - uchwyt do instancji modułu z pliku wykonywalnego, który zawiera zasób grafiki rastrowej. Jeżeli chcemy korzystać z zasobów systemowych parametr należy ustawić na -1.
$hID - ID bitmapy z obrazkami przycisków. Przy korzystaniu z zasobów systemowych jest to ID zasobu:
$IDB_STD_LARGE_COLOR - duże standardowe ikony $IDB_STD_SMALL_COLOR - małe standardowe ikony $IDB_VIEW_LARGE_COLOR - duże ikony w bardziej kolorowej wersji $IDB_VIEW_SMALL_COLOR - małe ikony w bardziej kolorowej wersji
_GUICtrlToolbar_AddString
edytuj#include <GuiToolbar.au3> _GUICtrlToolbar_AddString($hToolbar, $sString)
Funkcja dodaje nowy string do opisu przycisków paska narzędziowego. Zwraca numer indeksu, lub -1 gdy wystąpił błąd.
Numerowanie rozpoczyna się od 0, kolejno dodawane stringi będą miały indeksy 0, 1, 2, ... itd.
$hToolbar - uchwyt do paska narzędziowego
$hString - string z opisem przycisku
_GUICtrlToolbar_IsButtonPressed
edytuj#include <GuiToolbar.au3> _GUICtrlToolbar_IsButtonPressed($hToolbar, $iID)
Funkcja sprawdza czy został wciśnięty przycisk o podanym ID. Zwraca True gdy przycisk został wciśnięty, lub False gdy nie jest wciśnięty.
$hToolbar - uchwyt do paska narzędziowego
$iID - numer ID przycisku (jest nadawany przez programistę podczas tworzenia przycisku funkcją _GUICtrlToolbar_AddButton)
Tworzenie paska narzędziowego
edytujOmówione powyżej funkcję stanowią podstawę do utworzenia paska narzędziowego z opisanymi przyciskami. Można to zrobić np. tak:
#include <GuiToolbar.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
$GUI = GUICreate("Test tworzenia paska narzędziowego:", 400, 200) ;tworzenie okna GUI
Local Enum $idOpen=1000, $idSave, $idDelete, $idHlp ;nadanie wartości
$hToolbar = _GUICtrlToolbar_Create($GUI) ;utworzenie paska narzędziowego
;opisy na przyciskach
_GUICtrlToolbar_AddString($hToolbar, "Otwórz")
_GUICtrlToolbar_AddString($hToolbar, "Zapisz")
_GUICtrlToolbar_AddString($hToolbar, "Usuń")
_GUICtrlToolbar_AddString($hToolbar, "Pomoc")
;obrazki na przyciskach (korzystamy z zasobów systemowych)
_GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_VIEW_LARGE_COLOR)
;tworzenie przycisków
_GUICtrlToolbar_AddButton($hToolbar, $idOpen, $STD_FILEOPEN, 0)
_GUICtrlToolbar_AddButton($hToolbar, $idSave, $STD_FILESAVE, 1)
_GUICtrlToolbar_AddButton($hToolbar, $idDelete, $STD_DELETE, 2)
_GUICtrlToolbar_AddButtonSep($hToolbar, 12) ;separator
_GUICtrlToolbar_AddButtonSep($hToolbar, 0) ;separator
_GUICtrlToolbar_AddButton($hToolbar, $idHlp, $STD_HELP, 3)
GUISetState()
Do
Select
Case _GUICtrlToolbar_IsButtonPressed($hToolbar, $idOpen)
MsgBox(0,"Wybrano:","Otwórz",2)
Case _GUICtrlToolbar_IsButtonPressed($hToolbar, $idSave)
MsgBox(0,"Wybrano:","Zapisz",2)
Case _GUICtrlToolbar_IsButtonPressed($hToolbar, $idDelete)
MsgBox(0,"Wybrano:","Usuń",2)
Case _GUICtrlToolbar_IsButtonPressed($hToolbar, $idHlp)
MsgBox(0,"Wybrano:","Pomoc",2)
EndSelect
Until GUIGetMsg() = $GUI_EVENT_CLOSE
Funkcje dodatkowe
edytuj_GUICtrlToolbar_Destroy
edytuj#include <GuiToolbar.au3> _GUICtrlToolbar_Destroy(ByRef $hToolbar)
Funkcja usuwa pasek narzędziowy łącznie z wszystkimi przyciskami. Zwraca 1 gdy sukces, lub 0 gdy wystąpił błąd.
$hToolbar - uchwyt do kontrolki zwrócony przez funkcję _GUICtrlToolbar_Create
UWAGA: Funkcja działa tylko na paski narzędziowe utworzone przez _GUICtrlToolbar_Create.
_GUICtrlToolbar_ButtonCount
edytuj#include <GuiToolbar.au3> _GUICtrlToolbar_ButtonCount($hToolbar)
Funkcja zwraca ilość przycisków na pasku narzędziowym.
$hToolbar - uchwyt do paska narzędziowego
UWAGA: Separatory są także zliczane jak zwykłe przyciski.
_GUICtrlToolbar_CheckButton
edytuj#include <GuiToolbar.au3> _GUICtrlToolbar_CheckButton($hToolbar, $iID [, $fCheck = True])
Funkcja zaznacza lub usuwa zaznaczenie przycisku. Zwraca True gdy sukces, lub False gdy wystąpił błąd.
$hToolbar - uchwyt do paska narzędziowego
$iID - ID przycisku nadane przez programistę
$Check - True - zaznaczanie przycisku (wartość domyślna), False - usunięcie zaznaczenia
Przykład:
#include <GuiToolbar.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
$GUI = GUICreate("Test:", 200, 200)
Local Enum $idOpen=1000, $idHelp
$hToolbar = _GUICtrlToolbar_Create($GUI)
_GUICtrlToolbar_AddString($hToolbar, "Otwórz")
_GUICtrlToolbar_AddString($hToolbar, "Pomoc")
_GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_VIEW_LARGE_COLOR)
_GUICtrlToolbar_AddButton($hToolbar, $idOpen, $STD_FILEOPEN, 0)
_GUICtrlToolbar_AddButtonSep($hToolbar)
_GUICtrlToolbar_AddButton($hToolbar, $idHelp, $STD_HELP, 1)
GUISetState()
Do
$msg = GUIGetMsg()
_GUICtrlToolbar_CheckButton($hToolbar, $idOpen)
Sleep(1000)
_GUICtrlToolbar_CheckButton($hToolbar, $idOpen, False)
Sleep(1000)
Until $msg
_GUICtrlToolbar_PressButton
edytuj#include <GuiToolbar.au3> _GUICtrlToolbar_PressButton($hToolbar, $iID [, $fPress = True])
Funkcja symuluje wciśnięci (zwolnienie) przycisku w pasku narzędziowym. Zwraca True gdy sukces, lub False gdy wystąpił błąd.
$hToolbar - uchwyt do paska narzędziowego
$iID - ID przycisku nadane przez programistę
$fPress - True (wartość domyślna) oznacza wciśnięcie przycisku, False jego zwolnienie
Przykład:
#include <GuiToolbar.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
Global Enum $idNew = 1000, $idOpen, $idSave, $idHelp
$hGUI = GUICreate("Toolbar", 600, 400)
$hToolbar = _GUICtrlToolbar_Create($hGUI)
_GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_LARGE_COLOR)
_GUICtrlToolbar_AddString($hToolbar, "&Nowy")
_GUICtrlToolbar_AddString($hToolbar, "&Otwórz")
_GUICtrlToolbar_AddString($hToolbar, "&Zapisz")
_GUICtrlToolbar_AddString($hToolbar, "&Pomoc")
_GUICtrlToolbar_AddButton($hToolbar, $idNew, $STD_FILENEW, 0)
_GUICtrlToolbar_AddButton($hToolbar, $idOpen, $STD_FILEOPEN, 1)
_GUICtrlToolbar_AddButton($hToolbar, $idSave, $STD_FILESAVE, 2)
_GUICtrlToolbar_AddButtonSep($hToolbar)
_GUICtrlToolbar_AddButton($hToolbar, $idHelp, $STD_HELP, 3)
GUISetState()
Sleep(2000)
_GUICtrlToolbar_PressButton($hToolbar, $idSave) ;wciśnięcie przycisku
If _GUICtrlToolbar_IsButtonPressed($hToolbar, $idSave) Then MsgBox(0, "Test:", _
"Symulacja wciśnięcia przycisku: Zapisz")
_GUICtrlToolbar_PressButton($hToolbar, $idSave, False) ;zwolnienie przycisku
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
_GUICtrlToolbar_SetButtonText
edytuj#include <GuiToolbar.au3> _GUICtrlToolbar_SetButtonText($hToolbar, $iID, $sText)
Funkcja zmienia opis przycisków paska narzędziowego. Zwraca True gdy sukces, lub False gdy wystąpił błąd.
$hToolbar - uchwyt do paska narzędziowego
$iID - ID przycisku nadane przez programistę
$sText - nowy tekst opisu przycisku
UWAGA: Nowy opis powinien być krótszy od pierwotnego, w przeciwnym razie jego część będzie zastąpiona kropkami.
W razie konieczności wydłużyć pierwotny opis dodając na jego końcu odpowiednią ilość spacji.
Przykład:
#include <GuiToolbar.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
Global Enum $idNew = 1000, $idOpen, $idSave, $idHelp
$hGUI = GUICreate("Toolbar", 600, 400)
$hToolbar = _GUICtrlToolbar_Create($hGUI)
_GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_LARGE_COLOR)
_GUICtrlToolbar_AddString($hToolbar, "&New")
_GUICtrlToolbar_AddString($hToolbar, "&Open ")
_GUICtrlToolbar_AddString($hToolbar, "&Save")
_GUICtrlToolbar_AddString($hToolbar, "&Help")
_GUICtrlToolbar_AddButton($hToolbar, $idNew, $STD_FILENEW, 0)
_GUICtrlToolbar_AddButton($hToolbar, $idOpen, $STD_FILEOPEN, 1)
_GUICtrlToolbar_AddButton($hToolbar, $idSave, $STD_FILESAVE, 2)
_GUICtrlToolbar_AddButtonSep($hToolbar)
_GUICtrlToolbar_AddButton($hToolbar, $idHelp, $STD_HELP, 3)
GUISetState()
Sleep(2000)
MsgBox(0, "Test", "Zmiana opisu przycisków")
_GUICtrlToolbar_SetButtonText($hToolbar, $idNew, "&Nowy")
_GUICtrlToolbar_SetButtonText($hToolbar, $idOpen, "&Otwórz")
_GUICtrlToolbar_SetButtonText($hToolbar, $idSave, "&Zapis")
_GUICtrlToolbar_SetButtonText($hToolbar, $idHelp, "&Pomoc")
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
_GUICtrlToolbar_SetStyle
edytuj#include <GuiToolbar.au3> _GUICtrlToolbar_SetStyle($hToobar, $iStyle)
Funkcja ustala styl paska narzędziowego. Zwraca True gdy sukces, lub False gdy wystąpił błąd.
$hToolbar - uchwyt do paska narzędziowego
$iStyle - kod stylu paska
$CCS_TOP - pasek na górze $CCS_BOTTOM - pasek na dole $TBSTYLE_TOOLTIPS - pasek może być wielowierszowy (jeżeli przyciski nie mieszczą się w jednym wierszu) $TBSTYLE_FLAT - pasek jednowierszowy, opis pod spodem odrazka $TBSTYLE_LIST - pasek jednowierszowy, opis z prawej strony obrazka $TBSTYLE_TRANSPARENT - pasek przezroczysty
Kody można łączyć za pomocą funkcji BitOR, np.: BitOR($TBSTYLE_WRAPABLE, $CCS_TOP).
_GUICtrlToolbar_GetStyle
edytuj#include <GuiToolbar.au3> _GUICtrlToolbar_GetStyle($hToolbar)
Funkcja odczytuje kod stylu paska narzędziowego. Zwraca ten kod lub 0 gdy wystąpił błąd.
$hToolbar - uchwyt do paska narzędziowego
Przykład:
#include <GuiToolbar.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
Enum $idNew = 1000, $idOpen, $idSave, $idHelp
$hGUI = GUICreate("", 120, 300, 700, 200)
$hToolbar = _GUICtrlToolbar_Create($hGUI)
;ustalenie stylu paska
_GUICtrlToolbar_SetStyle($hToolbar, BitOR($TBSTYLE_WRAPABLE, $CCS_TOP))
_GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_LARGE_COLOR)
$a1 = _GUICtrlToolbar_AddString($hToolbar, "&Nowy")
$a2 = _GUICtrlToolbar_AddString($hToolbar, "&Otwórz")
$a3 = _GUICtrlToolbar_AddString($hToolbar, "&Zapis")
$a4 = _GUICtrlToolbar_AddString($hToolbar, "&Pomoc")
_GUICtrlToolbar_AddButton($hToolbar, $idNew, $STD_FILENEW, $a1)
_GUICtrlToolbar_AddButton($hToolbar, $idOpen, $STD_FILEOPEN, $a2)
_GUICtrlToolbar_AddButton($hToolbar, $idSave, $STD_FILESAVE, $a3)
_GUICtrlToolbar_AddButton($hToolbar, $idHelp, $STD_HELP, $a4)
GUISetState()
MsgBox(0, "", "Styl: 0x" & Hex(_GUICtrlToolbar_GetStyle($hToolbar)))
;zmiana stylu
_GUICtrlToolbar_SetStyle($hToolbar, BitOR($TBSTYLE_LIST, $CCS_BOTTOM))
GUISetState()
MsgBox(0, "", "Styl: 0x" & Hex(_GUICtrlToolbar_GetStyle($hToolbar)))
Edytor tekstu w formacie RTF
edytujWstęp
edytujPodstawowy zestaw kontrolek Autoit zawiera tylko edytor czystego tekstu (txt). W bibliotece standardowej znajduje się biblioteka funkcji do obsługi bardziej zaawansowanego formatu RTF (Rich Text Format).
Format ten opracowany w 1987 r. przez Microsoft umożliwia zmianę wielkości, kroju i koloru czcionki oraz tworzenie tabel. Jest bardzo popularny i dostępny niemal w każdym bardziej zaawansowanym edytorze tekstu.
Funkcje do obsługi kontrolki edytora RTF zawarte są w UDF o nazwie GuiRichEdit.au3. Jest on bardzo rozbudowany i zawiera prawie sto funkcji.
Podstawowe funkcje do tworzenie kontrolki RTF
edytuj_GUICtrlRichEdit_Create
edytuj#include <GuiRichEdit.au3> _GUICtrlRichEdit_Create($hWnd, $sText, $iLeft, $iTop [, $iWidth = 150 [, $iHeight = 150 [, $iStyle = -1 [, $iExStyle = -1]]]])
Funkcja tworzy kontrolkę edytora RTF. Zwraca uchwyt do kontrolki lub 0 gdy wystąpił błąd. Makro @error przyjmuje wtedy wartość:
103 - $iLeft < 0 104 - $iTop < 0 105 - $iWidth nie jest >0 lub równe -1 106 - $iHeight nie jest >0 lub równe -1 107 - $iStyle nie jest >0 lub równe -1 108 - $iExStyle nie jest >0 lub równe -1 UWAGA: -1 oznacza wartość domyślną
$hWnd - uchwyt do okna GUI, w którym ma być utworzona kontrolka
$sText - tekst do wstawienia w kontrolce
$iLeft i $iTop - współrzędne lewego górnego narożnika kontrolki
$iWidth - szerokość kontrolki
$iHeight - wysokość kontrolki
$iStyle - styl kontrolki
$ES_AUTOHSCROLL - automatyczne przewijanie tekstu w prawo o 10 znaków, gdy użytkownik wpisze znak na końcu linii $ES_AUTOVSCROLL - automatycznie przewija tekst o stronę, gdy użytkownik naciśnie klawisz ENTER w ostatniej linii $WS_HSCROLL - kontrolka z poziomym pasekiem przewijania $WS_VSCROLL - kontrolka z pionowym paskiem przewijania $ES_CENTER - centrowanie tekstu $ES_LEFT - wyrównanie tekstu do lewego marginesu $ES_MULTILINE - tekst wielowierszowy (domyślne) $ES_NOHIDESEL - zaznaczony tekst jest w negatywie, nawet jeśli kontrola nie jest aktywna $ES_NUMBER - pozwala wpisywać tylko cyfry $ES_READONLY - tekst tylko do odzczytu, edycja zablokowana $ES_RIGHT - wyrównanie tekstu do prawego marginesu $ES_WANTRETURN - powrót karetki po naciśnięciu ENTER (ustawienie domyślne) $ES_PASSWORD - wyświetla gwiazdki (*) zamiast znaków wpisanych do pola edycyjnego
$iExStyle - kod rozszerzenia stylu, wg standardowych stałych $WS_EX_...
UWAGA:
1. Kody można łączyć za pomocą funkcji BitOR.
2. Przed zakończeniem skryptu należy użyć funkcji _GUICtrlRichEdit_Destroy().
_GUICtrlRichEdit_Destroy
edytuj#include <GuiRichEdit.au3> _GUICtrlRichEdit_Destroy(ByRef $hRTF)
Funkcja usuwa kontrolkę edytora RTF. Zwraca TRUE gdy sukces, jednocześnie zerując zmienną zawierającą uchwyt do kontrolki. Jeżeli wystąpił błąd funkcja zwraca 0, a makro @error przyjmuje wartość -1 (funkcja próbuje zniszczyć kontrolkę należącą do innej aplikacji).
$hRTF - uchwyt do kontrolki edytora RTF
_GUICtrlRichEdit_AppendText
edytuj#include <GuiRichEdit.au3> _GUICtrlRichEdit_AppendText($hRTF, $sText)
Funkcja dodaje tekst do tekstu w kontrolce (na końcu). Zwraca TRUE gdy sukces, FALSE gdy wystąpił błąd (@error przyjmuje wartość 101 - $hRTF nie zawiera uchwytu do kontrolki).
$hRTF - uchwyt do kontrolki edytora RTF
$sText - dopisywany tekst
_GUICtrlRichEdit_SetText
edytuj#include <GuiRichEdit.au3> _GUICtrlRichEdit_SetText($hRTF, $sText)
Funkcja nadpisuje tekst w kontrolce. Zwraca TRUE gdy sukces, FALSE gdy wystąpił błąd (@error przyjmuje wartość 101 - $hRTF nie zawiera uchwytu do kontrolki).
$hRTF - uchwyt do kontrolki edytora RTF
$sText - nadpisywany tekst
_GUICtrlRichEdit_GetText
edytuj#include <GuiRichEdit.au3> _GUICtrlRichEdit_GetText($hRTF [, $fCrToCrLf = False [, $iCodePage = 0 [, $sReplChar = ""]]])
Funkcja zwraca pobrany tekst z kontrolki RTF. Jeżeli wystąpił błąd zwraca pusty string "", a makro @error przyjmuje wartość:
101 - $hRTF nie zawiera uchwytu 102 - $fCrToCrLf ma inną wartość niż TRUE lub FALSE 103 - $iCodePage nie jest liczbą 700 - błąd wewnętrzny
$fCrToCrLf - konwersja każdego CR na CRLF, TRUE - tak, FALSE - nie (wartość domyślna)
$iCodePage - strona kodowa używana w tłumaczeniu, domyślna wartość 0, co oznacza domyślne ustawienie w systemie, CP_ACP - ANSI, 1200 - Unicode
$sReplChar - znak jaki ma być wstawiony w miejsce znaku występującego w odczytanym tekście, jeżeli nie występuje on w zadeklarowanej stronie kodowej. Domyślnie jest to pusty string, czyli znak zostanie pominięty. Makro @extended zawiera ilość podmian.
UWAGA: Zwracany jest czysty tekst, bez znaków formatujących.
_GUICtrlRichEdit_StreamFromFile
edytuj#include <GuiRichEdit.au3> _GUICtrlRichEdit_StreamFromFile($hRTF, $sFilespec)
Funkcja wczytuje z pliku do kontrolki tekst w formacie RTF. Zwraca TRUE gdy sukces, lub FALSE gdy wystąpił błąd. Makro @error przyjmuje wtedy wartość:
101 - $hRTF nie zawiera uchwytu 1121 - nie można otworzyć pliku 1122 - plik jest pusty 700 - próba przesłania zbyt wielu znaków
$hRTF - uchwyt do kontrolki edytora RTF
$sFilespec - nazwa pliku do wczytania
_GUICtrlRichEdit_StreamFromVar
edytuj#include <GuiRichEdit.au3> _GUICtrlRichEdit_StreamFromVar($hRTF, $sVar)
Funkcja wczytuje ze zmiennej do kontrolki tekst w formacie RTF. Zwraca TRUE gdy sukces, lub FALSE gdy wystąpił błąd. Makro @error przyjmuje wtedy wartość:
101 - $hRTF nie zawiera uchwytu 700 - próba przesłania zbyt wielu znaków
$hRTF - uchwyt do kontrolki edytora RTF
$sVar - nazwa zmiennej do wczytania
_GUICtrlRichEdit_StreamToFile
edytuj#include <GuiRichEdit.au3> _GUICtrlRichEdit_StreamToFile($hRTF, $sFilespec [, $fIncludeCOM=True [, $iOpts=0 [, $iCodePage = 0]]])
Funkcja zapisuje tekst z kontrolki do pliku zachowując format RTF lub TXT. Zwraca TRUE gdy sukces, lub FALSE gdy wystąpił błąd. Makro @error przyjmuje wtedy wartość:
101 - $hRTF nie zawiera uchwytu 102 - nie można utworzyć pliku 1041 - $SFF_PLAINRTF nieprawidłowy dla pliku tekstowego 1042 - $opts: nieprawidłowa opcja 1043 - $SF_UNICODE jest ważne tylko dla pliku tekstowego 700 - błąd wewnętrzny
$hRTF - uchwyt do kontrolki edytora RTF
$sFilespec - nazwa pliku do zapisania, jeżeli rozszerzenie jest .rtf (np. "tekst.rtf"), to plik będzie zapisany w formacie RTF, w przeciwnym razie jako TXT.
$fIncludeCOM -
$iOpts - dodatkowe opcje, domyślnie 0
$iCodePage - generowanie tekstu UTF-8 przy użyciu tej strony kodowej
_GUICtrlRichEdit_StreamToVar
edytuj#include <GuiRichEdit.au3> _GUICtrlRichEdit_StreamToVar($hRTF [, $fRtf = True [, $fIncludeCOM=True [, $iOpts=0 [, $iCodePage = 0]]]])
Funkcja zwraca tekst z kontrolki w formacie RTF lub TXT, lub string pusty "" jeżeli wystąpił błąd. Makro @error przyjmuje wtedy wartość:
101 - $hRTF nie zawiera uchwytu 1041 - $SFF_PLAINRTF nieprawidłowy dla pliku tekstowego 1042 - $opts: nieprawidłowa opcja 1043 - $SF_UNICODE jest ważne tylko dla pliku tekstowego 700 - internal error
$hRTF - uchwyt do kontrolki edytora RTF
$fRtf - TRUE - zwracany tekst w formacie RTF, FALSE - zwracany tylko czysty tekst (TXT)
$fIncludeCOM -
$iOpts - dodatkowe opcje, domyślnie 0
$iCodePage - generowanie tekstu UTF-8 przy użyciu tej strony kodowej
Tworzenie i obsługa kontrolki edytora RTF
edytuj#include <GuiRichEdit.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
;tworzenie okna GUI
$hGui = GUICreate("Test edytora RTF", 320, 300)
;tworzenie kontrolki edytora RTF
$hREdit = _GUICtrlRichEdit_Create($hGui, "Tekst początkowy.", 10, 10, 300, 250, _
BitOR($WS_HSCROLL, $WS_VSCROLL, $ES_MULTILINE))
GUISetState()
MsgBox(0, "", "Dopisanie tekstu",5)
;dopisywanie tekstu do kontrolki (z użyciem znaków kontrolnych formatu RTF)
_GUICtrlRichEdit_AppendText($hREdit, "{\rtf \par Dopisuję trochę {\b wytłuszczonego tekstu}.\par }")
;zapisanie do pliku tekstu w formacie RTF
_GUICtrlRichEdit_StreamToFile($hREdit, "bleble.rtf")
MsgBox(0, "", "Zmiana tekstu",5)
;zmiana tekstu
_GUICtrlRichEdit_SetText($hREdit, "Teraz inny tekst")
MsgBox(0,"","Wczytanie tekstu RTF z pliku")
;wczytanie tekstu RTF z pliku do kontrolki
_GUICtrlRichEdit_StreamFromFile($hREdit, "bleble.rtf")
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
;odczyt tekstu z kontrolki
$txt = _GUICtrlRichEdit_GetText($hREdit)
MsgBox(0,"Tekst odczytany:", $txt)
;likwidacja kontrolki
_GUICtrlRichEdit_Destroy($hREdit)