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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2009, 20:59   #1
Дима я
Форумчанин
 
Регистрация: 06.06.2009
Сообщений: 259
Восклицание Есть ли такой компонет?ЛистБокс с функцией загрузки фонового изображения

есть ли такой??
Если я тебе помог Ты бы + влепить мне мог.
Дима я вне форума Ответить с цитированием
Старый 16.06.2009, 21:00   #2
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Ты имеешь ввиду простой картинки в ListBox?
Код:
Image1.Parent:=listbox1;
xor eax, eax
xchg [eax], eax

Последний раз редактировалось MalCer; 16.06.2009 в 21:06.
MalCer вне форума Ответить с цитированием
Старый 18.06.2009, 12:47   #3
Дима я
Форумчанин
 
Регистрация: 06.06.2009
Сообщений: 259
По умолчанию

я хочу что в листбоксе была фоновая картинка,ну мы можем задать цвет листбокса а я хочу чтобы можно было картинку так грузить.Чтоб все работало также только картинку можно было на фон грузить
Если я тебе помог Ты бы + влепить мне мог.
Дима я вне форума Ответить с цитированием
Старый 18.06.2009, 13:02   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

выше вам написали ответ
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 18.06.2009, 13:26   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
выше вам написали ответ
Дружище, он не сработает. Я проверил на D6.
Цитата:
Дима я
Нужно просто рисовать на канве ЛистБокса, для чего есть событие OnDrawItem - это для отрисовки текста.
И перехватывать сообщение WM_PAINT для отрисовки картинки.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.06.2009, 13:47   #6
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

сработать- то сработает, только элементы списка будут под изображением. Проще действительно на канве рисовать или посмотреть в JVCL наверняка есть
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 18.06.2009, 14:32   #7
Дима я
Форумчанин
 
Регистрация: 06.06.2009
Сообщений: 259
По умолчанию

Проблема только в том что я не знаю как обрабатывать OnDrawItem дайте плиз если у кого то есть какие то ссылочки по этому вопросу
Если я тебе помог Ты бы + влепить мне мог.
Дима я вне форума Ответить с цитированием
Старый 18.06.2009, 16:49   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вот я пример тут приводил:
http://www.programmersforum.ru/showt...%28i%2Cb%29%3B

Вот еще такое могу показать
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    procedure FormCreate(Sender: TObject);
    procedure ListBox1DrawItem(Control: TWinControl; Index: Integer;
      Rect: TRect; State: TOwnerDrawState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var  b:TBitmap;
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
b:=TBitmap.Create; b.Width:=1000;b.Height:=1000;
b.LoadFromFile('D:\stasya_ru_2_big.bmp ');
ListBox1.Style:=lbOwnerDrawFixed;
end;

procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
begin
if Index=0 then BitBlt (ListBox1.Canvas.Handle,0,0,ListBox1.Width,ListBox1.Height,b.Canvas.Handle,0,0,SRCCOPY);
 ListBox1.Canvas.Brush.Style:=bsClear;
 ListBox1.Canvas.TextOut(rect.Left,rect.Top,ListBox1.Items[index]);
end;

end.
Но тут небольшие косяки с отрисовкой текста

Цитата:
Квэнди
У меня такое не получалось. Если не сложно приведи примерчик, сравню со своими ошибками
I'm learning to live...

Последний раз редактировалось Stilet; 18.06.2009 в 17:00.
Stilet вне форума Ответить с цитированием
Старый 18.06.2009, 16:58   #9
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Цитата:
У меня такое не получалось. Если не сложно приведи примерчик, сравню со своими ошибками
В вложении исходник проекта (использовал D2009)
Вложения
Тип файла: zip testlist.zip (52.1 Кб, 24 просмотров)
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 18.06.2009, 17:04   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Квэнди
Поооонял. Не скажу что идеально но тоже вариант. )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть ли такой компонент? artemavd Компоненты Delphi 6 11.05.2009 01:47
Ошибка при загрузки изображения Volkogriz Общие вопросы Delphi 13 13.01.2009 01:51
Есть ли компонет WebBrowser на основе Mozila или Opera? beegl Компоненты Delphi 5 30.11.2008 21:07
Есть ли такой контрол в Дельфи? mutabor Общие вопросы Delphi 11 08.06.2008 14:08
Сбой загрузки компонет при старте Delphi 2007 dimfil Компоненты Delphi 2 22.11.2007 12:55