|
0 / 0 / 0
Регистрация: 22.06.2007
Сообщений: 176
|
|
Как задизаблить ЭдитБоксы?22.06.2007, 12:30. Показов 1502. Ответов 15
Метки нет (Все метки)
Enabled = False - это и я знаю!!
А как сделать так, чтобы в контролы ничего ввести нельзя было, а вот выделить и скопировать из них можно было. Locked = true? Но тут другая проблема никакие клавиши воще не работают. А как это еще можно сделать? Кроме как перехватыванием KeyPress OnChange и т.п. это не подходит - контролов слишком много. И они не в массиве!!! Подскажите плз ... Очень надо.
0
|
|
| 22.06.2007, 12:30 | |
|
Ответы с готовыми решениями:
15
Как задизаблить Х в строке заголовка
Задизаблить инбокс скриптом? |
|
VladK
|
|
| 22.06.2007, 15:40 | |
|
Указанный код позволяет использовать Cntrl^C для копирования содержимого всех текстовых окон на форме в Clipboard.
Все текстовые окна имеют Locked = False, Enabled = True и в тоже время не редактируемы. Я не проверял все клавиши. Если какие-то и пробивают, то их коды надо просто добавить в оператор If. Option Explicit Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyDelete Then KeyCode = vbKeyEscape End If End Sub Private Sub Form_KeyPress(KeyAscii As Integer) If KeyAscii <> 3 Then KeyAscii = 0 End If End Sub Private Sub Form_Load() Me.KeyPreview = True End Sub |
|
|
0 / 0 / 0
Регистрация: 22.06.2007
Сообщений: 176
|
|
| 24.06.2007, 19:18 [ТС] | |
|
Да .... Как я сразу не догадался ...
Но тут есть другая проблема ! По POPUP меню можно в (так называемый) Реад онли контрол вставить всякую дребедень ![]() А можно ли еще и это как-то отключить ? Best Regards Nick
0
|
|
|
VladK
|
|
| 25.06.2007, 07:53 | |
|
Я не знаю, что такое так называемый реад онли контрол в терминах ВБ. Если можно, дайте код или укажите объект, его свойства и их значения.
|
|
|
0 / 0 / 0
Регистрация: 22.06.2007
Сообщений: 176
|
|
| 25.06.2007, 15:17 [ТС] | |
|
Блин!!!
Так называемым ReadOnly контрол становится когда я в него твой код прибавляю. А проблема вот в чем: Я прибавил к EditBox твой код - да почти все классно. Клава не работает. Но работает МЫШЬ!!! Нажимаешь правую клавишу - выскакивает POPUP меню и там опция - Paste (((А как эще и это отключить????
0
|
|
|
VladK
|
|
| 25.06.2007, 21:16 | |
|
Ya dumayu, nado vpisat' dopolnitel'ni'y kod v sobi'tie MouseUp.
U menua seychas net vremeni. Esli nikto vam do menya ne podskaghet, to ya vecherom podumayu. |
|
|
VladK
|
|
| 26.06.2007, 06:07 | |
|
Красивого решения у меня нет.
Вот мой самый простой и жестокий вариант: В событие MouseDown каждого текстового окна вставить: Clipboard.Clear. Существует и другой способ: В событие MouseUp каждого текстового окна вставить: Form1.PopupMenu mnuMyPopUp Где mnuMyPopUp это меню, определенное вами на форме, такое что: mnuMyPopUp.Visible = False. Вы сами определяете все его подменю на этапе дизайна. В вашем случае все подменю делаете как в стандартном PopupMenu, а подменю Paste вообще не создаете. Здесь есть одно 'но': все остальные подменю вы должны закодировать самостоятельно используя тотже Clipboard, SelText и так далее. Дерзайте. |
|
|
0 / 0 / 0
Регистрация: 22.06.2007
Сообщений: 176
|
|
| 26.06.2007, 12:12 [ТС] | |
)))))Продерзал! Класс!!!! один раз нажал - VB&EditBox меню - второй раз нажал - мое меню! Вопросик про отключение стандартного попап меню едитбокса остается актуальным и по сей день. К нему ответ так никто и не нашел. Ничего лучшего чем 'Пиши собственный ActiveX' я ни откого так и не услышал. В следующий раз так и поступлю - буду писать свой. Но не в том состоял МОЙ вопрос ... мне нужно было 'все и сразу', то бишь одним обработчиком на форме обработать все! А если каждому контролу присобачить обработчик, то это понятно будет работать. Так как мне всетаки надо работать - обработчики для каждого я налепил.(Каждому прибавил OnCange и организовал что-то типа Undo) Одно радует, что протрах... не зря. Но это не значит что я не хочу получить ответ.(Если таковой существует) С уважением Nick P.S. Ну NickSun ... Хотел бы я знать кто зарегистрился под Nick
0
|
|
|
Lana
|
|
| 28.06.2007, 22:49 | |
|
Try this exemple from Micrisoft:
http://support.microsoft.com/support/kb/articles/Q191/6/70.ASP?LN=EN-US&SD=gn&FR=0&qry=default%20menu&rnk=64& src=DHCS_MSPSS_gn_SRCH&SPR=VBB |
|
|
Karamba
|
|
| 28.06.2007, 23:00 | |
|
Слушай, а зачем тебе в таком случае илпользовать EditBox'ы? используй Label'ы. как я понял тебе надо тока отображать информацию?
|
|
|
Karamba
|
|
| 28.06.2007, 23:22 | |
|
сорри, пургу гнал... тебе наде еще копировать оттуда...
|
|
|
0 / 0 / 0
Регистрация: 17.03.2015
Сообщений: 1
|
|
| 01.07.2007, 20:46 | |
|
Sorry I don't have Russian fonts on this PC.
If you want to have one handler for all controls and you have VB6 use something like this: Dim WithEvents ctrlExt as VBControlExtender sub Form1_Load set ctrlExt=Form1.ActiveControl end sub sub ctrlExt_LostFocus set ctrlExt=Form1.ActiveControl end sub 'Here is handler for all controls sub ctrlExt_KeyPress KeyAscii=0 end sub I dont have VB6 here, so I can't send you exact code, but above should help. I did something like this about a year ago and it worked.
0
|
|
|
0 / 0 / 0
Регистрация: 22.06.2007
Сообщений: 176
|
|
| 11.07.2007, 22:19 [ТС] | |
|
Вот я и на работе!!!
Спасибо за ответ! Плохо конечно, господин хороший, что у Вас Басика не было, но не беда! Я тут покрутил и всетаки получил один хандл для всех .... ТекстБоксов. С VBControlExtender не выходит - ActiveControl не сетится. Да мне в принсипе это и не надо (так, чтобы для всех контролов). Но идея ГеНиАлЬнАя. За нее огромное спасиба. Вощем после небольших проб вышло вот это: Dim WithEvents ctrlExt As TextBox Private Sub ctrlExt_KeyPress(KeyAscii As Integer) KeyAscii = 0 End Sub Sub ctrlExt_LostFocus() If TypeOf Form1.ActiveControl Is TextBox Then Set ctrlExt = Form1.ActiveControl End If End Sub Private Sub Form_Resize() If TypeOf Form1.ActiveControl Is TextBox Then Set ctrlExt = Form1.ActiveControl End If End Sub Тут конечно глюк с LostFocus - ну если там не только ТекстБоксы то эта штука сбои давать будет, но ... Кстате если кто придумает как это дело красиво сделать или сделать через VBControlExtender - заранее благодарен. А если этот кто-то свою идею еще и опубликует! То вввхвала ему и памятник на каждом сайте! А на счет Микрософтовских самплов щас туда иду ... пожее отвечу и поблагодарю! С уважением и благодарностью, Nick
0
|
|
|
0 / 0 / 0
Регистрация: 22.06.2007
Сообщений: 176
|
|
| 11.07.2007, 22:54 [ТС] | |
|
А вот был я на Микрософте .....
Посмотрел, попробовал - работает. Спасиба ... Огромное Спасиба!!! Вопрос со стандартной меню ТекстБокса закрыт!
0
|
|
|
0 / 0 / 0
Регистрация: 17.03.2015
Сообщений: 1
|
|
| 11.07.2007, 23:21 | |
|
It would be nice to be able to declare variable like this:
dim WithEvents Ctrl as Control In this case all you problems with LostFocus event would be gone. BUT! **** Disclaimer, hehe. I have only VB5 and VB7 here so you have to try it in VB6 by yourself. *** In VB5 Control object doesn't have any events, so you can't declare it as WithEvents. In VB7 Control object is much better and allows you to do things like this: dim WithEvents Ctrl as Control public sub Ctrl_Leave(...) ctrl.text='Lost focus' ctrl=Form1.ActiveControl ctrl.Text='Got focus' End Sub And Control object here has all kinds of Events, Properties and Methods, so you can do whatever you want with it. So try it in VB6. If it doesn't work, at least you'll know that your life is going to be much easier when VB7 is out, because this kind of things are handled here just great.
0
|
|
|
0 / 0 / 0
Регистрация: 22.06.2007
Сообщений: 176
|
|
| 12.07.2007, 11:51 [ТС] | |
|
Я тоже думал над этим (VB7), но .... оно всегда но. Может обратно ... на пятый
)Я тоже сразу пробовал это (Control), ну нету в VB6 такой фичи. (Может конечно у меня нету, ... или у всех?) В любом случае, спасибо за ответ! Best regards, Nick
0
|
|
| 12.07.2007, 11:51 | |
|
Помогаю со студенческими работами здесь
16
задизаблить чекбоксы - checkbox.setAttribute("disabled", true); Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|