Автор | Сообщение |
|
| |
Пост N: 42
Зарегистрирован: 02.07.12
|
|
Отправлено: 09.02.15 16:13. Заголовок: Как на лету поменять размер поля ввода в TEXTBOX
Как на лету поменять размер поля ввода в TEXTBOX через элемент управления RADIOGROUP? Есть поле TEXTBOX, которое управляется через RADIOGROUP, в котором в зависимости о переключателя надо поменять размер кол-ва вводимых символов Делаю так: добавил две переменных в TEXTBOX для управления размером и маской ввода, сделал функцию которая переключает RADIOGROUP, но при переключении размер поля не меняется, может что-то не так делаю? Вот кусок подпрограммы ... нужна помощь! Скрытый текст Procedure BarSki(SelS) Local sd1, sd2 do case case SelS == 1 Barcoder.RadioGroup_2.Visible := .T. Barcoder.RadioGroup_2.Enabled := .F. sd1 := "7" sd2 := "9999999" Barcoder.Text_2.MAXLENGTH.Value := sd1 Barcoder.Text_2.INPUTMASK.Value := sd2 MaxL := sd1 InpM := sd2 case SelS == 2 Barcoder.RadioGroup_2.Visible := .T. Barcoder.RadioGroup_2.Enabled := .T. sd1 := "5" sd2 := "99999" Barcoder.Text_2.MAXLENGTH.Value := sd1 Barcoder.Text_2.INPUTMASK.Value := sd2 MaxL := sd1 InpM := sd2 otherwise Barcoder.RadioGroup_2.Visible := .T. Barcoder.RadioGroup_2.Enabled := .F. endcase cSki := SelS return =========== элемент техтбохкс DEFINE TEXTBOX Text_2 //начальний номер ROW 50 COL 320 WIDTH 98 HEIGHT 22 FONTNAME 'Arial' TOOLTIP '' RIGHTALIGN .F. ON ENTER DoMethod("Barcoder","Button_1","SetFocus") MAXLENGTH MaxL //IIF(Barcoder.RadioGroup_1.Value == 1,"7", "5") INPUTMASK InpM //IIF(Barcoder.RadioGroup_1.Value == 1,"9999999", "9999999") FORMAT '' VALUE NIL END TEXTBOX
|
|
|
|
Новых ответов нет
[см. все]
|
|
|
| |
Пост N: 450
Зарегистрирован: 20.02.11
|
|
Отправлено: 09.02.15 16:54. Заголовок: Eduard пишет: MAXLE..
Eduard пишет: цитата: | MAXLENGTH MaxL //IIF(Barcoder.RadioGroup_1.Value == 1,"7", "5") INPUTMASK InpM //IIF(Barcoder.RadioGroup_1.Value == 1,"9999999", "9999999") |
| В примере свои значения MAXLENGTH и INPUTMASK получают в момент инициализации TEXBOX в зависимости от состояния RadioGroup_1 в этот момент. я не уверен что это возможно т.к. в мануале по TEXTBOX написано InputMask ( D) MaxLength ( D) и D: Available at control definition only а это должно вообще ошибку вызывать т.к. Value это пропертя самого текстбокса, а не его пропертей maxLength и Inputmask Barcoder.Text_2.MAXLENGTH .Value := sd1 Barcoder.Text_2.INPUTMASK. Value := sd2 Скажу сразу - менять не пробовал, просто заглянул в хелп. Возможно в GetBox сPicture переназначиваемое....прамо не написано, надо пробовать
|
|
|
|
| |
Пост N: 452
Зарегистрирован: 20.02.11
|
|
Отправлено: 09.02.15 18:50. Заголовок: Haz пишет: Возможно..
Haz пишет: цитата: | Возможно в GetBox сPicture переназначиваемое |
| Проверил с GetBox - работает , можно менять cPicture примерно так DEFINE RADIOGROUP RadioGroup_1 ... ON CHANGE SetPicture() Func SetPicture() Form_1.GetBox_1.Picture := IF( Form_1.RadioGroup_1.Value == 1, "9999999", "999999999") Return NIL
|
|
|
|
| |
Пост N: 43
Зарегистрирован: 02.07.12
|
|
Отправлено: 09.02.15 20:48. Заголовок: Спасибо, пошел немножко другим путем...
Есть еще один вопрос, у меня в перемененную записывается из поле значение в виде числа "0000001", на выходе необходимо получить число в виде "0000002", после чего это номер записать в поле, как это можно сделать? если ставлю переменная++ то ругается... PText_1 := ALLTRIM(Barcoder.Text_1.Value) //index PText_2 := ALLTRIM(Barcoder.Text_2.Value) //nomer PText_3 := PText_2++ Barcoder.Text_2.Value := PText_3
|
|
|
|
| |
Пост N: 453
Зарегистрирован: 20.02.11
|
|
Отправлено: 09.02.15 21:02. Заголовок: PText_3 := PADL( CTO..
Barcoder.Text_2.Value := PADL( CTON(Barcoder.Text_2.Value) + 1 , 7, "0")
|
|
|
|
| |
Пост N: 454
Зарегистрирован: 20.02.11
|
|
Отправлено: 09.02.15 21:41. Заголовок: Haz пишет: если ста..
Haz пишет: цитата: | если ставлю переменная++ то ругается... |
| и правильно ругается т.к. к символьной переменной пытаешься прибавить число
|
|
|
|
| |
Пост N: 44
Зарегистрирован: 02.07.12
|
|
Отправлено: 09.02.15 21:58. Заголовок: Спасибо...
Спасибо.
|
|
|
|