작업표시줄 위치에 상관없이
시계부분에 팝업을 띄우기 위해서
var
h: HWND;
WorkRect: TRect;
BarData: TAppBarData;
begin
h := FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0, 'TrayNotifyWnd', nil);
GetWindowRect(h, &WorkRect);
BarData.HWND := 0;
BarData.cbSize := sizeof(BarData);
SHAppBarMessage(ABM_GETTASKBARPOS, BarData);
case BarData.uEdge of
0: // ABE_LEFT
begin
self.Left := WorkRect.Right;
self.Top := WorkRect.Bottom - self.Height;
end;
1: // ABE_TOP
begin
self.Left := WorkRect.Right - self.Width;
self.Top := WorkRect.Bottom;
end;
2: // ABE_RIGHT
begin
self.Left := WorkRect.Left - self.Width;
self.Top := WorkRect.Bottom - self.Height;
end;
3: // ABE_BOTTOM
begin
self.Left := WorkRect.Right - self.Width;
self.Top := WorkRect.Top - self.Height;
end;
end;
'삽질 > Delphi' 카테고리의 다른 글
[Delphi] InnoSetup : 설치/제거 할 때 프로그램 종료하기 (0) | 2013.08.07 |
---|---|
[Delphi] 윈도우 높은 권한에서 낮은 권한 메시지 받기 (0) | 2013.08.02 |
[Delphi] 작업표시줄 위치 찾기 (0) | 2013.07.22 |
[Delphi] IdFTP 한글 인코딩 오류 (0) | 2013.04.05 |
[Delphi] StringGrid - Mouse move Cell hint (0) | 2012.01.11 |
댓글