Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 05.03.2010
Сообщений: 24
1

Запретить вставку текста в TEdit из буфера обмена через Ctrl+V или через контекстное меню

23.04.2010, 09:46. Просмотров 1610. Ответов 7
Метки нет (Все метки)


Добрый день!
Есть такой вопрос: Что нужно сделать, чтобы в TEdit не было возможности вставить текст из буфера обмена при помощи CTRL+V или через выпадающее меню <Вставить>?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.04.2010, 09:46
Ответы с готовыми решениями:

Запретить вставку текста из буфера в текстбокс
Есть свой текст бокс, для чисел, ввод фильтруется по маске. Нужно запретить вставку из буфера...

Запретить вставку из буфера обмена в "RichTextBox"
Здравствуйте, нужно запретить вставку в rtb на второй форме. Добавил класс в пространство имен,...

Поиск в Яндексе или в Google через контекстное меню Windows
Кто знает какие нибудь программы для вин 10, чтобы внедрить в любое контекстное меню пункты для...

Отловить событие на вставку данных из буфера обмена
Здравствуйте ! Скажите пожалуйста, какое событие вещается на элемент, что бы отследить ввод через...

7
Супер-модератор
8745 / 2470 / 140
Регистрация: 07.03.2007
Сообщений: 11,739
23.04.2010, 10:12 2
Alexei1977, запрети в OnKeyUp или OnKeyDown эту комбинацию
0
1 / 1 / 0
Регистрация: 05.03.2010
Сообщений: 24
23.04.2010, 10:25  [ТС] 3
Если не сложно, можно на примере?
0
221 / 135 / 48
Регистрация: 12.04.2010
Сообщений: 248
23.04.2010, 10:34 4
Чтобы избавиться от выпадающего меню можно бросить на форму пустой TPopupMenu и присвоить его к нужному TEdit, тогда у него не будет выпадающего меню. А от Ctrl+v в обработчике нажатия кнопки onKeyPress (в onKeyUp/onKeyDown не получится):
C++
1
2
3
4
void __fastcall TForm1::Edit2KeyPress(TObject *Sender, char &Key)
{
    if(Key == 22)Key = 0;
}
0
1 / 1 / 0
Регистрация: 05.03.2010
Сообщений: 24
23.04.2010, 10:49  [ТС] 5
uggway,
Этот способ я пробовал, а более демократичного нет (PopupMenu).
0
Супер-модератор
8745 / 2470 / 140
Регистрация: 07.03.2007
Сообщений: 11,739
23.04.2010, 11:03 6
попробуй так(но это забивается ctrl+V):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void __fastcall TForm1::Edit2KeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
   if(Shift.Contains(ssCtrl) && (Key == 'v' || Key == 'V')){
     Edit2->ReadOnly = true;
   }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit2Enter(TObject *Sender)
{
   Edit2->ReadOnly = false;
}
//---------------------------------------------------------------------------
а так убиваем меню всплывающее:
C++
1
2
3
4
5
void __fastcall TForm1::Edit2ContextPopup(TObject *Sender,
      TPoint &MousePos, bool &Handled)
{
  Handled = true;
}
1
1 / 1 / 0
Регистрация: 05.03.2010
Сообщений: 24
23.04.2010, 11:31  [ТС] 7
Всем спасибо. Вроде всё ОК!!!
0
11 / 11 / 1
Регистрация: 19.03.2010
Сообщений: 71
23.04.2010, 12:16 8
Не успел =)))) Ну все равно кину )))
C++
1
2
3
4
5
6
7
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, wchar_t &Key)
{
if(GetKeyState(VK_CONTROL)<0)
{
 Key = 0; //CTRL не выполняет действий
}
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.04.2010, 12:16

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Как запретить редактирование через Ctrl-e
Как запретить редактирование через Ctrl-E. Срочно надо.

Delphi 2010 - TEdit - запрет операций буфера обмена
Здравствуйте! У меня Delphi 2010 Мне нужно запретить буфер обмена в TEdit. Нашёл вот в интернете...

Как отключить автоматическую вставку содержимого буфера обмена?
Добрый день! Есть проблема. При открывании некоторых страниц (ЛС в форумах и соц. сетях, некоторые...

Получить изображение из буфера обмена через API
Здравствуйте, уважаемые форумчане. Поделитесь, пожалуйста, как получить изображение, находящееся в...

Как запретить в Edit копировать с буфера обмена?
На OnKeyPress кинул код: if not ( key in ) then begin key:=#3 ; ShowMessage ('бла .. бла...

Переименование директории через контекстное меню Windows
Доброго времени суток, форум. Создаю элемент контекстного меню для переименования папки. Элемент...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.