Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 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-сайт: moscowdevils.ru
 Профиль | | #5
Добавлено: 02.07.10 21:01
Jasmin пишет:
WinApi Функция SetCaretPos

открываем ApiViewer, узнаём из какой либы оно, и пишем :
  1. [Private или Public] Declare Function SetCaretPos Lib "user32" Alias "SetCaretPos" (ByVal x As Long, ByVal y As Long) As Long


а далее гугль, если не банят

Ответить

Номер ответа: 6
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #6
Добавлено: 02.07.10 21:02
открываем ApiViewer, узнаём из какой либы оно, и пишем :

Упс, не стёр. (решил неполенияться и саммому залесть) :)

Ответить

Номер ответа: 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
Непоможет.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам