| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > Прокрутка текста |
| Автор: taxir 10.5.2007, 23:35 |
| Добрый вечер Ребята! Нужна ваша помощь в написании проги. Я тока начинаю на С++ нужна квалифицированая помощь, кто чем может плиз.Суть проги в том что она должна висеть постоянно в инете и скачивать через определенное время скажем каждые 5 минут контент с одной и тойже вебстраницы и перелопатив ее превратить в нужный текст. А этот текст нужно какимто образом вывести на экран крупным шрифтом и прокручивать пока не истечет 5 минут и потом опять по новой уже новый текст итд постоянно. Направление, Размер шрифта и скорость прокрутки чтобы можно было менять.Вот привожу код первой части, которая получает контент с вебстраницы в текстовое поле. void CHTTPDlg::OnButton1() { // TODO: Add your control notification handler code here CInternetSession *pInternetSession; pInternetSession=new CInternetSession(); if (!pInternetSession) { AfxMessageBox("Internet none",MB_OK); return; } CStdioFile *pFile = NULL; char *buffer; buffer=new char[100000]; pFile=pInternetSession->OpenURL(CString("http://www.livescore.com")); pFile->Read(buffer,100000); m_text=CString(buffer,100000); UpdateData(false); pFile->Close(); pInternetSession->Close(); } Пожалуста помогите продолджить написание проги. Эсть вопросы! 1) как мне сделать чтобы этот код получал контент с вебстраницы скажем постоянно автоматически через определенное время? 2) как прокручивать этот текст на весь экран? Заранее благодарен всем кто поможет ответить на эти вопросы....плиз с примерами пожалуста! |
| Автор: taxir 11.5.2007, 08:17 | ||||
Earnest спасибо за ответ!
А можно примером показать как это сделать.....пожалуста!
Щас попробую объяснить,что имел ввиду под "прокручивать текст на весь экран".... значит после того как получим контент и возьмем нужную инфу из него нада этот текст как бы построчно прокручивать сверху вниз или наоборот и это должно быть автоматом....это примерно как "бегущая строка" тока сверху вниз или снизу вверх....поэтому нужно сделать регулятор скорости прокрутки и размер шрифта.... |
| Автор: taxir 11.5.2007, 08:57 |
| Немогу найти на панели "Controls" таймера |
| Автор: ama_kid 11.5.2007, 09:00 |
http://msdn2.microsoft.com/en-us/library/ms644901.aspx http://msdn2.microsoft.com/en-us/library/ms644906.aspx |
| Автор: taxir 11.5.2007, 09:36 | ||||
Спасибо конечно.......но не все пока понятно......прошу вас как этот таймер с моим кодом связать на примере плииииииз....вот допустим этот код.....
|
| Автор: zkv 11.5.2007, 11:49 | ||||
taxir, ты в МСДН этот пример видел:
тебе надо лишь MessageBeep(0xFFFFFFFF); на нужные действия заменить, и интервал другой поставить. Удачи! |
| Автор: taxir 11.5.2007, 12:14 |
| zkv, спасибо за объяснение и код.....щас попробую!!!!!Ребята всем спасибооооо!!!практически можно сказать с таймером все ясно!!!!А как быть со второй частью моей программы?Нужно чтобы полученный текст выводился на весь экран построчно (я имею ввиду у меня разрешение экрана 800*600) и автоматом крутился до следующего обращения к вебстраничке итд до бесконечности......буду благодарен за любые сообщения относительно этого!!! |
| Автор: zkv 11.5.2007, 12:36 | ||
те типа полноэкранного режима надо что то организовать? Никаких фреймов, элементов управления и прочего не будет, а будет только текст? |
| Автор: taxir 11.5.2007, 12:55 |
| ДА ИМЕННО ТОЛЬКО ТЕКСТ! |
| Автор: zkv 11.5.2007, 13:04 |
| taxir, посмотри в http://www.codeproject.com/dialog/Viewsinfullscreenmode.asp |
| Автор: taxir 11.5.2007, 14:09 |
| zkv, спасибо за интересную ссылку!Скачал и протестил код!Супер именно так как надо полноэкранный режим!Остается всего 1 вопрос.....как мне прокрутить таки этот текст, который будет помещен в это окно?????это должно быть автоматом, с определенным размером шрифта, скоростью и направлением прокрутки (снизу вверх или наоборот по желанию) и прокрутка должна быть как в ТЕЛЕТЕКСТЕ...то есть она должна идти постоянно....текст какбы должен бесконечно двигатся снизу вверх или наоборот и когда будет конец текста он должен повторится опять образуя бесконечный цикл пока таймер не примет новый контент с вебстранички....хотелось бы узнать как мона это сделать на примере! |
| Автор: SenkraD 11.5.2007, 14:19 |
| Ну посылай сообщений скрол бару и обрабатывай его и если уже конец документа и нету новых данных то переходи на начало документа и повторяй процедуру |
| Автор: zkv 11.5.2007, 14:28 |
автопрокрутку вешаем на таймер ну тут надо применить фантазию ;-) а куда вставлять принятый текст? В текущую позицию прокрутки? |
| Автор: taxir 11.5.2007, 14:37 | ||||
SenkraD-у
zkv,
нет....нужно предыдущий текст полностью удалить и вместо него новый принятый.... |
| Автор: SenkraD 11.5.2007, 14:49 |
| так щас не брошу - занят, а вот примерно делается так 1. ну наследуеш от CScrollView 2. Устанавливаеш таймер 3. в обработке события WM_TIMER вызываеш SetScrollPos 4. Перегружаеш OnVScroll Вообщем кажись так |
| Автор: taxir 11.5.2007, 14:56 |
| Ок...Спасиибоооо!Попробую! |
| Автор: taxir 12.5.2007, 09:10 |
| Доброе утро! Есть проблема....как можно в EDIT выводить текст начиная снизу и чтобы при добавлении новой строки первая строка и последующие поднимались снизу вверх? |
| Автор: Earnest 13.5.2007, 08:11 |
| Никак, разве что навставляешь пустых строк в начало. Чтобы добавить новую строку, не переписывая весь текст, можно поступить так: поставить Selection в конце и сделать его пустым. А потом вызвать ReplaceSel с новой строкой. Чтобы текст прокрутился, если превысл размеры эдита, просто постаь текущую позицию в самом конце. |
| Автор: taxir 13.5.2007, 11:00 |
| Спасибо за ответ! |