Форум: "KOL";
Текущий архив: 2008.09.14;
Скачать: [xml.tar.bz2];
Внизпроблема с Bitmap.LoadFromFile Найти похожие ветки
← →
Дмитрий Пырин (2007-10-22 10:20) [0]проблема при компиляции под WinCE под win32 работает нормально.
вот такой кусок кода:
Procedure OpenPic ;
begin
if PB = nil then
begin
PB := NewPaintBox(SBox);
PB.OnPaint := TOnPaint( MakeMethod( nil, @DrawPaint ) );
end;
if BMP = nil then
begin
Bmp := NewBitmap( 0, 0 );
Bmp.LoadFromFile("pic1.bmp");
PB.Width := Bmp.Width ;
PB.Height:= Bmp.Height;
end;
end;
использую
kolce_rev205
← →
Дмитрий Пырин (2007-10-22 10:38) [1]сама программа нормально компилируется, и запускается, но отображение битмапа не работает.
хотя при перекомпиляции под win32 всё работает отлично :(
← →
Дмитрий Пырин (2007-10-22 10:41) [2]вот весь код полностью (это слегка подчищеный пример из уроков по KOL)
program BMP_test;
uses
windows,
messages,
kol;
var
Form,
pTop,
PB,
buOpen,
SBox:pControl;
bmp: pBitmap;
procedure DrawPaint( Dummy: Pointer; Sender: PControl; DC: HDC );
begin
Bmp.Draw(PB.Canvas.Handle,0,0);
end;
///////////////////////////////////////////////////////////
Procedure OpenPic ;//( Dummy : Pointer; Sender : PControl );
begin
if PB = nil then
begin
PB := NewPaintBox(SBox);
PB.OnPaint := TOnPaint( MakeMethod( nil, @DrawPaint ) );
end;
if BMP = nil then
begin
Bmp := NewBitmap( 0, 0 );
Bmp.LoadFromFile("pic1.bmp");
PB.Width := Bmp.Width ;
PB.Height:= Bmp.Height;
end;
end;
//////////////////////////////////////////////////////////
begin
Applet := NewApplet("BMP test");
Form := NewForm(Applet,"BMP test");
// -------- -----------------------------
pTop := NewPanel(Form,esRaised). SetAlign(caTop);
pTop.Height := 35;
buOpen := NewButton(pTop,"show").SetAlign(caLeft);
buOpen.OnClick := TOnEvent( MakeMethod( nil, @OpenPic ) );
SBox := NewScrollBoxEx(Form,esLowered).SetAlign(caClient);
// -------------------------------------------------------
run(Applet);
end.
← →
Vladimir Kladov © (2007-10-22 17:38) [3]Не слишком сложно (и скролбокс здесь, и выравнивание). Проверить только загрузку битмапа - сразу после загрузки сделать SaveToFile.
← →
Yury Sidorov (2007-10-23 15:23) [4]Добавь
PB.Show;
после создания паинтбокса.
То, что без PB.Show оно работает под win32 это чистая случайность.
Для всех контролов, которые создаются если родитель виден нужно вызыватьShow;
, иначе они не будут видны.
← →
Дмитрий Пырин (2007-10-27 21:35) [5]не помогло :(
← →
Vladimir Kladov © (2007-10-27 22:04) [6]так все-таки проведите тест именно для битмапа. У вас слишком много неизвестных в уравнении.
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2008.09.14;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.045 c