Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.10.2008, 16:57   #1
Aleksandar
 
Регистрация: 06.10.2008
Сообщений: 6
Вопрос вывод в Memo под курсором

есть некоторая строка S и три компонента TMemo, как при нажатии Tbutton вывести данную строку именно в то Memo. где установлен курсор ввода???
Aleksandar вне форума Ответить с цитированием
Старый 22.10.2008, 18:15   #2
Izhic
Форумчанин
 
Аватар для Izhic
 
Регистрация: 08.10.2008
Сообщений: 668
По умолчанию

В смысле где был курсор ввода последний раз?
Т.к. когда нажимаете Батон, собственно выделяется кнопка, вероятно уже курсора нету.
ИМХО Глобальная переменная или с Tag'ом....
Don't worry be happy
Izhic вне форума Ответить с цитированием
Старый 22.10.2008, 19:46   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
когда нажимаете Батон, собственно выделяется кнопка, вероятно уже курсора нету
Его просто не видно, но мемо прекрасно знает, где он находился перед передачей фокуса.
Опять же, из моего FAQa:
Цитата:
Как в TMemo вставить дату в позицию каретки
Memo1.SetSelTextBuf(PChar(DateToStr (Date)));
Цитата:
Как вставить содержимое файла в текущую позицию курсора в компонете TMemo

Считайте файл в TMemoryStream, затем ипользуйте метод TMemo SetSelTextBuf() для вставки текста;

var
TheMStream : TMemoryStream;
Zero : char;
begin
TheMStream := TMemoryStream.Create;
TheMStream.LoadFromFile('C:\AUTOEXE C.BAT');
TheMStream.Seek(0, soFromEnd);
//Null terminate the buffer!
Zero := #0;
TheMStream.Write(Zero, 1);
TheMStream.Seek(0, soFromBeginning);
Memo1.SetSelTextBuf(TheMStream.Memo ry);
TheMStream.Free;
end;
mihali4 вне форума Ответить с цитированием
Старый 22.10.2008, 21:48   #4
Aleksandar
 
Регистрация: 06.10.2008
Сообщений: 6
По умолчанию

нет. немного не то
на форме 3 компонента TMemo, но вывести надо в один, где находится курсор ввода

если курсор в memo1 то текст при нажатии в Memo1
если в втором то во второе...

просто не могу понять как определить в каком мемо находиться курсор!??
Aleksandar вне форума Ответить с цитированием
Старый 22.10.2008, 22:26   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
как определить в каком мемо находиться курсор
Ну что ж... Это проще пареной репы.
Объявляем глобальную переменную mem.
Создаем обработчик для Memo1.OnEnter и в нем присваиваем mem:=номеру Memo as Sender (например).
Остальным Memo присваиваем этот же обработчик.
Таким образом мы всегда будем знать, в каком Memo курсор побывал в последний раз...
mihali4 вне форума Ответить с цитированием
Старый 22.10.2008, 22:43   #6
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Могу предложить из простого такое(если надо, Clic_ в таймер поместите):
Код:
...................................................................
  public
   C_ :TControl;
   Procedure Clic_(Sender :TObject);
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

Procedure TForm1.Clic_(Sender :TObject);
begin
 If (ActiveControl is TMemo) then
  C_ := ActiveControl;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 If C_<>Nil then
 (C_ as TMemo).Lines.Add(Edit1.Text);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 Memo1.OnClick := Clic_;
 Memo2.OnClick := Clic_;
 Memo3.OnClick := Clic_;
end;
Alter вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение слова под курсором. lazutov Win Api 4 15.08.2008 17:10
Как в TWebBrowser узнать адрес ссылки которая находится под курсором мышки SeRhy Общие вопросы Delphi 0 10.08.2008 10:11
В Memo сделать так, чтобы текст был разного цвета, разноцветный memo Artem Компоненты Delphi 3 07.09.2007 13:40
окно под курсором mrandrey Win Api 1 11.05.2007 18:30
Вывод информации в Memo из файла. Фибер Оптик Общие вопросы Delphi 11 04.05.2007 00:13