All pastes #290713 Raw Edit

EDIJS

public text v1 · immutable
#290713 ·published 2006-12-24 08:11 UTC
rendered paste body
unit MainMenu;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ShellAPI, TLHelp32, StdCtrls, Buttons, XPMan;

type
  TMainfrm = class(TForm)
    BitBtn1: TBitBtn;
    XPManifest1: TXPManifest;
    Button1: TButton;
    Button2: TButton;
    procedure Button2Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Button1Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Mainfrm: TMainfrm;
   AppData: TAppBarData;

implementation

{$R *.dfm}

procedure TMainfrm.BitBtn1Click(Sender: TObject);
begin
close;
end;

procedure TMainfrm.Button1Click(Sender: TObject);
begin
SHAppBarMessage(ABM_NEW, AppData); //Add to system list
SHAppBarMessage(ABM_ACTIVATE, AppData); //Activate ot
SHAppBarMessage(ABM_SETPOS, AppData); //Position it
end;

procedure TMainfrm.Button2Click(Sender: TObject);
begin
MoveWindow(AppData.hWnd, AppData.rc.left, AppData.rc.top, AppData.rc.right - AppData.rc.left, AppData.rc.bottom - AppData.rc.top, TRUE); //Move the appbar into the specified rect
end;

procedure TMainfrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SHAppBarMessage(ABM_REMOVE, AppData); //Remove it on close
end;

procedure TMainfrm.FormCreate(Sender: TObject);
var
scrht:integer;
begin
mainfrm.Left := 0;
mainfrm.Width := screen.Width;
scrht := screen.Height;//for some reason we have to get this first
with AppData do //structure setup
begin

AppData.cbSize := 20;
Appdata.hWnd := mainfrm.Handle;
AppData.uEdge := ABE_TOP;
AppData.rc.Left := 0;
AppData.rc.Top := Screen.WorkAreaHeight-Mainfrm.Height-10;
AppData.rc.Right := Mainfrm.Width;
AppData.rc.Bottom := 30;//screen.height-20;
SHAppBarMessage(ABM_NEW, AppData); //Add to system list
SHAppBarMessage(ABM_ACTIVATE, AppData); //Activate it
SHAppBarMessage(ABM_SETPOS, AppData); //Position it
end;
application.ProcessMessages;
end;

end.