![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не получается прокрутить scroll вниз [D6, WinXP]
17Landgraf © (2006-07-08 12:50:00)Уважаемыеподскажите, пожалуйста!
Задача следующая: необходимо открыть текстовый файл (около 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;
17Landgraf (2006-07-08 15:20:00) [1]Все получилось! Спасибо за то, что направили в нужное русло для поиска!:)
А можно еще маленький вопросик: Когда открываю файл через функцию ShellExecute, она возвращает HINST. А можно ли по этому HINST найти хэндл открывшегося окна (файла)?
Ketmar (2006-07-08 13:39:00) [2]ой, как всё запущено...
Я нашел хендл открытого текстового файла с помощью функции FindWindow()
орешник обрыдался уже.
"ручка" не файла, а окна. это раз. кто сказал, что scrollbar находится в главном окне приложения? это два. надо искать дочернее окно (типа EDIT, например), и уже с ним шаманить.
17Landgraf (2006-07-08 13:30:00) [3]Я нашел хендл открытого текстового файла с помощью функции FindWindow();
На сколько я понял FindWindow возращает HWnd! Потом опять послал SendMessage, но ничего не произошло. Так как мне реализовать задуманное? Подскажите?
t:=FindWindow(nil,'test.log');
SendMessage(t,WM_VSCROLL ,SB_BOTTOM ,0); // Здесь ничего не происходит!!
DrPass (2006-07-08 13:06:00) [4]SendMessage требует дескриптор окна, а ShellExecute возвращает дескриптор экземпляра приложения
Ketmar (2006-07-08 13:05:00) [5]ну и кому, пардон, посылаютс сообщения? у вас сейчас ситуация примерно такая: вы заходите в лифт и говорите лифтёру: "мне обед на три персоны, пожалуйста". почитайте ВНИМАТЕЛЬНО справку. между HINSTANCE и HWND разница просто таки огромная. %-)