Окно чата. Почти готовый компонент :)

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

GPP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 351
Зарегистрирован: 02.11.2005 (Ср) 8:02
Откуда: г.Невельск о.Сахалин

Окно чата. Почти готовый компонент :)

Сообщение GPP » 25.06.2009 (Чт) 18:06

Здравствуйте. Вот наскоряк наваял компонент для окна чата на основе Label-ов и PictureBox-ов. Компонент подерживает анимированые смайлы ну и форматирование текста присущее компонету Label :). Возникло пара вопросов и проблем:

1. Низкая скорость прорисовки Label-ов при фоне комопнента в виде картинки(Почему так и как можно исправить).
2. Наличие автопрокрутки(как сделать?).
3. Как сделать так, что бы можно было выделять текст в окне?

Заранее прошу прощения, но я его написал на C#(по тихоньку изучаю. Думаю многие поймут код).
Список смайлов "подгружается" из текстового файла(он лежит в папке с примером программы Debug\Smiles ).

Выкладываю исходник компонента и пример программы. Хотелось бы совместными усилиями(если это возможно) довести компонент до ума. Заранее спасибо за помощь и за дельные советы.

CHAT_Window.rar
исходники
(199.72 Кб) Скачиваний: 112
GPP(c) Gorlo Pavel Programming

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Окно чата. Почти готовый компонент :)

Сообщение Williams » 25.06.2009 (Чт) 18:36

Для решения проблемы быстродействия, хорошим решением будет заморозить прорисовку.
И вы думаете, что вас оставят в живых после прочтения этого поста?

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Окно чата. Почти готовый компонент :)

Сообщение MIT » 25.06.2009 (Чт) 19:01

Williams писал(а):Для решения проблемы быстродействия, хорошим решением будет
отказаться от
GPP писал(а):Label-ов и PictureBox-ов
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

GPP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 351
Зарегистрирован: 02.11.2005 (Ср) 8:02
Откуда: г.Невельск о.Сахалин

Re: Окно чата. Почти готовый компонент :)

Сообщение GPP » 26.06.2009 (Пт) 2:21

А что можно использовать вместо Label-ов и PictureBox-ов? Каким путем идти?
GPP(c) Gorlo Pavel Programming

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Окно чата. Почти готовый компонент :)

Сообщение MIT » 26.06.2009 (Пт) 7:33

Рисовать и анимировать все самому.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

GPP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 351
Зарегистрирован: 02.11.2005 (Ср) 8:02
Откуда: г.Невельск о.Сахалин

Re: Окно чата. Почти готовый компонент :)

Сообщение GPP » 26.06.2009 (Пт) 9:34

MIT писал(а):Рисовать и анимировать все


Да... Думаю это надолго :(

Как можно в данном случае реализовать автопрокрутку?
GPP(c) Gorlo Pavel Programming

GPP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 351
Зарегистрирован: 02.11.2005 (Ср) 8:02
Откуда: г.Невельск о.Сахалин

Re: Окно чата. Почти готовый компонент :)

Сообщение GPP » 26.06.2009 (Пт) 10:47

Сделал автопрокрутку... Путем передачи фокуса последнему лабелу в окне ;)

Теперь как сделать выделение текста в окне?
GPP(c) Gorlo Pavel Programming

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Окно чата. Почти готовый компонент :)

Сообщение MIT » 26.06.2009 (Пт) 17:52

Я представляю, сколько будет жрать оперативки твой контрол, если в него загрузить пару сотен строк...

GPP писал(а):Теперь как сделать выделение текста в окне?
Меняй фон у label`ов и picturebox`ов. Если возникнет проблема с выделением конкретного символа в лейбле, то лучшим выходом будет создание нового лейбла для каждой буквы.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

GPP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 351
Зарегистрирован: 02.11.2005 (Ср) 8:02
Откуда: г.Невельск о.Сахалин

Re: Окно чата. Почти готовый компонент :)

Сообщение GPP » 27.06.2009 (Сб) 2:23

MIT писал(а):Я представляю, сколько будет жрать оперативки твой контрол, если в него загрузить пару сотен строк...


Можно сделать как в QIP, отображать определенное количество, а все остальное запихивать в историю.

А если рисовать все самому, то каким способом? DrawText? А с анимацией как быть? Класса для работы с GIF я не нашел:( Может плохо искал? Спасибо.

P.S: Framework 2.0
GPP(c) Gorlo Pavel Programming

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Окно чата. Почти готовый компонент :)

Сообщение MIT » 27.06.2009 (Сб) 11:34

Ну помниться уже была пьянка на этот счет: я, создав топик с аналогичным вопросом, заинтересовал пару человек, однако начинания закончились ничем (в любом случае на форум нормальные финальные версии не попали), хотя у меня получился весьма сносный парсер, правда нормально работающий только с небольшим количеством данных, что мне, в общем-то, и было нужно изначально - просто изменение цвета, шрифта и пр., попытка же оптимизации (считай переделки) закончилась ничем, ибо лениво.
Почитай, посмотри что понаделали тогда: Рисование BBCode на картинке, может напишешь что-нибудь лучше.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Joo
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 762
Зарегистрирован: 14.08.2008 (Чт) 11:55
Откуда: Казахстан

Re: Окно чата. Почти готовый компонент :)

Сообщение Joo » 27.06.2009 (Сб) 12:23

А почему бы не использовать IE компонент? Там тебе и прокрутка и анимированые картинки. Miranda например его юзает во всю
"Им будет не просто, тем кто полагается на истину авторитета, вместо того чтобы полагаться на авторитет Истины"
Джеральд Месси, Египтолог

GPP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 351
Зарегистрирован: 02.11.2005 (Ср) 8:02
Откуда: г.Невельск о.Сахалин

Re: Окно чата. Почти готовый компонент :)

Сообщение GPP » 27.06.2009 (Сб) 13:26

Joo писал(а):А почему бы не использовать IE компонент? Там тебе и прокрутка и анимированые картинки. Miranda например его юзает во всю


Потому что он зависит от настроек IE, я встречал много людей, которые в целях экономии траффика отключают картинки. В таком случае смайлы "умирают" :)... Проблема была бы решена существованием вьювера html с поддержкой GIF для .NET. Вот для Delphi их навалом... Странно почему нет подобных для VB6-.NET :(

P.S: Я так и не смог сделать нормальную автопрокрутку в WB контроле... Если кто знает, подскажите пожалуйста.
GPP(c) Gorlo Pavel Programming

Joo
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 762
Зарегистрирован: 14.08.2008 (Чт) 11:55
Откуда: Казахстан

Re: Окно чата. Почти готовый компонент :)

Сообщение Joo » 27.06.2009 (Сб) 13:52

GPP писал(а):
Joo писал(а):А почему бы не использовать IE компонент? Там тебе и прокрутка и анимированые картинки. Miranda например его юзает во всю


Потому что он зависит от настроек IE, я встречал много людей, которые в целях экономии траффика отключают картинки. В таком случае смайлы "умирают" :)... Проблема была бы решена существованием вьювера html с поддержкой GIF для .NET. Вот для Delphi их навалом... Странно почему нет подобных для VB6-.NET :(

P.S: Я так и не смог сделать нормальную автопрокрутку в WB контроле... Если кто знает, подскажите пожалуйста.


Ну интирисующие настройки можно проверять. В миранде смайлаы не проподают при отключенных картинках ишака.
"Им будет не просто, тем кто полагается на истину авторитета, вместо того чтобы полагаться на авторитет Истины"
Джеральд Месси, Египтолог

GPP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 351
Зарегистрирован: 02.11.2005 (Ср) 8:02
Откуда: г.Невельск о.Сахалин

Re: Окно чата. Почти готовый компонент :)

Сообщение GPP » 28.06.2009 (Вс) 10:49

Joo писал(а):Ну интирисующие настройки можно проверять. В миранде смайлаы не проподают при отключенных картинках ишака.


Интересно как это делается в Miranda... Выключаю картинки и они все равно есть... А вот в WebBrowser они исчезают после первого обновления html страницы в окне. Хммм...
GPP(c) Gorlo Pavel Programming

Joo
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 762
Зарегистрирован: 14.08.2008 (Чт) 11:55
Откуда: Казахстан

Re: Окно чата. Почти готовый компонент :)

Сообщение Joo » 28.06.2009 (Вс) 11:18

GPP писал(а):
Joo писал(а):Ну интирисующие настройки можно проверять. В миранде смайлаы не проподают при отключенных картинках ишака.


Интересно как это делается в Miranda... Выключаю картинки и они все равно есть... А вот в WebBrowser они исчезают после первого обновления html страницы в окне. Хммм...


Значит можно как-то влиять на компонент локально.
"Им будет не просто, тем кто полагается на истину авторитета, вместо того чтобы полагаться на авторитет Истины"
Джеральд Месси, Египтолог

GPP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 351
Зарегистрирован: 02.11.2005 (Ср) 8:02
Откуда: г.Невельск о.Сахалин

Re: Окно чата. Почти готовый компонент :)

Сообщение GPP » 28.06.2009 (Вс) 14:13

Разве в Mirand-е используется этот же компонет? Она вроде написанна на сях... Или я не прав? Вообще интересно, почему такой низкий интерес к этой теме... Обычно новички(а их много) любят пасать всякие чаты :)
GPP(c) Gorlo Pavel Programming

Joo
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 762
Зарегистрирован: 14.08.2008 (Чт) 11:55
Откуда: Казахстан

Re: Окно чата. Почти готовый компонент :)

Сообщение Joo » 28.06.2009 (Вс) 18:06

GPP писал(а):Разве в Mirand-е используется этот же компонет? Она вроде написанна на сях... Или я не прав? Вообще интересно, почему такой низкий интерес к этой теме... Обычно новички(а их много) любят пасать всякие чаты :)


Ну на сях, на .NET просто обертка как я понимаю.
Spy++ говорит что это "Internet Explorer_Server" т.е. именно IE
"Им будет не просто, тем кто полагается на истину авторитета, вместо того чтобы полагаться на авторитет Истины"
Джеральд Месси, Египтолог


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 75

    TopList  
cron