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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.07.2010, 23:20   #1
Voody
Форумчанин
 
Регистрация: 22.06.2009
Сообщений: 310
По умолчанию Фоновое изображение в ListView (вроде)

Как сделать Фоновое изображение в ListView (а может это другой компонент)
Как здесь:

Voody вне форума Ответить с цитированием
Старый 20.07.2010, 23:39   #2
ZaRDaK
Форумчанин
 
Регистрация: 01.09.2009
Сообщений: 197
По умолчанию

В событии ListView'a OnDrawItem или OnChange отрисовываешь нужное изображение на его canvas'e.
ZaRDaK вне форума Ответить с цитированием
Старый 20.07.2010, 23:57   #3
Voody
Форумчанин
 
Регистрация: 22.06.2009
Сообщений: 310
По умолчанию

А в коде как это будет выглядеть
Voody вне форума Ответить с цитированием
Старый 21.07.2010, 08:33   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Могу предложить такое:
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    ListView1: TListView;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ListView1CustomDrawItem(Sender: TCustomListView;
      Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var    b:TBitmap;
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var e,i:integer;
begin
 b:=TBitmap.Create;
 b.LoadFromFile('D:\stasya_ru_2_big.bmp');
 for i:=1 to 100 do begin
  with   ListView1.Items.Add do begin
   Caption:=TimeToStr(now);
   for e:=1 to 100 do SubItems.Add(TimeToStr(now));
  end;
 end;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 b:=nil;
end;

procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
  Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
const c=3;
var ARect:TRect;
begin
 DefaultDraw:=false;
 ARect:=Item.DisplayRect(drBounds);
 BitBlt(Sender.Canvas.Handle,ARect.Left+c,ARect.Top+c,ARect.Right-ARect.Left-c,
 ARect.Bottom-ARect.Top-c,b.Canvas.Handle,ARect.Left,ARect.Top,SRCCOPY);
end;

end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.07.2010, 13:24   #5
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Интересно, интересно. Это получается разбить на кусочки, и по кусочкам вывести фон в айтемах. Спасибо за идею, мне тоже может пригодится.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 21.07.2010, 13:42   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Спасибо за идею
Всегда пожалуйста, земеля, это первое что пришло мне в думу, после того как я на скрин в топике взглянул.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как перетащить элемент ListView в другой ListView? Paul Hindenburg Компоненты Delphi 5 26.01.2013 11:35
фоновое воспроизведение звуковых файлов в Delphi Lorden Помощь студентам 3 11.12.2009 17:22
не отображается фоновое изображение в элементе списка Love_silense HTML и CSS 1 27.08.2009 17:01
Вроде бы элементарно, но... aleks_grey Помощь студентам 7 15.07.2007 11:14