![]() |
|
Модераторы: Akina |
![]()
|
|
| striker |
|
|||
|
Unregistered |
Как-то раз возникло желание написать свой чат (во-первых надо было решить проблему общения в локальной сети, а во-вторых, было самому интересно, смогу ли я). Начал писать... Писал на VB6.0! Мог конечно и на Delphi, но отдал предпочтение именно VB из-за легкости ну и т.д. Для обмена сообщениями использовал компонент dsSocket Winsock Custom Control. В версии 0.1 моего чата уже всё довольно нормально работало, но захотелось большего! Захотел я сделать так, чтобы ползователи сами выбирали цвет своего ника. Пришлось менять стандартный textbox на richtextbox. Всё сделал! Работает! И опять мне показалось мало! Захотелось сделать еще и смайлики. Вот тут и появились первые проблемы! Не нашёл я функции, чтоб картинка из файла сама подгружалась в richtextbox. Пришлось идти обходными путями! Сделал прогу text1.text=richtextbox1.textRTf! Суть вот в чём! Короче переводишь картинку в текст (теги rtf), создаёшь в проекте чата текстовое поле, куда и заносишь эти rtf-теги. Когда надо было вставить смайл, то методом selRTF вставлялся этот текст! Всё бы хорошо, но вот когда стало много смайлов, то управляться с ними стало сложно! Сколько смайлов, столько и текстовых полей соотвественно. Вот такой вот корявый способ! Может кто знает другой способ. Хотелось бы, чтобы смайлы вставлялись из файла-картинки!
И еще одна проблема... Короче в richtextbox можно растягивать картинки! Это хотя не такая уж и проблема, но хотелось бы, чтобы картинки нельзя было растягивать! Посоветуйте, как! |
|||
|
||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Это возможно, но по-любому будет криво.
Это - особенность RichTextBox... Вообще-то если хочешь все сразу - то не используй стандартных контролов, у них слишком много уже заложено свойств и поведений. Рисуй по чистой канве. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
| CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / Репутация: нет Всего: 31 |
сделай невидимое окно с пыхчер-боксом, вставь туды smile.jpg (это ты должен такую неприкольную картинку сделать, куда поместишь строго по столбикам и строкам все смайлы.) создай текстовый файл, где опиши положение каждого смайла в общей картинке (или сразу массив). все. когда появляется тег картинки, программа сверяется с данными массива, и копирует часть smile.jpg с нужным смайлом в буфер!
тупа, правда? |
|||
|
||||
| Гость_KEKC |
|
|||
|
Unregistered |
Молодец! Скинь потом на [email protected]. Я тоже свой чат делал - CCCP_Phone назвал.
- - - Там, где у тебя должно быть окно с сообщениями, поставь WEB Browser (Microsoft Internet Controls). Он будет с 3D краями, но это можно исправить... HTML знаешь? Да - отлично. Нет - нечего там знать: В проге, когда обновляется сообщение, создаешь файл (каждый раз он будет переписываться), например "temp.htm" и вписываешь туда текст (ниже). Вот так: Код: --- Open iif(len(app.path)=3, app.path, app.path & "\") & "temp.htm" for output as #1 Print #1, "<html><body>" & sMsg & "</body></html>" Close #1 --- Подразумивается, что в sMsg - текст сообщений. До этого кода его надо создать. Допустим у тебя в sMsg лежит "Привет всем! поставить смайлик из файла "c:\smile.bmp" (можно даже не из файла, а из нэта!). Тогда делаешь так: sMsg = Replace(sMsg,":)","<img src='c:\smile.bmp'>") И ЭТО ВСЁ!!! Можно ещё цвет фона поменять и всё такое... |
|||
|
||||
| Гость_KEKC |
|
|||
|
Unregistered |
Вот такая помесь HTML и VB. Прошу не удалять! К стати, забыл: в конце не забудь удалить html-файл. Kill iif(len(app.path)=3, app.path, app.path & "\") & "temp.htm".
|
|||
|
||||
| :) |
|
|||
|
Unregistered |
|
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |