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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2009, 22:58   #1
DeDoK
Форумчанин
 
Аватар для DeDoK
 
Регистрация: 05.11.2007
Сообщений: 392
Вопрос контакт лист

какой надо использовать компонент чтобы получить картинки статусов? или как правильно рисовать на стандартных компонентах?
Изображения
Тип файла: jpg Безымянный.JPG (28.2 Кб, 140 просмотров)
DeDoK вне форума Ответить с цитированием
Старый 10.06.2009, 23:12   #2
Maxs
Заблокирован
 
Регистрация: 06.04.2009
Сообщений: 130
По умолчанию

Есть множество вариантов. Например: натянуть картинку на BitBtn(свойство Glyph), поставить на против ника image
Maxs вне форума Ответить с цитированием
Старый 10.06.2009, 23:27   #3
DeDoK
Форумчанин
 
Аватар для DeDoK
 
Регистрация: 05.11.2007
Сообщений: 392
По умолчанию

ну а допустим если я лист бокс использую - что ставить кучу картинок чтоли?
DeDoK вне форума Ответить с цитированием
Старый 11.06.2009, 00:09   #4
Maxs
Заблокирован
 
Регистрация: 06.04.2009
Сообщений: 130
По умолчанию

В лист бох картинки можно так добавить: Поставить style=lbOwnerDrawFixed
Поставить на форму image с картинкой bmp.
Код:
public
Procedure PaintImage(List1 :TListBox; Control: TWinControl;
 Index: Integer; Rect: TRect);
Код:
procedure TForm1.ListBoxSiteDrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
begin
  PaintImage(ListBoxSite, Control, Index, Rect);
end;
Код:
Procedure TForm1.PaintImage(List1 :TListBox; Control: TWinControl;
 Index: Integer; Rect: TRect);
const W = 16;
      H = 16;
var BMPRect: TRect;
begin
  with (Control as TListBox).Canvas do
  begin
    FillRect(Rect);
    List1.Canvas.Draw(0, Rect.Top, Image1.Picture.Graphic);
    BMPRect := Bounds(Rect.Left, Rect.Top, W, H);
    TextOut(Rect.Left+W, Rect.Top, List1.Items[index]);
  end;
end;
Maxs вне форума Ответить с цитированием
Старый 11.06.2009, 01:34   #5
DeDoK
Форумчанин
 
Аватар для DeDoK
 
Регистрация: 05.11.2007
Сообщений: 392
По умолчанию

а если у меня эти картинки в ImageList? как тогда?
DeDoK вне форума Ответить с цитированием
Старый 11.06.2009, 01:43   #6
Evgeniy26
Форумчанин
 
Аватар для Evgeniy26
 
Регистрация: 29.05.2009
Сообщений: 384
По умолчанию

Код:
var
  Bitmap: TBitmap;
begin
  Bitmap := TBitmap.Create;
  ImageList1.GetBitmap(<index>, Bitmap);

Последний раз редактировалось Stilet; 11.06.2009 в 13:28.
Evgeniy26 вне форума Ответить с цитированием
Старый 11.06.2009, 08:15   #7
S@fer
Форумчанин
 
Аватар для S@fer
 
Регистрация: 29.01.2009
Сообщений: 411
По умолчанию

Можно использовать компонент DBGridEh - из EhLib
и из ImageList вытаскивать картинки и вставлять их в ячейки
Во вложении сам компонент и пример использования
Вложения
Тип файла: rar Eh_lib.rar (794.5 Кб, 9 просмотров)
S@fer вне форума Ответить с цитированием
Старый 11.06.2009, 13:20   #8
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

ImageList сам может рисовать через свойство DRAW. Намного быстрее будет.
Alter вне форума Ответить с цитированием
Старый 11.06.2009, 18:34   #9
DeDoK
Форумчанин
 
Аватар для DeDoK
 
Регистрация: 05.11.2007
Сообщений: 392
По умолчанию

Evgeniy26 - а как тогда использовать этот битмап? у него нет свойства Graphic. Alter расскажи пожалуйста подробней о вашем способе
DeDoK вне форума Ответить с цитированием
Старый 12.06.2009, 18:32   #10
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Где I - номер картинки текущего статуса пользователя в компоненте StatusImg
Код:
  If I>=0 then
   StatusImg.Draw(Canvas, Rect.Left, Rect.Top, I);
Alter вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу зайти в контакт. Chudo4258 Свободное общение 26 29.07.2010 01:23
Получения контакт листа ICQ mustang007 Работа с сетью в Delphi 0 22.05.2009 18:05
ICQClient контакт-лист DOLBY Компоненты Delphi 6 14.11.2008 22:38