Delphi Tips 
-----------------------------

0112  D1   D2   D3   D4   D5   D6   D7   3.1   95   98    作成: 1999/02/08 osamu rev 1.1
   B1   B3   B4   B5   B6   B7   NT3   NT4   2K   XP  更新: 1999/02/08 osamu 編集
スタートメニューを任意の位置にポップアップさせる

スタートメニューのポップアップは、

procedure PopupStartMenu;
var hTaskBar: Integer;
begin
    hTaskBar:= FindWindow(PChar('Shell_TrayWnd'), nil);
    SetForegroundWindow(hTaskBar);
    PostMessage(hTaskBar, WM_USER + $0104, 0, 0);
end;

でOK。
表示されたメニューを MoveWindow で強制的に動かすには、

procedure MoveStartMenu(Point: TPoint);
var hStartMenu: Integer;
    OldRect: TRect;
begin
    hStartMenu:=FindWindow('#32768',nil);
    GetWindowRect(hStartMenu, OldRect);
    MoveWindow(hStartMenu,
        Point.X, Point.Y,
        OldRect.Right-OldRect.Left, OldRect.Bottom-OldRect.Top,
        True);
end;

詳しくはスレッドを追って下さい。
参照: [Delphi-ML:21886] <Windows> <スタートメニュー>

[新規作成] [最新の情報に更新]

How To
Lounge
KeyWords


Tips
Delphi
Home
Osamu Takeuchi osamu@big.or.jp