Lazarus) не работает Memo1.Perform( EM_GETFIRSTVISIBLELINE,

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
ramil
незнакомец
Сообщения: 3
Зарегистрирован: 11.10.2008 17:03:11

Lazarus) не работает Memo1.Perform( EM_GETFIRSTVISIBLELINE,

Сообщение ramil »

(версия 0.9.24, vista)
Lazarus) не работает Memo1.Perform( EM_GETFIRSTVISIBLELINE, 0, 0 );

Как ввести обработку этого сообщения в этот лазарус?
(там есть Perform, но нет обработки именно данного сообщения).
v-t-l
энтузиаст
Сообщения: 745
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Сообщение v-t-l »

Код: Выделить всё

uses Windows, Messages;

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
var i: Integer;
begin
  //Memo1.Perform( EM_GETFIRSTVISIBLELINE, 0, 0);
  i := SendMessage( Memo1.Handle, EM_GETFIRSTVISIBLELINE, 0, 0);
  Caption := 'First visible line #' + IntToStr(i);
end;


Но, врядли будет работать где-нибудь кроме windows.
ramil
незнакомец
Сообщения: 3
Зарегистрирован: 11.10.2008 17:03:11

Сообщение ramil »

Спасибо, SendMessage - работает!
---------------------
Может подскажете, как выводить несколько страниц html в одно окно IE:
Так
ShellExecute(Handle, 'open','iexplore.exe', PChar(s), nil,1);
каждый новый вызов открывает еще одно окно IE,
и это не совсем хорошо,
собственный просмотрщик лазаруса - совсем не подходит (слабоват)
Аватара пользователя
B4rr4cuda
энтузиаст
Сообщения: 693
Зарегистрирован: 28.12.2007 06:48:35

Сообщение B4rr4cuda »

ramil писал(а):Может подскажете, как выводить несколько страниц html в одно окно IE:

Ну, тут несколько вариантов:
1. использовать какую нить библочку подсунутую экплореру в качестве расширения - гемморно и бестолково.
2. Килять предыдущее окно и запускать новое - бестолково
3. Использовать winapi и программно вставить в адресную строку новый урл и так же программно нажать ентер или кнопу "go" (или чего там у осла) - вполне приемлемый вариант. Начинать отсюда.
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

4, поискать ключик у ИЕ с которым он открывает ЮРЛ в последнем окне.
Ответить