在一本书上看到说用object pascal 7.0 程序来画椭圆的,是直接使用gdi函数的,
procedure TMyWindow.paint(PaintDC:HDC; var PaintInfo:TPaintStruct);
var PenHandle,OldPenHandle:HPEN;
begin
    PenHandle:=createpen(ps_solid,1,rgb(0,0,155));
    oldpenhandle:=selectobject(paintdc,penhandle);
    ellipse(paintdc,10,10,50,50);
    selectobject(paintdc,oldpenhandle);
    delectobject(penhandle);
end;
这段代码怎样在delphi 6 中实验

解决方案 »

  1.   

    在主form中,加个button, button.onclick事件中
    form1.canvas.ellipse(10, 10, 50, 100)
      

  2.   

    如果想用gdi函数,可以这样写
    ellipse(form1.canvas.handle, 10, 10, 50, 100)
    delphi中的TCanvas类已经将大部分gdi函数封装了
      

  3.   

    大家好:再加一句:我是说怎样用delphi进行sdk的编程
      

  4.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, MyComponent;type
      TMainForm = class(TForm)
        procedure FormPaint(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      MainForm: TMainForm;implementation{$R *.dfm}procedure TMainForm.FormPaint(Sender: TObject);
    var PenHandle,OldPenHandle:HPEN;
    begin
        PenHandle:=createpen(ps_solid,1,rgb(0,0,155));
        oldpenhandle:=selectobject(Canvas.Handle,penhandle);
        ellipse(Canvas.Handle,10,10,50,50);
        selectobject(Canvas.Handle,oldpenhandle);
        deleteobject(penhandle);
    end;
    end.
      

  5.   

    ----大家好:再加一句:我是说怎样用delphi进行sdk的编程----这就是sdk
    ellipse(form1.canvas.handle, 10, 10, 50, 100)用delphi进行纯sdk编程,讨论一下是可以的.如果真想应用到项目中,那是项目负责人的脑袋进水了.
      

  6.   

    如果你要用SDK编程,那么请选择C而不是Delphi如果你要选择Delphi那么你就直接在dpr文件里面写代码,标准的WinMain这些全部要有。