Форум Программирование Господа помоги решить вопрос с загрузкой bmp в paintbox |
Страницы: «1» «2» | |||||||
|
имеется форма 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 | ||||||
|
Дело в том, что, в отличие от TImage, TPaintBox не хранит изображение, а только отображает. Поэтому отрисовку битмэпа надо производить по событию TPaintBox.OnPaint. Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! | ||||||
|
напиши пример плс. | ||||||
|
Цитата (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. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! | ||||||
|
min@y извини меня конечно если я что не так понял. речь идет не о "аля paint в windows" а, проге пожарной сигнализации и ... есть куча картинок (101.к.bmp - 1эт.0кор.1шл.) в зависимости от выбранного этажа, корпуса и шлейфа она выбирает картинку с нужным номером (IntToStr(et)+ (IntToStr(kor)+ (IntToStr(Shle)+('.k.bmp')))); - выбор картинки и paintbox который только зумит картинку и все. вот надо просто загрузить выбранную картинку в paintbox. загвоздка в том что по смыслу кода картинка должна загружаться после if et = 2 then (и вот суда надо как то умудриться прописать загрузку) | ||||||
|
Цитата (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): ошибку паказывает И мы теперь всем форумом будем угадывать, что за ошибка там у тебя, да? Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! | ||||||
|
все разобрался.... все и так работало... (удалил переменную bitmap во 2ой форме) | ||||||
|
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! | ||||||
Перейти в раздел:
© 2004 - 2024, Delphi.int.ru |
Версия форума: 1.10 (19.01.2010) |
Выполнено за 0.02 сек. |