(версия 0.9.24, vista)
Lazarus) не работает Memo1.Perform( EM_GETFIRSTVISIBLELINE, 0, 0 );
Как ввести обработку этого сообщения в этот лазарус?
(там есть Perform, но нет обработки именно данного сообщения).
Lazarus) не работает Memo1.Perform( EM_GETFIRSTVISIBLELINE,
Модератор: Модераторы
Код: Выделить всё
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.
Спасибо, SendMessage - работает!
---------------------
Может подскажете, как выводить несколько страниц html в одно окно IE:
Так
ShellExecute(Handle, 'open','iexplore.exe', PChar(s), nil,1);
каждый новый вызов открывает еще одно окно IE,
и это не совсем хорошо,
собственный просмотрщик лазаруса - совсем не подходит (слабоват)
---------------------
Может подскажете, как выводить несколько страниц html в одно окно IE:
Так
ShellExecute(Handle, 'open','iexplore.exe', PChar(s), nil,1);
каждый новый вызов открывает еще одно окно IE,
и это не совсем хорошо,
собственный просмотрщик лазаруса - совсем не подходит (слабоват)
ramil писал(а):Может подскажете, как выводить несколько страниц html в одно окно IE:
Ну, тут несколько вариантов:
1. использовать какую нить библочку подсунутую экплореру в качестве расширения - гемморно и бестолково.
2. Килять предыдущее окно и запускать новое - бестолково
3. Использовать winapi и программно вставить в адресную строку новый урл и так же программно нажать ентер или кнопу "go" (или чего там у осла) - вполне приемлемый вариант. Начинать отсюда.
