![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите с отрисовкой формы! [D6, 95/98, XP]
Antony000 © (2006-05-06 20:46:00)brush.bitmap не изменяется почему то,
а при создании (form1.create) эта конструкция работает.
procedure TForm1.N21Click(Sender: TObject);
var JPEG:TJPEGImage; {Скины в JPEG}
begin
OpenPictureDialog1.InitialDir:=ExtractFilePath(Application.ExeName)+'Skins';
if OpenPictureDialog1.Execute then begin
JPEG:=TJPEGImage.Create;
try
JPEG.LoadFromFile(OpenPictureDialog1.FileName);
Image1.Picture.Bitmap.Assign(JPEG);
finally
JPEG.Free; end;
form1.brush.Bitmap:=image1.picture.bitmap;
end;
end;
ЛшдлуттнСфе (2006-05-06 21:42:00) [21]у меня вышеприведенный код работает. разве что, репаинт формы добавил.
Antony000 (2006-05-06 21:37:00) [22]procedure TForm1.N21Click(Sender: TObject);
var JPEG:TJPEGImage; {Ñêèíû â JPEG}
begin
OpenPictureDialog1.InitialDir:=ExtractFilePath(Application.ExeName)+'Skins';
if OpenPictureDialog1.Execute then begin
JPEG:=TJPEGImage.Create;
try
JPEG.LoadFromFile(OpenPictureDialog1.FileName);
Image1.Picture.Bitmap.Assign(JPEG);
form1.brush.Bitmap:=image1.picture.bitmap;
finally
JPEG.Free;
end;
end;
end;
теперь код выглядит так...
но тоже без эффекта
Kilkennycat (2006-05-06 21:32:00) [23]try
JPEG.LoadFromFile(OpenPictureDialog1.FileName);
Image1.Picture.Bitmap.Assign(JPEG);
finally
JPEG.Free; end;
form1.brush.Bitmap:=image1.picture.bitmap;
end;
предлагаю так.
try
JPEG.LoadFromFile(OpenPictureDialog1.FileName);
Image1.Picture.Bitmap.Assign(JPEG);
form1.brush.Bitmap:=image1.picture.bitmap;
finally
JPEG.Free;
end;
Antony000 (2006-05-06 21:28:00) [24]обратил внимание. форма вместо заполнения битмапом (бывший jpeg) стала просто серой.
ЛшдлуттнСфе (2006-05-06 21:21:00) [25]я не уверен, но после Image1.Picture.Bitmap.Assign(JPEG);
нам уже наплевать, джпег там или нет - там битмап должен быть.
а вот на это Form1.Canvas.FillRect(clientrect); Вы обратили внимание?
Antony000 (2006-05-06 21:16:00) [26]в том то и дело! с JPG почему то это не работает
KilkennyCat (2006-05-06 21:10:00) [27]Угу. Посмотрел справку делфи. написал следующее:
procedure TForm1.Button1Click(Sender: TObject);
var
Bitmap: TBitmap;
begin
Bitmap := TBitmap.Create;
try
Bitmap.LoadFromFile('c:\1.bmp');
Form1.Canvas.Brush.Bitmap := Bitmap;
Form1.Canvas.FillRect(clientrect);
finally
Form1.Canvas.Brush.Bitmap := nil;
Bitmap.Free;
end;
end;
работает.
Antony000 (2006-05-06 21:02:00) [28]при использовании assign стопошибка
Kilkennycat (2006-05-06 21:01:00) [29]
> Antony000 © (06.05.06 20:56)
И через ассинг? ща я сам проверю...
Antony000 (2006-05-06 20:56:00) [30]Пробовал записывать и в Form1.Canvas.Brush.Bitmap
не сработало :(
KilkennyCat (2006-05-06 20:51:00) [31]Form1.Canvas.Brush.Bitmap
в Вашем случае - form1.brush.Bitmap - реадонли, можно только через assing. Но могу и приврать :)