Function EditorGadget(ByVal gadget As Long, ByVal x As Long, ByVal y As Long, ByVal w As Long,ByVal h As Long, ByRef text As String="", ByVal style As Long=0 ,ByVal tag as long = 0) As HWND
Текстовый гаджет (редактор).
Установить текст в гаджет можно функцией SetGadgetText
Получить текст из гаджета можно функцией GetGadgetText
Установить цвет в гаджет можно функцией SetGadgetColor
Получить цвет из гаджета можно функцией GetGadgetColor
Установить шрифт в гаджет можно функцией SetGadgetFont
gadget - идентификатор\номер (любое натуральное число больше нуля, может быть 1,2,3,4 и др.)
x,y,w,h - расположение и размеры
text - любой текст
style - стиль, может быть:
Для Windows и Linux:
ES_CENTER - Выравнивает по центру текст в многостроковом поле редактирования текста.
ES_LEFT - Выравнивание текста слева.
ES_RIGHT - Выравнивает по правому краю текст в многострочном окне редактирования.
Только для Windows:
ES_AUTOHSCROLL - Автоматически прокручивает текст вправо на 10 символов, когда пользователь напечатает символ в конце строчки. Когда пользователь нажимает клавишу ENTER, управление прокручивает весь текст обратно, чтобы установить нуль.
ES_AUTOVSCROLL - Автоматически перемещает текст вверх на одну страницу, когда пользователь нажимает клавишу ENTER на последней строчке.
ES_LOWERCASE - Преобразовывает все символы в нижний регистр, поскольку они печатаются внутри поля редактирования текста.
ES_MULTILINE - Обозначает многостроковое окно редактирования текста. Значение по умолчанию - одностроковое окно редактирования текста. Когда многостроковое поле редактирования находится в диалоговом окне, заданная по умолчанию ответная реакция на нажим клавиши ENTER должна активизировать кнопку по умолчанию. Чтобы использовать клавишу ENTER для перевода строки, стиль используйте ES_WANTRETURN. Когда многостроковое окно редактирования не в диалоговом окне и определен стиль ES_AUTOVSCROLL, поле редактирования показывает столько строчек, сколько это возможно и прокручивает вертикально, когда пользователь нажимает клавишу ENTER. Если Вы не определяете ES_AUTOVSCROLL, окно редактирования показывает столько строчек, сколько это возможно и подает звуковой сигнал, если пользователь нажимает клавишу ENTER, но больше ни строчки не может отобразиться в окне. Если Вы определяете стиль ES_AUTOHSCROLL, многостроковое окно редактирования автоматически горизонтально прокручивается, когда каретка проходит за правый край элемента управления. Чтобы запустить новую строку, пользователь должен нажать клавишу ENTER. Если Вы не определяете ES_AUTOHSCROLL, элемент управления, когда это необходимо, автоматически переносит без разрыва слова в начало следующей строки. Новая строка образуется и тогда, если пользователь нажимает клавишу ENTER. Размер окна определяет позицию перехода слова на новую строку. Если размер окна изменяется, изменяется позиция перехода на новую строку, а текст восстанавливается. Многостроковое окно редактирования текста может иметь линейки прокрутки . Окно редактирования с линейками прокрутки обрабатывают свои собственные сообщения от линейки прокрутки. Обратите внимание, что окно редактирования без линеек прокрутки, прокручивают текст, как описано в предыдущих параграфах и обрабатывают любые сообщений прокрутки, посланные родительским окном.
ES_NOHIDESEL - Отрицает заданное по умолчанию поведение для поля редактирования текста. Заданное по умолчанию поведение скрывает выбор, когда элемент управления теряет фокус ввода и инвертирует выбор, когда панель управления принимает фокус ввода. Если Вы определяете ES_NOHIDESEL, выбранный текст инвертируется, даже если панель управления не имеет фокуса.
ES_NUMBER - Позволяет ввести в поле редактирования только цифры.
ES_OEMCONVERT - Преобразует текст, введенный в окно редактирования. Текст преобразуется из набора символов Windows - в набор символов OEM, а затем обратно - в набор Windows. Это гарантирует соответствующее символьное преобразование, когда из прикладной программы вызывается функция CharToOem, чтобы преобразовать строку Windows в окне редактирования в символы OEM. Этот стиль наиболее полезен для окон редактирования текста, которые содержат имена файлов.
ES_PASSWORD - Отображает звездочку (*) вместо каждого символа, введенного с клавиатуры в окно редактирования. Вы можете использовать сообщение EM_SETPASSWORDCHAR, чтобы заменить ею символ, который отображается.
ES_READONLY - Не допускает пользователя к вводу или редактированию текста в окне редактирования.
ES_UPPERCASE - Преобразует все символы в символы верхнего регистра, когда они вводятся в окно редактирования.
ES_WANTRETURN - Определяет, чтобы служебный код возврата каретки был вставлен тогда, когда пользователь нажимает клавишу ENTER при вводе текста в многострочное поле редактирования текста в диалоговом окне. Если Вы не определяете этот стиль, нажимая клавишу ENTER, вы получите тот же самый эффект, словно нажали заданную по умолчанию командную кнопку диалогового окна. Этот стиль не имеет никакого влияния в однострочном окне редактирования.
tag - только для Linux. Подсвечивание выделенного текста, может быть:
0 -по умолчанию ,при этом tag для подсвечивания выделения текста будет создан автоматически с цветами bg "#8EAD6F" , fg "#FFFFFF"
1 - нужно создать tag самому перед использованием функции SetSelectTextEditorGadget , но после использования функции EditorGadget. Имя должно быть "gui_tag_bg_fg" .Пример создания:
dim as GtkTextBuffer ptr buffer
buffer = gtk_text_view_get_buffer( GTK_TEXT_VIEW( gadgetid(NUMBER_GADGET) ))
gtk_text_buffer_create_tag(buffer, "gui_tag_bg_fg","background", "#444444", "foreground", "#FFFFFF", NULL)
Windows , Linux
#Include "window9.bi"
Dim As integer event
OpenWindow("1",300,10,400,400)
EditorGadget(1,10,10,300,300, "Editor")
Do
event=WaitEvent()
If event=EventClose Then End
Loop
Created with the Personal Edition of HelpNDoc: Easily create CHM Help documents