Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как выудить текст из ListBox? / 8 сообщений из 8, страница 1 из 1
07.03.2005, 12:50
    #32949520
Feon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выудить текст из ListBox?
Есть ListBox, к которому применение LB_GETTEXT возвращает длинное целое
А как же из этого целого взять саму строку?
...
Рейтинг: 0 / 0
07.03.2005, 17:53
    #32949698
SnowMan2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выудить текст из ListBox?
Код: plaintext
1.
char Buffer[ 256 ];
SendMessage(hListBox, LB_GETTEXT, номер элемента, (LPARAM)Buffer);
...
Рейтинг: 0 / 0
09.03.2005, 09:00
    #32950451
Feon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выудить текст из ListBox?
SnowMan2
Код: plaintext
1.
char Buffer[ 256 ];
SendMessage(hListBox, LB_GETTEXT, номер элемента, (LPARAM)Buffer);

Массив не заполняется!!!
Получаю длинное чило
Есть такая прога Mail.ru Агент, там есть команда добавить контакт
и после поиска появляется список типа ListBox
LB_GETTEXT возвращает число
кстати если послать LB_ADDSTRING и это число то вставляется коректно данная строка!!!
видимо в этом числе зашифрована строка но как ее расшифровать???
...
Рейтинг: 0 / 0
09.03.2005, 09:15
    #32950471
SnowMan2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выудить текст из ListBox?
авторLB_GETTEXT возвращает число
Ну и пусть себе возвращает, а результат надо брать в четвертом параметре функции SendMessage.
...
Рейтинг: 0 / 0
09.03.2005, 10:17
    #32950595
Feon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выудить текст из ListBox?
SnowMan2 авторLB_GETTEXT возвращает число
Ну и пусть себе возвращает, а результат надо брать в четвертом параметре функции SendMessage.

Цитирую фрагмент инфы относ. LB_GETTEXT
........
Если панель перечня была создана с типом LBS_OWNERDRAW но без указания флага LBS_HASSTRING, то это сообщение поместит в буфер, указываемый параметром lParam, 32-битовое значение, которое пользователь связал с элементом (передается через параметр lParam сообщений LB_ADDSTRING и LB_INSERTSTRING).
.........
Вот он и помещает место строки это 32-битное значение
например строка:
vasy@mail.ru Вася Петров Васятка инфа. польз
место этой строки возвращается число 15333392
если сделать LB_ADDSTRING с числом 15333392 то вставляется именно эта строка
буфер НЕ ЗАПОЛНЯЕТСЯ строкой
помогите люди добрые!!!!!!!!!!!!!!
...
Рейтинг: 0 / 0
09.03.2005, 10:38
    #32950645
Lelikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выудить текст из ListBox?
Ну так указывай LBS_HASSTRING
________________________________________________________
Глюк - это высокоорганизованная система не поддающихся определению частиц
...
Рейтинг: 0 / 0
09.03.2005, 10:46
    #32950682
Feon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выудить текст из ListBox?
LelikkНу так указывай LBS_HASSTRING
________________________________________________________
Глюк - это высокоорганизованная система не поддающихся определению частиц

я не создаю этот листбокс, как я укажу LBS_HASSTRING
...
Рейтинг: 0 / 0
01.08.2005, 07:23
    #33193447
rrr_333
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выудить текст из ListBox?
var
txtLength,i : integer;
buffer: string;
begin
form1.ListBox1.Items.Clear;
for i:=0 to SendMessage(strtoint(form1.List.Items.Item[3].SubItems[0]), LB_GETCOUNT, 0, 0)-1 do begin
TxtLength := SendMessage(strtoint(form1.List.Items.Item[3].SubItems[0]), LB_GETTEXTLEN, i, 0);
txtlength := txtlength + 1;
setlength (buffer, txtlength);
sendmessage(strtoint(form1.List.Items.Item[3].SubItems[0]),LB_GETTEXT, i, longint(@buffer[1]));
form1.ListBox1.Items.Add(buffer)
end;
end;
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как выудить текст из ListBox? / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]