Next: , Previous: , Up: フレームのジオメトリー   [Contents][Index]


30.3.3 フレームの位置

グラフィカルなシステムでは通常のトップレベルのフレームの位置はアウターフレームの絶対位置として指定されます(フレームのジオメトリーを参照)。子フレーム(子フレームを参照)の位置は親フレームのネイティブ位置から子フレームのアウターエッジまでのピクセル単位のオフセットとして相対的に指定されます。

フレーム位置はフレームパラメーターlefttop(位置のパラメーターを参照)を使用すれば変更やアクセスができます。既存の可視なフレームの位置を処理するために追加で2つの関数が存在します。いずれの関数でも引数frameは生きたフレームでなければならず、デフォルトは選択されたフレームです。

Function: frame-position &optional frame

この関数は子フレームではない通常のフレームにたいしてフレームのアウター位置(フレームのレイアウトを参照)を、フレームのディスプレイの原点(0, 0)からのピクセル座標をコンスセルでリターンする。子フレーム(子フレームを参照)にたいしてはフレームのアウター位置を、frameのネイティブ位置を原点(0, 0)として、そこからのピクセル座標をリターンする。

負の値はframeのディスプレイまたは親フレームの右エッジか下エッジからのオフセットではない。これらはframeのアウター位置が、フレームのデイスプレイの原点または親フレームのネイティブ位置の左および/または上にあることを意味する。これは通常はframeの一部だけが可視(または完全に不可視)であることを意味している。しかしディスプレイの原点がディスプレイの左上隅と一致しないシステムではセカンダリーモニター上ではフレームは可視かもしれない。

てきすと端末ではいずれの値も0。

Function: set-frame-position frame x y

この関数はframeのアウターフレームの位置を(x, y)にセットする。後の引数は通常はframeのディスプレイの位置(0, 0)にある原点からのピクセル数、子フレームではframeの親フレームのネイティブ位置からのピクセル数。

負のパラメーター値はアウターフレームの右エッジをスクリーンの右エッジ(または親フレームのネイティブ矩形位置)から左に-xピクセル、または下エッジをスクリーンの下エッジ(または親フレームのネイティブ矩形位置)から上に-yピクセルの位置にセットする。

負の値ではframeの右エッジや下エッジを性格にディスプレイや親フレームの右エッジや下エッジには揃えられないことに注意。負の値ではディスプレイや親フレーム内にあるエッジにある位置は指定できない。フレームパラメーターlefttop (位置のパラメーターを参照)でこれを行うことはできるものの、初期フレームや新たなフレームでは依然として良好な結果は得られないかもしれない。

この関数はテキスト端末フレームでは効果がない。

Variable: move-frame-functions

このフックはウィンドウシステムやウィンドウマネージャーがフレームを(新たな位置を割り当てて)移動した際に実行される関数を指定する。関数は移動されたフレームを単一の引数として実行される。子フレーム(子フレームを参照)では親フレームとの関連性においてのフレーム位置が変更されたときだけ関数が実行される。