![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
RichText и ListBox [D5, Win2k]
tsarevep © (2002-04-29 12:02:00)Уважаемые мастера помогите решить задачку.
Нужно чтоб ListBox всплывал как в родном Delphi
после нажатия точки. Как это сделать я примерно знаю
но вот чтоб он всплывал от позиции курсора, а именно под точкой
не могу решить, всю литературу перерыл, нашел толко (воспользйтесь
стандартной процедурой GetCaretPos), но чего то я её не нахожу, да и если бы нашёл не знаю как ей пользоваться.
Помогите плиз.
С уважением.
tsarevep (2002-04-29 14:04:00) [1]Спасибо gek!
gek (2002-04-29 13:59:00) [2]var
t:tpoint;
begin
GetCaretPos(t);
Координаты есть. Определяй left у ListBox1.
tsarevep (2002-04-29 13:41:00) [3]
Извините за настойчивость но я наверное полный чайник
Вот мой грубый кусок кода, а куда и как засунуть эту функцию?
Можете не отвечать понимаю что запрос наглый.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls;
type
TForm1 = class(TForm)
RichEdit1: TRichEdit;
ListBox1: TListBox;
procedure RichEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ListBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.RichEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=32 then
begin
Listbox1.Visible:=true;
// Здесь я торможу
end;
end;
procedure TForm1.ListBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_RETURN then
Richedit1.SetSelTextBuf(pchar(ListBox1.Items[Listbox1.itemIndex]));
Listbox1.Visible:=false;
end;
end
С Уважением.
gek (2002-04-29 12:55:00) [4]Returns the cursor position.
function GetCaretPos: TPoint; override;
Возвращает текущую позицию курсора
tsarevep (2002-04-29 12:48:00) [5]А как ею пользоваться хоть примерчик небольшой плз!!!
gek (2002-04-29 12:09:00) [6]GetcaretPos определена в windows.pas