 ------------------------------------------------------------------------------
	Paper Plane xUI  Window Module  R10    Copyright (c)2005-2025 TORO
 ------------------------------------------------------------------------------

	ウィンドウの位置やサイズを変更するための PPx Module です。


## 使用方法

	ppxwin.dll (x86 版) / ppxwin64.dll (x64 版) /
	ppxwin64a.dll (ARM64 版) を PPx があるディレクトリ内に用意し、
	下記の書式に従って実行します。


## PPx Window Module の詳細

	PPx Window Module は、以下のコマンド・関数があります。

	各パラメータ中の window id は、ウィンドウハンドルの値です。
	マクロ文字の %N や、Message Module の %*findwindowtitle、
	%*findwindowclass などを用いて指定することができます。


・ *togglewinsize [window id]

	実行する毎に指定したウィンドウの最大化表示／通常表示を交互に
	切り替えます。

	パラメータを指定しなかった場合は、実行元のウィンドウを操作します。

	例) *togglewinsize
	  実行元のウィンドウの最大化表示／通常表示を交互に切り替えます。

	例) *togglewinsize %N~
	   PPc の反対窓のウィンドウの最大化表示／通常表示を交互に切り替えます。


・ *minimize [window id]
・ *maximize [window id]
・ *shownormal [window id]

	指定したウィンドウを最小化／最大化／通常表示させます。
	パラメータを指定しなかった場合は、実行元のウィンドウを操作します。

	例) *minimize
	  実行元のウィンドウを最小化します。

	例) *shownormal %N~
	   PPc の反対窓のウィンドウを通常表示させます。


・ *windowposition [window id],x,y[,width,height]

	指定したウィンドウの位置を指定します。大きさも同時指定できます。

	例) *windowposition %N,200,300
	  実行元のウィンドウの位置を (x,y) = (200,300) に移動します。


・ *windowsize [window id],width,height

	指定したウィンドウの大きさを指定します。

	例) *windowsize %N,200,300
	  実行元のウィンドウの位置を幅 200,高さ 300 にします。


・ *fitwindow base window id[,target window id[,type]]

	指定したウィンドウの位置・大きさを base window id に合わせて
	調整します。
	target window id を指定しなかった場合は、実行元のウィンドウを
	操作します。

	type =  0 または指定無し : base window 上に重なる。大きさも同じに

	base window の外側に移動
	type =  1 : base window の左側に移動、高さが同じに
	type =  2 : base window の右側に移動、高さが同じに
	type =  3 : base window の上側に移動、幅が同じに
	type =  4 : base window の下側に移動、幅が同じに

	type =  5 : base window の左側の上端に移動
	type =  6 : base window の右側の上端に移動
	type =  7 : base window の左側の下端に移動
	type =  8 : base window の右側の下端に移動

	type =  9 : base window の上側の左端に移動
	type = 10 : base window の上側の右端に移動
	type = 11 : base window の下側の左端に移動
	type = 12 : base window の下側の右端に移動

	type = 13 : base window の左側の中央に移動
	type = 14 : base window の右側の中央に移動
	type = 15 : base window の上側の中央に移動
	type = 16 : base window の下側の中央に移動

	base window の内側に移動
	type = 20 : base window の中央に移動

	type = 21 : base window の左上に移動
	type = 22 : base window の左端中央に移動
	type = 23 : base window の左下に移動
	type = 24 : base window の右上に移動
	type = 25 : base window の右端中央に移動
	type = 26 : base window の右下に移動
	type = 27 : base window の上端中央に移動
	type = 28 : base window の中央に移動
			※ 20と同じ。２つあるのは指定しやすくするためです
	type = 29 : base window の右下に移動

	大きさのみ調整
	type = 30 : target window が base window より大きければ base window に
	            合わせる

	例) *fitwindow %N~
	  実行元のウィンドウを PPc の反対窓に合わせます。

	例) *fitwindow %N~,%NVA
	  PPV[A]を PPc の反対窓に合わせます。

	例) *fitwindow %N~,%NVA,2
	  PPV[A]を PPc の反対窓の右側に移動します。

	例) *fitwindow %N~,%N,1
	  実行元のウィンドウを PPc の反対窓の左側に移動します。


・ *topmostwindow taget window id[,top switch]

	指定したウィンドウの最前面固定表示を制御します。
	top switch の指定がなければトグル、0 なら off、1 なら on になります。

	例) *topmostwindow %N
	  実行元のウィンドウの最前面固定表示をトグルで変更します。

	例) *topmostwindow %N,1
	  実行元のウィンドウの最前面固定表示をonにします。


・ %*windowrect([window id],type)

	指定したウィンドウの位置・巾情報を数値で返します。
	type は次の英小文字のいずれか１文字を指定します。

	l	左端の座標		r  右端の座標
	t	上端の座標		b  下端の座標
	w	幅			h  高さ

	例) *linemessage %*windowrect(,w)
	  実行元のウィンドウの幅をステータス行に表示します。


・ *windowopaque [window id],opaque

	指定したウィンドウの透明度を変更し、背後のウィンドウやデスクトップが
	透けて見えるようにします。

	opaque
	0～99  0 に近づくほど透明になります。
	100    通常の不透明です。


・ %*windowopaque([window id])

	指定したウィンドウの透明度を 0～100 で取得します。


## ソースについて

	Borland C++ と Visual C++ でコンパイルができるようになっています。
	ただし、プロジェクトは用意していません。


## 最後に

	・このソフトウェアはフリーソフトウェアです。著作権は「TORO」、
	  「高橋 良和」にあります。

	・このソフトウェアを使用した事による利益・損害等は、こちらでは
	  一切責任を負いません。

	・改変と改変物の配布は自由です。PPx Module を作成するための参
	  考にしてください。


## License

Paper Plane xUI  Window Module は、MITライセンスに基づいて公開しています。
Paper Plane xUI  Window Module is released under the MIT License.

Copyright (c) 2026 TORO


Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the “Software”),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the Software
is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


## 履歴
R11	2026/05/16
・ウィンドウの透明度の操作(*windowopaque, %*windowopaque)を追加

R10	2025/08/03
・ARM64版を用意した
・*windowposition, *fitwindow等で位置等を変更した時は最大化を解除するように

R9	2022/04/23
・Windows10 上での %*windowrect の動作調整をした
・*windowposition でウィンドウ大きさも指定できるようにした

R8	2022/03/13
・Windows10 上での *windowposition, *windowsize, *fitwindow の動作調整をした
・*fitwindow で移動する位置を増やした(13-16)
・*fitwindow に大きさのみの調整指定を追加(30)

R7	2016/09/03
・*fitwindow で窓を移動したとき、Windows10で隙間が空かないようにした

R6	2013/04/13
・*fitwindow で移動する位置を増やした
・%*windowrect([window id],type) を追加した

R5	2011/06/25
・*maximizeが*maximizedになっていたのを修正

R4	2010/06/05
・64bit版のファイル名を変更
・*fitwindow で移動する位置を指定できるようにした
・*minimize,*maximize,*shownormal,*windowposition,*windowsize を追加した

R3	2008/07/19
・*topmostwindowを追加した

R2	2007/05/03
・動作可能PPxがVersion0.43以降になった

R1	2005/11/06
・初版

## 連絡先／一次配布先 - TORO／高橋 良和
E-mail	toroid.jp@gmail.com
WWW	http://toro.d.dooo.jp/
