Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2008, 15:48   #1
Izhic
Форумчанин
 
Аватар для Izhic
 
Регистрация: 08.10.2008
Сообщений: 668
Радость lb_GetSelItems. Проблемы с lParam

http://www.cracklab.ru/pro/faq.php?pg=2550&ln=50
Цитата:
Сообщение: lb_GetSelItems

Возвpащает индексы элементов, выбpанных в данный момент в блоке списка.

Паpаметpы:

wParam: Опpеделяет максимальное число считываемых индексов элементов.

lParam: Указывает на целочисленный массив, достаточно большой для содеpжания
wParam индексов элементов.

Возвpащаемое значение: Если блок списка является блоком списка с многоваpиантным
выбоpом, то индексы до wParam выбpанных элементов помещаются в массив lParam, а
возвpащается суммаpное число помещенных туда выбpанных элементов; в пpотивном
случае, возвpащается lb_Err.
У меня получилось чтото вроде:
ar:array of integer;
SetLength(ar,sendmessage(ListBox1.H andle, LB_GETSELCOUNT,0,0));
SendMessage(
ListBox1.Handle,
lb_GetSelItems,
sendmessage(ListBox1.Handle, LB_GETSELCOUNT,0,0),
ar{ещё @ar пробовал }
);
Так какой последнй параметр должен быть не могу понять.
Подскажите пожалуйста.
Don't worry be happy

Последний раз редактировалось Izhic; 20.10.2008 в 16:03.
Izhic вне форума Ответить с цитированием
Старый 20.10.2008, 16:26   #2
Izhic
Форумчанин
 
Аватар для Izhic
 
Регистрация: 08.10.2008
Сообщений: 668
Злость

http://vbnet.mvps.org/index.html?cod...ultiselect.htm

сдесь так вроде просто 1ый элемент посылают странно так не работает

ar[0], @ar[0] соответственоо тоже (((

Похоже почти определился надо так:

Integer(@ar[0])

однако при выделенном 1ом элементе почемуто показывает nil ???

Похоже для WinApi 0 и nil одно и тоже
Или Я что то не так сделал?
---------------------------
Sorry , Я просто пытался через array of integer^ сделать.
Теперь всё ваще замечательно
Спасибо мне. ))) Вот бы все так сами находили.
Don't worry be happy

Последний раз редактировалось rpy3uH; 20.10.2008 в 18:07.
Izhic вне форума Ответить с цитированием
Старый 20.10.2008, 18:16   #3
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

рабочий пример
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  Arr:array of integer;
  C,i:integer;
begin
  C:=SendMessage(ListBox1.Handle,LB_GETSELCOUNT,0,0);

  SetLength(Arr,C);

  C:=SendMessage(ListBox1.Handle,LB_GETSELITEMS,C,integer(Arr));
  Memo1.Clear;
  for i:=0 to C-1 do
   Memo1.Lines.Add(ListBox1.Items[Arr[i]]);
  SetLength(Arr,C);
end;
rpy3uH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПРоблемы с графикой HELP!!! ANARHIST Помощь студентам 2 03.07.2008 09:04
Как получить координаты мыши из lParam в Дельфи? zhefran Win Api 3 30.04.2008 11:51
проблемы с TFileStream andrey4623 Общие вопросы Delphi 9 01.11.2007 20:44
проблемы с матрицой!!! kommunist Помощь студентам 4 19.10.2007 09:07
Проблемы с прорисовкой :/ Ilidan Общие вопросы по Java, Java SE, Kotlin 0 16.10.2007 01:46