
07.09.2011, 14:43
|
 |
Гуру
|
|
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
|
|
В общем примерно так:
Код:
procedure TForm1.RichEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
Coords: TPoint;
begin
if (Shift = [ssCtrl]) and (Key = VK_SPACE)
then begin
RichEdit1.Perform(EM_POSFROMCHAR, WPARAM(@Coords), RichEdit1.SelStart);
ListBox1.Left := RichEdit1.Left + Coords.X;
ListBox1.Top := RichEdit1.Top + Coords.Y;
ListBox1.Show;
ListBox1.SetFocus
end;
end;
procedure TForm1.ListBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case Key
of VK_ESCAPE: ;
VK_RETURN: RichEdit1.SelText := ListBox1.Items[ListBox1.ItemIndex];
else Exit;
end;
ListBox1.Visible := False;
RichEdit1.SetFocus;
end;.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
|