Вопрос Своя форма с границами инсталлятора

Carlos

Участник
Модератор
Уважаемые форумчане, такой вопрос возник:
Как сделать, чтобы форма была как на картинке?


Нашёл вот такие параметры

SetWindowLong(WizardForm.Handle,-20,GetWindowLong(WizardForm.Handle,-20) or $80000);
SetLayeredWindowAttributes(WizardForm.Handle,$00FF00,0,1);


Но не могу понять как в фотошопе это реализовать.
Края либо зелёные получаются (но в центре прозрачно), либо не срезаются и острые с белым фоном

Есть ли какой-нибудь код для этого?

Заранее спасибо!
 
Последнее редактирование:

Snoopak96

Старожил
Carlos,
Код:
  SetRgn(WizardForm.Handle,'form.bmp', 650, 446);
  Wizard1:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}')+'\frame.png',0,0,WizardForm.Width,WizardForm.Height,False,True);
  Frame:=TForm.Create(nil);
  Frame.BorderStyle:=bsNone;
  CreateFormFromImage(Frame.Handle,ExpandConstant('{tmp}\frame.png'));
  SetClassLong(Frame.Handle, GCL_STYLE, GetClassLong(Frame.Handle, GCL_STYLE) or CS_NOCLOSE);
  with TLabel.Create(Frame) do begin
  Parent:=Frame;
  AutoSize:=False;
  Align:=alClient;
  OnMouseDown:=@FrameMouseDown;
  end;
  WizardForm.Left:=Frame.Left;
  WizardForm.Top:=Frame.Top;
  WFOldProc:=SetWindowLong(WizardForm.Handle,-4,WndProcCallBack(@WFProc,4));
  with TLabel.Create(WizardForm) do begin
  Parent:=WizardForm;
  AutoSize:=False;
  Transparent:= true;
  Align:=alClient;
  OnMouseDown:=@FrameMouseDown;
  end;
Last remnant лучше не берите в качестве примера, там чёрт ногу сломит, сталкер по легче.
 
Сверху