Цитата:
Сообщение от AlexandeR
Какой процедурой можно сделать, что-бы при подключении, список контактов отображался на ListBox1.
Заранее большое спс
|
//Это событие лучше вызывать в событии OnLogin пройедурой Имя_ICQ_компонента.RequestContactList;
Код:
procedure TfrmMain.ICQClientServerListRecv(Sender: TObject;
SrvContactList: TList);
var
i : LongInt; //Счетчик цикла
UserInfo: TUINEntry; //Инфа о пользователе из списка
UINNickItem : PUINNickItem; //Виртуальный элемент списка
begin
//lstContactList это список контактов
lstContactList.Clear;
UINNickList.Clear;
end;
if SrvContactList.Count > 0 then
for i := 0 to SrvContactList.Count - 1 do //Каждый элемент добавляем
begin
UserInfo := PUINEntry(SrvContactList.Items[i])^;
if UserInfo.CType = 0 then //если это пользователь (CType = 0), то добавляем в список
begin
//Само добавление
lstContactList.AddItem(UserInfo.Nick + ' (' + IntToStr(UserInfo.UIN) + ') ', Self);
GetMem(UINNickItem, SizeOf(UINNickItem^));
UINNickItem^.UIN := UserInfo.UIN;
UINNickItem^.Nick := UserInfo.Nick;
UINNickList.Add(UINNickItem);//Добавлеям в виртуальный список (!)
end;
end;
ICQClient.DestroyUINList(SrvContactList); //Обязательно (!!!)
end;
Admin: Пользуемся тегами!