Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.20;
Скачать: CL | DM;

Вниз

Не получается прокрутить scroll вниз   Найти похожие ветки 

 
17Landgraf   (2006-07-08 12:50) [0]

Уважаемые подскажите, пожалуйста!
Задача следующая: необходимо открыть текстовый файл (около 8 Mb), после чего прокрутить scroll в конец файла. Проблема в том, что после открытия файла прокрутка вниз не происходит. Собственно вопрос, как это сделать и где у меня ошибка? Код прилагаю ниже:


procedure TForm1.Button2Click(Sender: TObject);
var
FilePath: PChar;
NowDate:TDateTime;
StringName:string;
LogName:PChar;
HwndLog: Thandle;
begin
{узнаем дату}
  NowDate:=Now; //Получаем текущую дату

  HwndLog:=ShellExecute(0,nil,NameOfLog(DateToStr(NowDate)),nil,
  PChar("\\Silver\logs"),SW_SHOW);

  SendMessage(HwndLog,WM_VSCROLL ,SB_BOTTOM ,0); // Здесь ничего не происходит!!
end;


 
Ketmar ©   (2006-07-08 13:05) [1]

ну и кому, пардон, посылаютс сообщения? у вас сейчас ситуация примерно такая: вы заходите в лифт и говорите лифтёру: "мне обед на три персоны, пожалуйста". почитайте ВНИМАТЕЛЬНО справку. между HINSTANCE и HWND разница просто таки огромная. %-)


 
DrPass ©   (2006-07-08 13:06) [2]

SendMessage требует дескриптор окна, а ShellExecute возвращает дескриптор экземпляра приложения


 
17Landgraf   (2006-07-08 13:30) [3]

Я нашел хендл открытого текстового файла с помощью функции FindWindow();
На сколько я понял FindWindow возращает HWnd! Потом опять послал SendMessage, но ничего не произошло. Так как мне реализовать задуманное? Подскажите?


 t:=FindWindow(nil,"test.log");
  SendMessage(t,WM_VSCROLL ,SB_BOTTOM ,0); // Здесь ничего не происходит!!


 
Ketmar ©   (2006-07-08 13:39) [4]

ой, как всё запущено...
Я нашел хендл открытого текстового файла с помощью функции FindWindow()
орешник обрыдался уже.

"ручка" не файла, а окна. это раз. кто сказал, что scrollbar находится в главном окне приложения? это два. надо искать дочернее окно (типа EDIT, например), и уже с ним шаманить.


 
17Landgraf   (2006-07-08 15:20) [5]

Все получилось! Спасибо за то, что направили в нужное русло для поиска!:)
А можно еще маленький вопросик: Когда открываю файл через функцию ShellExecute, она возвращает HINST. А можно ли по этому HINST найти хэндл открывшегося окна (файла)?



Страницы: 1 вся ветка

Текущий архив: 2006.08.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.038 c
2-1154343041
Darkwing
2006-07-31 14:50
2006.08.20
Как отобразить лист Excel в моей программе?


15-1153740447
ZeroDivide
2006-07-24 15:27
2006.08.20
Что вас заставляет метать бисер?


1-1151846727
Mictian
2006-07-02 17:25
2006.08.20
Генерирование пары независимых равномерно распределенных чисел


2-1154453897
bobbi
2006-08-01 21:38
2006.08.20
посчитать количество символов в stringlist


15-1153420548
Мефисто
2006-07-20 22:35
2006.08.20
Скульптуры с детских площадок (взято с ЖЖ) :)