Local messenger :-)

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
GPP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 351
Зарегистрирован: 02.11.2005 (Ср) 8:02
Откуда: г.Невельск о.Сахалин

Local messenger :-)

Сообщение GPP » 22.07.2007 (Вс) 6:04

Есть необходимость написать программу типа ICQ, но только для локальной сети и по технологии "клиент-клиент". Есть ли контрол типа Listbox, но только чтоб напротив ника можно было установить иконку статуса (ну активен, не активен) или хотя бы выделять цветом неактивных пользователей? Заранее огромное спасибо!
GPP(c) Gorlo Pavel Programming

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 22.07.2007 (Вс) 7:04

Листбокс со Style=vbListBoxCheckbox ;-)
Изображение

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

Сообщение GPP » 22.07.2007 (Вс) 7:07

tyomitch, не братуха! :lol: Так не пойдет! :lol: Хотя один из выходов...
GPP(c) Gorlo Pavel Programming

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 22.07.2007 (Вс) 7:41

GPP
Можешь использовать ListView в режими репорт. Можешь вручную отрисовывать ListBox.

Первый вариант кажется более простым, но если тебе нужно ещё и выделение цветом - то всяко придётся отрисовывать в ручную.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

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

Сообщение GPP » 24.07.2007 (Вт) 7:11

Народ! Может есть такой контрол?
GPP(c) Gorlo Pavel Programming

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 24.07.2007 (Вт) 11:37

Сказали же - ListView. Там и чекбокс поставить можно, и раскрасить, и иконку прилепить
Изображение

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 24.07.2007 (Вт) 11:57

GPP, ты почти два года из бана в бан спрашиваешь одно и то же про свой чат. Не надоело?
Lasciate ogni speranza, voi ch'entrate.

sergey-911
Постоялец
Постоялец
 
Сообщения: 545
Зарегистрирован: 17.01.2005 (Пн) 19:10

Сообщение sergey-911 » 25.07.2007 (Ср) 1:26

Component One
Целый набор компонентов, включая листбокс с картинками, а также компоненты для чата.
С уважением, Сергей.

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

Сообщение GPP » 25.07.2007 (Ср) 2:12

alibek? нет не надоело!!! Тогда я про другой чат спрашивал!!! И вообще какая разница!!!
GPP(c) Gorlo Pavel Programming

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

Сообщение GPP » 25.07.2007 (Ср) 2:14

sergey-911, спасибо большое! :D
GPP(c) Gorlo Pavel Programming

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

Сообщение GPP » 28.07.2007 (Сб) 7:00

Как сделать в ListView так как в Listbox но только с иконками? Заранее огромное спасибо!
GPP(c) Gorlo Pavel Programming

VERITAS
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 12.12.2004 (Вс) 20:31

Сообщение VERITAS » 28.07.2007 (Сб) 9:40

GPP писал(а):Как сделать в ListView так как в Listbox но только с иконками? Заранее огромное спасибо!

Напиши свой и "заточи" его как тебе нужно, чем не выход ?
No comments ...

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 28.07.2007 (Сб) 19:24

GPP
Перевести в режим Report сделать 1 колонку, спрятать заголовки - всё делается из PropertyPage(та что по правому клику->Properties) контрола.
Изображение

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

Сообщение GPP » 29.07.2007 (Вс) 9:16

keks-n, как сделать одну колонку? Вот исходник... Заранее огромное спасибо!
Вложения
ListView.rar
КОНКУРС! СДЕЛАЙ ОДНУ КОЛОНКУ!
(3.11 Кб) Скачиваний: 108
GPP(c) Gorlo Pavel Programming

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 29.07.2007 (Вс) 9:56

У тебя сейчас и так одна колонка.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

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

Сообщение GPP » 29.07.2007 (Вс) 9:59

Хакер, а почему заголовка там два?
GPP(c) Gorlo Pavel Programming

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 29.07.2007 (Вс) 10:06

Нет, он там 1.

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

Можешь выставить его ширину равной ширине всего ListView, чтобы спрятать сплиттер за границей клиентской области LV и, в то же время, не дать LV показывать скролл-бар.

Код: Выделить всё
ListView1.ColumnHeaders(1).Width = ListView1.Width - 60


60 = 30 + 30 = 2 * Screen.TwipsPerPixelx + 2 * screen.twipsPerPixelx

З.Ы. Но рекоммендую получать размер клиентской области каким-нибудь другим, более правильным способом. Например, при использовании Flat-стиля, размер КО будет больше, чем Width-4px
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

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

Сообщение GPP » 29.07.2007 (Вс) 12:35

Хакер, ОК спасибо! Буду пробовать...
GPP(c) Gorlo Pavel Programming

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 29.07.2007 (Вс) 18:03

Хакер
GetClientRect
Изображение

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 29.07.2007 (Вс) 18:25

keks-n
Почему перед названием функции стоит моё имя?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 29.07.2007 (Вс) 22:18

Це адресация сообщения. Ответ на
Но рекоммендую получать размер клиентской области каким-нибудь другим, более правильным способом.
Изображение

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 29.07.2007 (Вс) 22:23

Я понимаю, что это. Я не понимаю, почему мне.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 29.07.2007 (Вс) 22:47

Видимо, keks-n исходил из того соображения, что если вместо названия простой функции ты написал "каким-нибудь другим, более правильным способом", то ты не знаешь об этой функции, и потому ответ адресуется тебе, ну и автор темы тоже прочтёт...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 29.07.2007 (Вс) 22:57

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

А пример кода с вызовом GetClientRect был бы слишком громоздким. И у CC5.0 есть дурацкая привычка прятать истинный ListView (который SysListView32) в своём дурацком окне-враппере, ClientRect которого может быть больше, чем ClientRect ListView.

Но keks-n знает, что я знаю об этой функции - это я точно знаю :lol:

Именно поэтому меня интересует, почему всё-таки пост адресован мне.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.


Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 13

    TopList