Страница: 1 |
Страница: 1 |
Вопрос: Поля в TextBox, ComboBox
Добавлено: 02.07.10 07:27
Автор вопроса: Игорь
Подскажите, можно ли изменить значение полей (свободное белое пространство между краем окошка и вводимым текстом) в элементах управления TextBox и ComboBox?
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа:
Игорь
Вопросов: 1
Ответов: 3
Профиль | | #1
Добавлено: 02.07.10 13:52
Вопрос скорее некорректно задал. Тут скорее дело не в самих полях, а в позиции каретки. Как мне эту каретку отодвинуть к самому левому краю TextBox или ComboBox?
Номер ответа: 2
Автор ответа:
Jasmin
Вопросов: 23
Ответов: 417
Профиль | | #2
Добавлено: 02.07.10 15:01
См. свойство TextAlign. Это нужно ?
Номер ответа: 3
Автор ответа:
Игорь
Вопросов: 1
Ответов: 3
Профиль | | #3
Добавлено: 02.07.10 18:32
У меня выставлено fmTextAlignLeft для параметра TextAlign, я пробовал его менять, не помогает. Где-то твердо зашит отступ от левого края (примерно в два символа). Поэтому ComboBoxы приходится делать на форме шире. Скорее всего надо использовать SetCaretPos, но увы, не знаю как.
Номер ответа: 4
Автор ответа:
Jasmin
Вопросов: 23
Ответов: 417
Профиль | | #4
Добавлено: 02.07.10 20:49
Вот что нашла (но не сильна в WinAPI ):
SetCaretPos winapi
WinApi Функция SetCaretPos
Описание:
function SetCaretPos(X, Y: Integer): BOOL;
Функция перемещает каретку в определенную позицию. Позиция определяется в клиентских координатах окна.
Параметры:
X:Определяет позицию каретки по горизонтали.
Y:Определяет позицию каретки по вертикали.
Возвращаемые значения
Если функция завершилась успешно, она возвращает ненулевое значение.
Если функция совершила ошибку, она возвращает 0. Для получения расширенной информации об ошибке используйте функция GetLastError
Замечания
Функция SetCaretPos перемещает каретку несмотря на то, видима каретка или нет.
Система предоставляет по одной каретке на очередь. Окно должно создавать каретку только тогда, когда оно получает фокус или активируется. Окно должно разрушить каретку перед потерей фокуса или отмене активации. Окно может установить позицию каретки только в том случае, если каретка принадлежит окну.
Номер ответа: 5
Автор ответа:
VbStarter
ICQ: 357911808
Вопросов: 118
Ответов: 1340
Web-сайт:
Профиль | | #5
Добавлено: 02.07.10 21:01
WinApi Функция SetCaretPos
открываем ApiViewer, узнаём из какой либы оно, и пишем :
а далее гугль, если не банят
Номер ответа: 6
Автор ответа:
VbStarter
ICQ: 357911808
Вопросов: 118
Ответов: 1340
Web-сайт:
Профиль | | #6
Добавлено: 02.07.10 21:02
Упс, не стёр. (решил неполенияться и саммому залесть)
Номер ответа: 7
Автор ответа:
Игорь
Вопросов: 1
Ответов: 3
Профиль | | #7
Добавлено: 03.07.10 12:27
Если с функцией GetCaretPos я разобрался - есть пример на сайте, то с SetCaretPos без конкретного примера мне не разобраться. Если можно, напишите, пожалуйста, - как задавать эти координаты для каретки.
Номер ответа: 8
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #8
Добавлено: 03.07.10 13:19
Непоможет.