●窓位置右下移動

「●窓位置右下移動」の編集履歴(バックアップ)一覧に戻る

●窓位置右下移動 - (2008/09/16 (火) 23:12:28) のソース

*情報
作者名:moka(しらたま/のんきなおやじ )
引用元:[[なでしこプログラム掲示板「なでしこ更新チェック」>http://www.himanavi.net/cgi/nade-bbs/cbbs.cgi?mode=al2&namber=72&rev=&no=0]]
利用:[[●タスクバー位置取得>http://www26.atwiki.jp/isoroku_be/pages/70.html]]
勝手に改変

*概要
ウィンドウの位置をデスクトップワークエリアの右下に移動します。

*サンプルプログラム
 母艦のW=50。
 母艦のH=50。
 母艦を窓位置右下移動。

*//本体
 ●窓位置右下移動({グループ=?母艦}OBJを)
   Pとは整数
   P=タスクバー位置取得。
   OBJについて    
     もし、P=「左」ならば、X=デスクトップW-デスクトップワークエリアW
     違えば、X=デスクトップワークエリアW-W
     もし、P=「上」ならば、Y=デスクトップH-デスクトップワークエリアH
     違えば、Y=デスクトップワークエリアH-H。
     
 #-----------------------------------------------------------------------
 !APPBARDATA_TYPE=「long,long,long,long,long,long,long,long,long」
 ■APPBARDATA
  ・cbSize #{=36} #TEST
  ・hWnd
  ・uCallbackMessage
  ・uEdge
  ・Left
  ・Top
  ・Right
  ・Bottom
  ・lParam
 PACK(APPBARDATA,AB_DAT,APPBARDATA_TYPE)。
 #---------------------------------------
 ●タスクバー位置取得
   もし、SHAppBarMessage(5,AB_DAT)ならば
     UNPACK(AB_DAT,APPBARDATA,"long,long,long,long") #グループに戻す
     TMPはAPPBARDATAのuEdge
     TMPで条件分岐
       「0」ならば、「左」で戻る。
       「1」ならば、「上」で戻る。
       「2」ならば、「右」で戻る。
       「3」ならば、「下」で戻る。
   違えば、「関数戻りエラー」という。
 
 #-----------------------------------------------------------------------
 ●SHAppBarMessage(ID,{参照渡し}p)=DLL("shell32.dll",
 "BOOL SHAppBarMessage(
 LONG dwMessage, //タスクバー位置:&H5
 LPPOINT pData
 )")
 #http://www.winapi-database.com/Program/Shell/SHAppBarMessage.html
 #-----------------------------------------------------------------------

----
#comment()

----
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。