Доброе время суток, всем привет!
Вопрос:
Как изменить комп-т TKOLImageShow(для отображения ИЗО в Png формате)
или как реализовать в программе?
Что есть:
program Project1;
uses kol,windows;
var
form,button:PControl;
Plan: TKOLImageShow;
Fon:TKOLImageList;
procedure clickbutton1(dummy:pointer;Sender:PControl; var mouse:TMouseEventData);
begin
Plan.Canvas.RequiredState( brushvalid );
Plan.Canvas.Brush.Color := $00DCDC78;
Plan.Canvas.FillRect(MakeRect(0,0,15,450));
end;
procedure PlanPaint(dummy:pointer;Sender: PControl; DC: HDC);
var i:byte;
begin
Plan.Canvas.RequiredState( brushvalid );
Plan.Canvas.Brush.Color := $00DCDC78;
Plan.Canvas.FillRect(MakeRect(0,0,725,450));
Plan.Update;
Plan.Invalidate;
end;
Begin
form:=NewForm(Applet,'шаблон').SetclientSize(736, 534).setposition(330,300);
Form.Color := TColor($DCDC78);
Form.Font.FontHeight := -11;
Form.Font.FontName := 'MS Sans Serif';
Form.Border := 0;
Button:=NewButton(form,'Выполнить').SetSize(90,30).SetPosition(25,432);
Fon := NewImageList( Form );
Fon.Colors := ilcColor24;
Fon.ImgWidth := 623;
Fon.ImgHeight := 347;
Fon.AddMasked( LoadBmp32( hInstance, 'FORM1_FON', Fon ), $5F89BE );
Plan := NewImageShow(Form, Fon, 0 ).SetPosition( 51, 51 ).SetSize( 623, 347 );
Plan.HasBorder := TRUE;
Plan.Color := TColor($4571A7);
Applet := NewApplet('');
Button.OnClick:=TonEvent(MakeMethod(nil,@clickbutton1));
Run(form);
end.
program Project1;
uses
Windows,KOL,KOLPng,KOLZLib;
type
PForm1 = ^TForm1;
TForm1 = object(TObj)
Form: PControl;
Fond: pControl;
public
procedure fondPaint(Sender: PControl; DC: HDC );
end;
var
Form1: PForm1;
png:PPngObject;
procedure TForm1.fondPaint(Sender: PControl; DC: HDC );
begin
if png <> nil then png.Draw(Fond.Canvas.Handle,0,0) else exit
end;
procedure NewForm1(var Result: PForm1; AParent: PControl);
begin
New(Result, Create);
with Result^ do
begin
Form := NewForm(AParent, 'Resurs Fanorona');
Form.Add2AutoFree(Result);
Applet := Form;
if png = nil then png :=NewPngObject;
png.LoadFromResourceName(HInstance,'img');
Form.SetClientSize(png.Width, png.Height).CenterOnParent;
Result.Fond := NewPaintBox( Form ).SetPosition( 0, 0 ).SetSize( 320, 240 ).SetBorder( 2);
Result.Fond.HasBorder := TRUE;
Result.Fond.OnPaint :=FondPaint;
Fond.Height:=png.Height;
Fond.Width:=png.Width;
end;
end;
begin
NewForm1(Form1, nil);
Run(Form1.Form);
end.
Для чего имеется план использовать:
хотелось бы совместить отрисовку и перемещение объекта.