生成不规则窗体,但是不显示!
在FORM.ONCREATE事件中写VAR MYHANLE:THandle;
begin
  MYHANDLE :=CreatePylegonRgn(Point((100,100),(200,200),(300,300)),3,ALTERNATE);
  SetWindowRgn(self.handle,myhandle,true);
  
end;
end; 执行没有问题,但是窗体不显示加上
procedure form.onshow()
begin
setwindowpos(self.handle,WM_TOPMOST.........
end还是无效,点解?

解决方案 »

  1.   

    请注意你的MyHandle变量应该是HRGN类型啊!
      

  2.   

    可是我在创建ELLIPTIC和ROUNDRECT形状的窗体时好象用的都是THandle类型的,都没有问题呀
      

  3.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TMainForm = class(TForm)
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
        rgn : HRGN;
      public
        { Public declarations }
      end;var
      MainForm: TMainForm;implementation{$R *.dfm}procedure TMainForm.FormCreate(Sender: TObject);
    var
      pt: array[0..3] of TPoint;
    begin
      BorderStyle := bsNone;
      Color := clGreen;
      
      pt[0].X := 0;
      pt[0].Y := Height div 2;
      pt[1].X := Width div 2;
      pt[1].Y := 0;
      pt[2].X := Width;
      pt[2].Y := Height div 2;
      pt[3].X := Width div 2;
      pt[3].Y := Height;  rgn := CreatePolygonRgn(pt, 4, ALTERNATE);
      SetWindowRgn(Handle, rgn, True);
    end;end.