goo blog サービス終了のお知らせ 
goo

「ginfo」でサイズ取得!

一覧リスト:HSP Ver2.61ブログ関連その他 ・・・ 人気blogランキング

「ginfo」
マウス、ウィンドウの位置、サイズなどの情報を取得できます。

◆機能
ginfo p1
p1に数値を指定します。
数値によって、システム変数 「prmx」「prmy」に
以下説明の値が入ります。
p1
「ginfo」 の説明
Xは横位置、Yは縦位置です
 0 
prmxスクリーン上のマウスの位置のX座標
prmyスクリーン上のマウスの位置のY座標
1
prmxアクティブなウィンドウID
prmy操作先のウィンドウID
2
prmxウィンドウの左上座標X
prmyウィンドウの左上座標Y
3
prmxウィンドウの右下座標X
prmyウィンドウの右下座標Y
4
prmxウィンドウのスクロール座標X
prmyウィンドウのスクロール座標Y
5
prmxウィンドウの全体のサイズX
prmyウィンドウの全体のサイズY
6
prmx画面の初期化サイズX
prmy画面の初期化サイズY
7
prmxメッセージの出力サイズX
prmyメッセージの出力サイズY


「ginfo」 サンプル
※変更があった値は赤字で一瞬表示されます。
実行結果
サンプルコード
#include "llmod.as"

    screen 0,150,25
    gsel 0,2
    title "ginfo"
    font "MS 明朝",12
    color : boxf : color 255,255,255
    pos 2,2 : mes "ginfo サンプル"


    screen 2,dispx,dispy,0,10,20,300,300
    title "「ginfo」サンプル"
    font "MS ゴシック",12

    objsize winx,25 : pos 0,0
    button "終了",*endsoft
    _hspobjhandle stat : hbtn=stat

    sdim data,20,8,2
    data.0.0="マウス座標X"
    data.0.1="マウス座標Y",
    data.1.0="アクティブID"
    data.1.1="操作先ID"
    data.2.0="左上座標X"
    data.2.1="左上座標Y"
    data.3.0="右下座標X"
    data.3.1="右下座標Y"
    data.4.0="スクロール座標X"
    data.4.1="スクロール座標Y"
    data.5.0="全体のサイズX"
    data.5.1="全体のサイズY"
    data.6.0="初期化サイズX"
    data.6.1="初期化サイズY"
    data.7.0="メッセージ出力X"
    data.7.1="メッセージ出力Y"

    dim ginfodata,8,2
    py=40
    wx=winx : wy=winy
    sx=0 : sy=0

*main
    ginfo 4
    //ウィンドウサイズが変更,スクロールされた時
    if (winx!=wx) | (winy!=wy)| (prmx!=sx) | (prmy!=sy){
        ginfo 4
        prm=hbtn,0,0,winx,25,1
        dllproc "MoveWindow",prm,6,D_USER
        wx=winx : wy=winy
        sx=0 : sy=0
    }
    gosub *ginfo_draw
    wait 30
goto *main

*ginfo_draw
    redraw 0
    color : boxf : color 255,255,255
    ginfo 4
    pos prmx+20,prmy+40
    mes "screen 2,"+dispx+","+dispy+",0,10,20,300,300"
    mes ""
    repeat 8
        ginfo cnt
        if ginfodata.cnt.0!=prmx:color 255,0,0:else:color 255,255,255
        mes "ginfo "+cnt+" "+data.cnt.0+":"+prmx
        if ginfodata.cnt.1!=prmy:color 255,0,0:else:color 255,255,255
        mes "        "+data.cnt.1+":"+prmy
        ginfodata.cnt.0=prmx
        ginfodata.cnt.1=prmy
    loop
    redraw 1
return

*endsoft

end


コメント ( 0 ) | Trackback ( 0 )
« システム変数... こっそり、「b... »
 
コメント
 
コメントはありません。
コメントを投稿する
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。