六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

尋找windows的任務(wù)欄  

[摘要]譯:DBoy 有些時候也許你想知道當(dāng)前windows的任務(wù)欄在窗口的什么位置,這當(dāng)然也可以用Delphi來實(shí)現(xiàn)。Windows API 函數(shù)允許您得到有關(guān)任務(wù)欄(也可稱為應(yīng)用程序欄)的信息。訪問下面的微軟MSDN地址可以了解到更多有關(guān)于這個函數(shù)調(diào)用的信息: http://msdn...
譯:DBoy

    有些時候也許你想知道當(dāng)前windows的任務(wù)欄在窗口的什么位置,這當(dāng)然也可以用Delphi來實(shí)現(xiàn)。Windows API 函數(shù)允許您得到有關(guān)任務(wù)欄(也可稱為應(yīng)用程序欄)的信息。訪問下面的微軟MSDN地址可以了解到更多有關(guān)于這個函數(shù)調(diào)用的信息:       http://msdn.microsoft.com/library/psdk/shellcc/shell/Functions/SHAppBarMessage.htm 。這篇文檔主要集中在為該函數(shù)傳遞ABM_GETTASKBARPOS消息上。
    你可以按照下面的方法自己創(chuàng)建一個應(yīng)用程序,或從以下的Borland代碼中心網(wǎng)址下載到程序的原代碼:http://codecentral.borland.com/codecentral/ccweb.exe/download?id=15681 。
    首先,也許你很想知道這個API究竟是在哪個單元聲明的。在MSDN中它被聲明在shellapi.h里,而在Delphi中它被聲明在shellapi.pas里。因此你要把shellapi添加到你的uses列表中。然后請看下面的函數(shù)示例:
// FindTaskBar 返回任務(wù)欄的位置,寫到ARect中。
function FindTaskBar(var ARect: TRect): Integer;
var
AppData: TAppBarData;
begin
  // ’Shell_TrayWnd’ 是任務(wù)欄窗口的名子
  AppData.Hwnd := FindWindow(’Shell_TrayWnd’, nil);
  if AppData.Hwnd = 0 then
    RaiseLastWin32Error;
  AppData.cbSize := SizeOf(TAppBarData);
  //當(dāng)有錯誤發(fā)生時, SHAppBarMessage 會返回False (0)
  if SHAppBarMessage(ABM_GETTASKBARPOS, AppData) = 0 then
    raise Exception.Create(’SHAppBarMessage returned false when trying ’ +
      ’to find the Task Bar’’s position’);
  // 否則的話,我們就成功了,把結(jié)果寫到Result中。
  Result := AppData.uEdge;
  ARect := AppData.rc;
end;

    當(dāng)你把以上代碼加到你的應(yīng)用程序時,你就可以使用該函數(shù)了。添加一個TLabel和TButton到你的Form中,在Button的click事件中加入以下的代碼。
var
  Rect: TRect;
  DestLeft: Integer;
  DestTop: Integer;
begin
  DestLeft := Left;
  DestTop := Top;
  case FindTaskBar(Rect) of
    ABE_BOTTOM:
    begin
      DestLeft := Trunc((Screen.Width - Width) / 2.0);
      DestTop := Rect.Top - Height;
    end;
    ABE_LEFT:
    begin
      DestTop := Trunc((Screen.Height - Height) / 2.0);
      DestLeft := Rect.Right;
    end;
    ABE_RIGHT:
    begin
      DestTop := Trunc((Screen.Height - Height) / 2.0);
      DestLeft := Rect.Left - Width;
    end;
    ABE_TOP:
    begin
      DestLeft := Trunc((Screen.Width - Width) / 2.0);
      DestTop := Rect.Bottom;
    end;
  end;
  Label1.Caption := Format(’Found at Top: %d Left: %d Bottom: %d Right: %d)’,
    [Rect.Top, Rect.Left, Rect.Bottom, Rect.Right]);
  // Move us to the task bar
  while (Left <> DestLeft) or (Top <> DestTop) do
  begin
    if Left < DestLeft then
      Left := Left + 1
    else if Left <> DestLeft then
      Left := Left - 1;

    if Top < DestTop then
      Top := Top + 1
    else if Top <> DestTop then
      Top := Top - 1;

    Application.ProcessMessages;
  end;
end;


主站蜘蛛池模板: 日韩国产中文字幕 | 欧美视频手机在线 | 欧美在线日韩在线 | 日韩亚洲视频 | 亚洲 日本 欧美 中文幕 | 亚洲精品乱码中文字幕无线 | 性荡视频在线播放视频 | 亚洲专区路线一路线二天美 | 欧美性猛交ⅹxxx乱大交免费 | 日产毛片 | 在线观看免费日本 | 香蕉视频在线免费播放 | 午夜在线视频国产 | 色第一页| 日韩三级一区二区三区 | 亚洲第一页中文字幕 | 视频一区二区在线观看 | 午夜看片| 五月天伊人网 | 亚洲综合影视 | 亚洲天堂视频在线观看免费 | 午夜精品久久久久久久第一页 | 亚洲黄网站wwwwww | 日本一区免费观看 | 天天操天天射天天舔 | 一级做a爰片久久毛片看看 一级做a爰片久久毛片16 | 亚洲欧洲一区二区三区在线 | 午夜性福 | 欧美丝袜办公室精品 | 亚洲欧美激情综合第一区 | 日本午夜在线视频 | 欧美中文字幕一区 | 午夜久久久久久网站 | 四虎永久在线精品国产免费 | 天天躁| 天天躁夜夜躁狠狠躁躁 | 日韩 欧美 中文 | 亚洲欧美精品一区二区 | 亚洲一区二区三区免费观看 | 亚洲欧美激情综合第一区 | 性香港xxxxx免费视频播放 |