Вниз
Скачать: CL | DM;

Кто-нить знает как юзать LB_GETTEXT?   Найти похожие ветки 

← →
Velocity   (2002-02-20 05:50) [0]

Сабж, только сильно не бейте, понимаю, что достал уже этим вопросом, но больше обратиться некуда. Последний параметр в этой мессаге - буфер (или указатель на него?), куда будет возвращена строка из LISTBOXа (в SDK так написано). Если в качестве буфера брать string - буфер всегда пустой, если PChar - вообще ошибка вылетает. Вызываю так:

SendMessage(хендл листбокса,LB_GETTEXT,номер строчки,integer
(buffer));

Кто знает - подскажите ПРАВИЛЬНЫЙ формат вызова сей команды. Заранее спасибо.


← →
Suntechnic ©   (2002-02-20 06:55) [1]

PChar туда передавть надо. Только память выделить не забывай.


← →
Evgeny ©   (2002-02-20 07:11) [2]

можно и так:

var
I : Integer;
CurDir : array[Byte] of Char;
...
I := SendMessage(lParam, LB_GETCURSEL, 0, 0);
SendMessage(lParam, LB_GETTEXT, I, Integer(@CurDir));
...


← →
MBo ©   (2002-02-20 07:52) [3]

непременно перед LB_GETTEXT надо узнать длину с помощью
LB_GETTEXTLEN и, как Suntechnic прописал, выделить память под PChar(len+1 байт)


← →
Evgeny ©   (2002-02-20 08:09) [4]

MBo
непременно перед LB_GETTEXT надо узнать длину


Как сказано в справке:

An LB_GETTEXTLEN message can be sent before the LB_GETTEXT message to retrieve the length, in characters, of the string.

Сообщение LB_GETTEXTLEN может быть послано перед сообщением LB_GETTEXT, чтобы извлечь длину строки.

так что, чаще всего достаточно иметь предопределенный массив.


← →
MBo ©   (2002-02-20 08:42) [5]

>Evgeny
согласен, если длины хватает, но непременно поставил, так как в исходном вопросе было про ошибку с PChar -скорее всего из-за этого


← →
Evgeny ©   (2002-02-20 11:23) [6]

Возможно и так


← →
Velocity   (2002-02-21 05:02) [7]

>All
Спасибо огромное, научили балбеса. А то замучился уже. Еще раз спасибо.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.009 c
4-94619
s-thick
2002-02-21 05:05
2002.04.29
Win2000, WinXP (Ctrl-Alt-Del)


1-94372
Jaxtor
2002-04-17 14:21
2002.04.29
Событие при максимизации главной формы


4-94645
BigFoot
2002-02-21 09:29
2002.04.29
Как отловить событие ?


14-94572
Doom
2002-03-21 11:25
2002.04.29
Люди !!! Помогите !!! Модем одурел совсем !! Сам по себе работает!!!


1-94397
SergLight
2002-04-17 18:35
2002.04.29
Обработка OnDrawItem для ListBox а




   Наверх