Delphi tshiftstate
Автор Оранжевая рубашка задал вопрос в разделе Другие языки и технологии
delphi: как реализовать выполнение Ctrl+A в моем поле Memo? и получил лучший ответ
Ответ от AVP[гуру]
В обработчике OnKeyDown можно написать
if (ssCtrl in Shift)and(key=ord('A')) then memo1.SelectAll;
если нужно, чтобы ctrl+A работало и при других нажатых кнопках, типа shift, alt...
Если нужно, чтобы срабатывало четко на ctrl+A, то
if (Shift=[ssCtrl])and(key=ord('A')) then memo1.SelectAll;
Ответ от Mister Shadow[гуру]
Лучше сделать контекстное меню.
Лучше сделать контекстное меню.
Ответ от Ааз (Azomorph)[гуру]
обработчик OnKeyPress пиши 🙂
обработчик OnKeyPress пиши 🙂
Ответ от CHIZZ[гуру]
// Выделить строку при клике на нее
procedure TForm1.Memo1Click(Sender: TObject);
var
Line: Integer;
begin
with (Sender as TMemo) do
begin
Line := Perform(EM_LINEFROMCHAR, SelStart, 0);
SelStart := Perform(EM_LINEINDEX, Line, 0);
SelLength := Length(Lines[Line]);
end;
end;
//Выделить весь текст при нажатии CTRL+A
procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key = Ord('A')) and (ssCtrl in Shift) then
begin
TMemo(Sender).SelectAll;
Key := 0;
end;
end;
// еще советы по Memo и RichEdit
// Выделить строку при клике на нее
procedure TForm1.Memo1Click(Sender: TObject);
var
Line: Integer;
begin
with (Sender as TMemo) do
begin
Line := Perform(EM_LINEFROMCHAR, SelStart, 0);
SelStart := Perform(EM_LINEINDEX, Line, 0);
SelLength := Length(Lines[Line]);
end;
end;
//Выделить весь текст при нажатии CTRL+A
procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key = Ord('A')) and (ssCtrl in Shift) then
begin
TMemo(Sender).SelectAll;
Key := 0;
end;
end;
// еще советы по Memo и RichEdit
Ответ от Gennady[гуру]
Доброго времени суток.Если на то пошло, то надо писать обработчик procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);Параметр Shift имеет такой типtype TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble);Следовательно, проверяете его на равенство ssCtrl, а Key на код символа 'A'. Если да, вызываете метод TMemo.SelectAll;Удачи!
Доброго времени суток.Если на то пошло, то надо писать обработчик procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);Параметр Shift имеет такой типtype TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble);Следовательно, проверяете его на равенство ssCtrl, а Key на код символа 'A'. Если да, вызываете метод TMemo.SelectAll;Удачи!
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: delphi: как реализовать выполнение Ctrl+A в моем поле Memo?
Delphi procedure TMain_Form.ApplicationEvents1Message
в Msg передаются еще и координаты курсора мыши. координаты эти отсчитываются от верхнего левого
подробнее...
Delphi, PopupMenu
Надо отцепить PopupMenu от всего и
procedure TForm1.ListBox1MouseDown(Sender: TObject;
подробнее...
Delphi: как сделать,чтобы при нажатии ЛЕВОЙ кнопкой мыши по объекту выводилась PopupMenu?
Бросить на форму PopupMenu (ну и, конечно, оформить - двойным кликом)
а в инспекторе для этого
подробнее...
stringgrid раскраска. при нажатии на ячейку нужно раскрасить его delphi или C++ builder
Непременно StringGrid?
Вот пример для DrawGrid. Дальше, если надо, сам адаптируй.
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
Хочу написать приложение "Экранная клавиатура" (на клавиатуре шелкать буду мышкой) на Delphi как я могу узнать коды букв
в MS Word нажми на кнопку "вставить символ", там будут и обычные буквы также. Выбираешь букву, в
подробнее...
Delphi как сделать ввод только чисел с точкой ?
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in
подробнее...
Drag and Drop в делфи.
Проще всего делать Drag из тех компонентов, для которых однозначно ясно, что именно перетаскивать.
подробнее...