Логин:     Забыли пароль?
 
Пароль:   Регистрация

Форум / Программирование - Господа помоги решить вопрос с загрузкой bmp в paintbox  

Господа помоги решить вопрос с загрузкой bmp в paintbox


Страницы: «1» «2»
Melk1y
Melk1y
Посетитель
Сообщения: 6
[Сообщение #1] ? 12 июня 2012, 03:35
имеется форма 1 с scrollbox в котором paintbox, и форма 2 в которой нужно через if в форме 1 в paintbox загрузить bmp картинку.


Есть форма1

procedure TForm1.FormCreate2(Sender: TObject);
begin
BMP:= TBitmap.Create;
end;

Далее


procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
bmp.LoadFromFile('1e.bmp');
DoubleBuffered := True;
begin
ScrollBox1.Visible:=True;
ScrollBox2.Visible:=False;
ScrollBox3.Visible:=False;
ScrollBox4.Visible:=False;
end;
end;

и форма 2

procedure TForm2.Button1Click(Sender: TObject);
begin
case CheckListBox4.ItemIndex of
0..9: begin
et := 1;
kor := 0;
Shle := CheckListBox4.ItemIndex+1;
if shle = 10 then form1.image2.Picture.LoadFromFile(I ntToStr(et)+ (IntToStr(kor)+ (IntToStr(Shle)+('1010.k.bmp'))));
end;
10..13: begin
et := 1;
kor := 1;
Shle := CheckListBox4.ItemIndex+1;
end;
14..17: begin
et := 1;
kor := 3;
Shle := CheckListBox4.ItemIndex+1;
end;

end; // case

form2.Close;

if FileExists (IntToStr(et)+ (IntToStr(kor)+ (IntToStr(Shle)+('.k.bmp')))) then
begin

if et = 2 then form1.image2.Picture.LoadFromFile(I ntToStr(et)+ (IntToStr(kor)+ (IntToStr(Shle)+('.k.bmp')))); //вот зарузка на image все работает

как тоже самое сделать только с paintbox

min@y™
min@y™
Доктор наук
Сообщения: 400
[Сообщение #2] 12 июня 2012, 09:55
Дело в том, что, в отличие от TImage, TPaintBox не хранит изображение, а только отображает. Поэтому отрисовку битмэпа надо производить по событию TPaintBox.OnPaint.

Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Melk1y
Melk1y
Посетитель
Сообщения: 6
[Сообщение #3] 12 июня 2012, 12:13
напиши пример плс.

min@y™
min@y™
Доктор наук
Сообщения: 400
[Сообщение #4] 12 июня 2012, 12:28

Цитата (Melk1y):

напиши пример плс.

Вот, набросал на коленке:
procedure TMainForm.PaintBoxPaint(Sender: TObject);
begin
  // Bitmap - глобалный объект, в который ты загрузил картинку
  PaintBox.SetBounds(0, 0, Bitmap.Width - 1, Bitmap.Height - 1);
  PaintBox.Canvas.Draw(0, 0, Bitmap);
end;

Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Melk1y
Melk1y
Посетитель
Сообщения: 6
[Сообщение #5] 12 июня 2012, 18:05
min@y
извини меня конечно если я что не так понял.

речь идет не о "аля paint в windows" а, проге пожарной сигнализации и ...
есть куча картинок (101.к.bmp - 1эт.0кор.1шл.) в зависимости от выбранного этажа, корпуса и шлейфа она выбирает картинку с нужным номером
(IntToStr(et)+ (IntToStr(kor)+ (IntToStr(Shle)+('.k.bmp')))); - выбор картинки


и paintbox который только зумит картинку и все.
вот надо просто загрузить выбранную картинку в paintbox.

загвоздка в том что по смыслу кода картинка должна загружаться после
if et = 2 then (и вот суда надо как то умудриться прописать загрузку)

min@y™
min@y™
Доктор наук
Сообщения: 400
[Сообщение #6] 12 июня 2012, 18:18

Цитата (Melk1y):

речь идет не о "аля paint в windows" а, проге пожарной сигнализации и ... есть куча картинок (101.к.bmp - 1эт.0кор.1шл.) в зависимости от выбранного этажа, корпуса и шлейфа она выбирает картинку с нужным номером (IntToStr(et)+ (IntToStr(kor)+ (IntToStr(Shle)+('.k.bmp')))); - выбор картинки

и paintbox который только зумит картинку и все. вот надо просто загрузить выбранную картинку в paintbox.

загвоздка в том что по смыслу кода картинка должна загружаться после if et = 2 then (и вот суда надо как то умудриться прописать загрузку)


И чо?

Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Melk1y
Melk1y
Посетитель
Сообщения: 6
[Сообщение #7] 12 июня 2012, 18:53
я не очень шарю((, думал может разница есть. извини...
попробовал с кодом не хочет... ошибку паказывает

min@y™
min@y™
Доктор наук
Сообщения: 400
[Сообщение #8] 13 июня 2012, 08:17

Цитата (Melk1y):

ошибку паказывает

И мы теперь всем форумом будем угадывать, что за ошибка там у тебя, да?

Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Melk1y
Melk1y
Посетитель
Сообщения: 6
[Сообщение #9] 13 июня 2012, 18:07
все разобрался.... все и так работало... (удалил переменную bitmap во 2ой форме)

min@y™
min@y™
Доктор наук
Сообщения: 400
[Сообщение #10] 13 июня 2012, 20:22

Цитата (Melk1y):

все разобрался.... все и так работало...

А где БЧС?

Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!

Страницы: «1» «2» (всего страниц: 2, текущая: 1)
Всего сообщений: 11 (сейчас показаны: с 1 по 10)

Перейти в раздел:


 © 2004 - 2024, Delphi.int.ru
Версия форума: 1.10 (19.01.2010)
RSS Delphi.int.ru Expert Код
Выполнено за 0.02 сек.
Обратная связь