Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.02.22;
Скачать: CL | DM;

Вниз

DrawGrig - исчезающие картинки.   Найти похожие ветки 

 
Pavelkq   (2009-01-08 18:54) [0]

Только начал осваивать компонент. Пишу следующее:
 DrawGrid1.Visible:=true;
 FName:="";
 if OpenPictureDialog1.Execute then
   FName:=OpenPictureDialog1.FileName;
 if FName="" then exit;
 MyBMP := TBitmap.Create;
 MyJPEG := TJPEGImage.Create;

 MyJPEG.LoadFromFile(FName);
 MyBMP.Assign( MyJPEG );

 Rect:= DrawGrid1.CellRect(0, 0);
 DrawGrid1.Canvas.Brush.Bitmap:=MyBMP;
 DrawGrid1.Canvas.FillRect(Rect);
 MyJPEG.Free;
 MyBMP.Free;

Картинка чудесно отрисовывается, но когда над ней проплывают другие окна или сворачиваю/разворачиваю свою форму, картинка исчезает, ячейка остается пустой. Где тут собака порылась?


 
Pavelkq   (2009-01-08 21:06) [1]

Хм, перепробовал разные методы:
 Rect:= DrawGrid1.CellRect(1, 0);
 DrawGrid1.Canvas.StretchDraw(Rect,MyBMP);

или
 Rect:= DrawGrid1.CellRect(1, 0);
 DrawGrid1.Canvas.Draw(0,0,MyBMP);

Результат одинаков. Может дело в каких-то свойстах DrawGrid-a? Или надо обработать собыние OnDrawCell? Что делать?


 
Pavelkq   (2009-01-08 21:48) [2]

Создал обработчик

procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
 Rect: TRect; State: TGridDrawState);
begin
DrawGrid1.Canvas.StretchDraw(Rect,bmp);
end;

Теперь после занесения в каждую ячейку новой картинки все картинки заменяются на нее. Люди, помогите, пожалуйста!


 
Pavelkq   (2009-01-08 22:06) [3]

Интернет меня уговорил, решил попробовать ImageList.
Приписываю
 ImageList1.Add(MyBMP,nil);
Но голова уже не соображает, как запихать в ячейки DrawGrid-a все сореджимое ImageList-a?


 
Германн ©   (2009-01-08 22:14) [4]

A draw grid (TDrawGrid) displays arbitrary data in tabular format. Write an OnDrawCell event handler to fill in the cells of the grid.


 
KilkennyCat ©   (2009-01-08 23:00) [5]

Мытарства твои понятны. А цель не ясна.
В конечном итоге, что ты хочешь сделать-то? Фон у грида?


 
Pavelkq   (2009-01-09 09:33) [6]

У меня имеется некий текст, который отображается в Memo. Под ним нарисовал DrawGrig и хочу чтобы к каждому тексту прикреплялись фотографии. Вся эта конструкция хранится с БД. Короче, надо сделать просто перечисление привязанных к определенному тексту фотографий. + возможность самой привязки/отвязки.


 
KilkennyCat ©   (2009-01-09 11:28) [7]


> Pavelkq   (09.01.09 09:33) [6]


ну тогда вообще всем выше сказанное непонятно.
в 7 есть пример, вроде и в 6-ке он также был :C:\Program Files\Borland\Delphi7\Demos\Db\FishFact


 
Плохиш ©   (2009-01-09 14:16) [8]


> Pavelkq   (08.01.09 21:48) [2]
>
> Создал обработчик
>
> procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol,
>  ARow: Integer;
>  Rect: TRect; State: TGridDrawState);
> begin
> DrawGrid1.Canvas.StretchDraw(Rect,bmp);
> end;
>
> Теперь после занесения в каждую ячейку новой картинки все
> картинки заменяются на нее. Люди, помогите, пожалуйста!
>

И кто-такой этот бмп?


 
Pavelkq   (2009-01-09 22:09) [9]

Длого мучился и получилось все. Действительно раскусил OnDrawCel + ImageList.
bmp: tbitmap


 
Плохиш ©   (2009-01-10 00:16) [10]


> Действительно раскусил OnDrawCel + ImageList.

Велосипед с треугольными колёсами.

> bmp: tbitmap
>

Не об этом спрашивалось.



Страницы: 1 вся ветка

Текущий архив: 2009.02.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.011 c
15-1226314250
Xenus
2008-11-10 13:50
2009.02.22
Теневое копирование


15-1229512494
Городской Шаман
2008-12-17 14:14
2009.02.22
Программист Delphi (удалённая работа)


11-1197536513
Dodfr
2007-12-13 12:01
2009.02.22
Hide Tab inside TabControl ?


2-1231431032
Johnnnn
2009-01-08 19:10
2009.02.22
Как грамотно вынести процедуру в отдельный модуль?


15-1230205417
тимохов
2008-12-25 14:43
2009.02.22
Почему в русской WinXP меню могут показываться кракозяблами?