Форум: "Основная";
Текущий архив: 2006.07.02;
Скачать: [xml.tar.bz2];
ВнизКак убрать возможность вызова контекстного меню TMemo? Найти похожие ветки
← →
jeka_t (2006-05-24 13:46) [0]Добрый день!
Подскажите пожалуйста:
Как убрать возможность вызова контекстного меню TMemo?
Или
Мне необходимо иметь не более 3 строки и длина не должна превышать каждой строки 31 символ (без Char(13) + Char(10)) у компонента TMemo
Пробую через OnKeyPress...
работает, но через контекстное меню можно добавлять шо угодно...
Помогите пожалуйста
← →
Desdechado © (2006-05-24 13:54) [1]как вариант:
перекрой popup-меню своим Tmemo.PopupMenu
в котором не будет возможности вставки
← →
jeka_t (2006-05-24 15:24) [2]Спасибо
← →
begin...end © (2006-05-24 15:29) [3]> jeka_t (24.05.06 13:46)
> Как убрать возможность вызова контекстного меню TMemo?
В обработчике OnContextPopup установить Handled в True.
← →
jeka_t (2006-05-24 15:54) [4]Спасибо, это ещё лучше, но как быть с комбинацией клавиш Ctrl+V?
← →
begin...end © (2006-05-24 15:56) [5]> jeka_t (24.05.06 15:54) [4]
Какое отношение комбинация клавиш Ctrl+V имеет к запрету контекстного меню? Что вообще нужно?
← →
jeka_t (2006-05-24 15:59) [6]Мне необходимо иметь не более 3 строки и длина каждой строки не должна превышать 31 символ (без Char(13) + Char(10)) у компонента TMemo...
Если в буфере есть что-нибудь, то при комбинации клавиши Ctrl+V в строку вставляется текст из буфера... А это не допустимо для меня...
← →
begin...end © (2006-05-24 16:05) [7]> jeka_t (24.05.06 15:59) [6]
То есть нужно запретить вставку из буфера? Я бы сделал так:type
TForm1 = class(TForm)
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
OldMemoWndProc: TWndMethod;
procedure NewMemoWndProc(var Message: TMessage);
end;
procedure TForm1.NewMemoWndProc(var Message: TMessage);
begin
if Message.Msg <> WM_PASTE then
OldMemoWndProc(Message)
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
OldMemoWndProc := Memo1.WindowProc;
Memo1.WindowProc := NewMemoWndProc;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
Memo1.WindowProc := OldMemoWndProc;
end;
P.S. Ctrl+V -- это не единственное сочетание клавиш для вставки из буфера.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.07.02;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c