| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Вставка текста из файла в компонент |
| Автор: NordWolf 13.3.2008, 21:32 |
| Как можно вставить форматированный текст из фалйа (добпустим содержимое HTML странички сохранённой на винте) в свою программу? Каким компонентом можно воспользоваться для его отображения? |
| Автор: Dmi3ev 13.3.2008, 23:25 | ||
| можно воспользоваться много чем, например Memo с вкладки Standart! а загружать можно так (например страница html1 расположена в C:\\)
кинь этот текст на нажатие кнопки, разберешься!!! пиши, если че не так |
| Автор: NordWolf 15.3.2008, 22:04 |
| да, проблема в том, что он отображает не сам форматированный текст,а весь код странички. Как сделать чтобы отображался именно форматированый текст,а не код? |
| Автор: NordWolf 15.3.2008, 23:10 |
| Нашёл интересный компонент, но он только для Delphi. Компонент THtmlLite позволяет отображать HTML-документы в Delphi-приложениях. Аналогичные для Builder c++ есть? |
| Автор: dumb 15.3.2008, 23:27 |
| дельфевые компоненты в билдере используются "на ура". |
| Автор: NordWolf 16.3.2008, 00:26 |
нет, к сожалению в демо-версии этого компонента только реализация под delphi. Расширение *.dpl. А в билдере bpk. |
| Автор: dumb 16.3.2008, 03:59 |
| эм. погоди-ка... а про существование TCppWebBrowser тебе известно? используй поиск по этому слову. |
| Автор: NordWolf 16.3.2008, 19:16 | ||
Благодарю. Найденный путь решения проблемы:
Возникло ещё 2 вопроса. 1) Когда я вставил следующий(см. выше) код в TForm3, то вся форма преобрела вид браузера, то есть все кнопки и компоненты которые были расположены на Form3 скрылись, сотался только контент TCppWebBrowser. Как сделать,чтобы Содержимое компонента TCppWebBrowser (в нашем случае файл html1.html) открывался в отдельном компоненте, а рядышком можно было расположить допустим какую-либо кнопку. 2)А как можно запустить файл находящийся в папке с программой? Если просто написать CppWebBrowser->Navigate(WideString("html1.html")); то он не открывает, пишет ошибку... |
| Автор: Dmi3ev 16.3.2008, 21:13 |
| NordWolf, по 1 пункту: убери align=alclient оно по умолчанию alnone и управляй положением TccpBrowser с помощью след св-в Left-положение относительно левой границы формы Top-положение относительно верхней границы формы Height-высота Width-ширина ты просто делаешь выравнивание и твой компонент растягивается по всей форме теперь по 2: у тебя текущей директорией является не та, где лежит проект! узнать путь к проекту можно функцией, а ещё, по-моему можно это как-то делать в самом Bilder |
| Автор: NordWolf 16.3.2008, 21:50 |
| Поставил в свойстве align=alnone и на форме и в компоненте, но всё равно компонент предательски загребает всё пространство, развёртываясь на всей форме... по поводу второго - Project>Options>Directories... Там прописаны пути проекта, всё вроде в порядке, но не грузится. Я это делаю так: CppWebBrowser->Navigate(WideString("html1.html")); |
| Автор: Dmi3ev 16.3.2008, 21:58 | ||
| по 1 не надо вообще ничего писать, просто выравнивайте компонент с помощью св-в, которые я описал
иначе ничего не будет по 2 значит надо использовать функцию, которая возвращает путь к проекту, сейчас нет справочника под рукой, а то бы подсказал |
| Автор: NordWolf 17.3.2008, 17:44 |
| ЗЫ: вообщем уладил проблему с выравниванием следующим способом: поставил на форму две панели TPanel. одну сделал align = alBottom.а другую alClient. потом на вторую поместил веб браузер и тоже alClient. а на ту что alBottom поместил кнопку прикольно получилось. Пасибо всем кто помогал. Я ещё обращусь к вам) |
| Автор: NordWolf 23.4.2008, 19:00 | ||
Возникла следующая проблема. При помещении этого же компонента в другой форме этого же проекта, то компонент не отображает файл (изменил только имя файла, который надо открывать). Код использую тот же:
|
| Автор: NordWolf 24.4.2008, 19:43 |
| пробовал поменять открывающий файл, пробовал оставлять предыдущий файл(открывать тот же что и на предыдущей форме) - всё бестолку, белый фон. Народ, помогите, диплом подвис в воздухе. |
| Автор: dumb 25.4.2008, 02:13 |
| пробуй: |
| Автор: NordWolf 25.4.2008, 23:47 |
| Ну вот, приколись: http://ifolder.ru/6308749 |
| Автор: dumb 26.4.2008, 02:26 | ||
| да уж, прикольно... "не показывает" потому, что FormCreate хоть и существует, но в обработчики формы не внесен - типичный косяк, происходящий при копировании. в ObjectInspector'е(F11) с выбранной Form6 на вкладке Events дабл-клик на OnCreate. вкратце: компоненты можно набрасывать на форму в дизайнере - создаются "статические" объекты с определенными именами(напр.CppWebbrowser1), а можно создавать экземпляры компонентов "вручную", через new - это называется динамическим созданием. ты бросаешь компонент браузера на форму, а затем создаешь его еще и динамически. надо выбрать что-то одно. тебе будет проще пока все делать в дизайнере. соответственно все, что у тебя написано в FormCreate заменяй на одну строку:
|