Главная страница
    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.04 c
2-1154516059
VitV
2006-08-02 14:54
2006.08.20
DBGrid случайное расположение данных


1-1152085849
JohnnySE
2006-07-05 11:50
2006.08.20
работа с DLL и ее интерфейсами


1-1152193172
kvi
2006-07-06 17:39
2006.08.20
getlasterror


2-1154521875
Sirus
2006-08-02 16:31
2006.08.20
Работа с EXCEL


15-1152160956
vidiv
2006-07-06 08:42
2006.08.20
Как в iPod Nano залить музыку без участия его спец. проги?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский