Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.08.20;
Скачать: [xml.tar.bz2];

Вниз

Не получается прокрутить 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.043 c
6-1144050156
Kryakozyablik
2006-04-03 11:42
2006.08.20
Авторизация с использованием Indy.


1-1151772961
Yegorchic
2006-07-01 20:56
2006.08.20
Создание ProgressBar а в ListView


15-1153908559
Virgo_Style
2006-07-26 14:09
2006.08.20
проблема с Mass Storage Device (драйвера?)


8-1140432629
sco
2006-02-20 13:50
2006.08.20
Ускорение слайд-шоу


2-1154520955
Grant
2006-08-02 16:15
2006.08.20
Денежный разделитель





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский