Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите с отрисовкой формы! [D6, 95/98, XP]


Страницы:   1 2

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. Но могу и приврать :)


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо