Показать сообщение отдельно
  #9  
Старый 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;.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием