| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > чат на VB |
| Автор: striker 4.8.2005, 05:47 |
| Как-то раз возникло желание написать свой чат (во-первых надо было решить проблему общения в локальной сети, а во-вторых, было самому интересно, смогу ли я). Начал писать... Писал на VB6.0! Мог конечно и на Delphi, но отдал предпочтение именно VB из-за легкости ну и т.д. Для обмена сообщениями использовал компонент dsSocket Winsock Custom Control. В версии 0.1 моего чата уже всё довольно нормально работало, но захотелось большего! Захотел я сделать так, чтобы ползователи сами выбирали цвет своего ника. Пришлось менять стандартный textbox на richtextbox. Всё сделал! Работает! И опять мне показалось мало! Захотелось сделать еще и смайлики. Вот тут и появились первые проблемы! Не нашёл я функции, чтоб картинка из файла сама подгружалась в richtextbox. Пришлось идти обходными путями! Сделал прогу text1.text=richtextbox1.textRTf! Суть вот в чём! Короче переводишь картинку в текст (теги rtf), создаёшь в проекте чата текстовое поле, куда и заносишь эти rtf-теги. Когда надо было вставить смайл, то методом selRTF вставлялся этот текст! Всё бы хорошо, но вот когда стало много смайлов, то управляться с ними стало сложно! Сколько смайлов, столько и текстовых полей соотвественно. Вот такой вот корявый способ! Может кто знает другой способ. Хотелось бы, чтобы смайлы вставлялись из файла-картинки! И еще одна проблема... Короче в richtextbox можно растягивать картинки! Это хотя не такая уж и проблема, но хотелось бы, чтобы картинки нельзя было растягивать! Посоветуйте, как! |
| Автор: Akina 4.8.2005, 08:14 | ||||
Это возможно, но по-любому будет криво.
Это - особенность RichTextBox... Вообще-то если хочешь все сразу - то не используй стандартных контролов, у них слишком много уже заложено свойств и поведений. Рисуй по чистой канве. |
| Автор: CompWorm 5.8.2005, 19:54 |
| сделай невидимое окно с пыхчер-боксом, вставь туды smile.jpg (это ты должен такую неприкольную картинку сделать, куда поместишь строго по столбикам и строкам все смайлы.) создай текстовый файл, где опиши положение каждого смайла в общей картинке (или сразу массив). все. когда появляется тег картинки, программа сверяется с данными массива, и копирует часть smile.jpg с нужным смайлом в буфер! тупа, правда? |
| Автор: Гость_KEKC 10.8.2005, 16:34 |
| Молодец! Скинь потом на artur_e@list.ru. Я тоже свой чат делал - 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 10.8.2005, 16:36 |
| Вот такая помесь HTML и VB. Прошу не удалять! К стати, забыл: в конце не забудь удалить html-файл. Kill iif(len(app.path)=3, app.path, app.path & "\") & "temp.htm". |
| Автор: :) 7.11.2005, 19:10 |
| |