Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.09.14;
Скачать: CL | DM;

Вниз

проблема с 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 вся ветка

Текущий архив: 2008.09.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
3-1206022526
patrick1968
2008-03-20 17:15
2008.09.14
BatchMove из Oracle


15-1216787659
Тоша
2008-07-23 08:34
2008.09.14
Социологический опрос


4-1196163825
delpher_g
2007-11-27 14:43
2008.09.14
Как программно замедлить скорость вращения CD-ROMа


2-1217707537
programmer90
2008-08-03 00:05
2008.09.14
Делфи 2007+Инет+МС Офис


2-1217337692
Kolan
2008-07-29 17:21
2008.09.14
Работа с веб-сервисом.