情報
概要
WMPっぽいシークバーが使えます。
解説
イベント
・シーク始めた時 …「マウス押した時」に相当
・シーク完了した時 …「マウス離した時」に相当
・変更した時
注:
「マウス押した時」「マウス動かした時」「マウス離した時」
を使うと正常に動作しません。
変数
・値
・最大値
・最小値
・値範囲
・背景色
・反転色 …現在位置の左側の色
・ドラッグ中
本体
●カーソルアイコン取得(ファイルの種類の) = DLL("user32.dll","DWORD LoadCursorA(BOOL,DWORD)")
●マウスカーソル設定(Iに) = DLL("user32.dll","DWORD SetCursor(DWORD)")
■シークバー +GUI部品 +マウスプロパティ
・ドラッグ中{=0}
・作る~
オブジェクトは、VCL_CREATE(自身, 名前, VCL_GUI_IMAGE)
自身→マウス移動した時は~
もし、自身→有効=0なら待機。
(0の32649のカーソルアイコン取得)にマウスカーソル設定。
もし、ドラッグ中=1なら、分割点=マウスX
自身→マウス押した時は~
もし、自身→有効=0なら待機。
もし、押されたボタン<>「左」なら待機。
分割点=マウスX
ドラッグ中=1
自身→シーク始めた時。
自身→マウス離した時は~
ドラッグ中=0
自身→シーク完了した時。
更新。
・{非公開}F値{=0}
・{非公開}値取得~ それはF値
・{非公開}値設定(V)~
もし、Vが(自身→最小値)以下なら、F値=自身→最小値
違えばもし、Vが(自身→最大値)以上なら、F値=自身→最大値
違えば、F値=V
更新。
・{非公開}F最大値{=0}
・{非公開}F最小値{=0}
・{非公開}最大値取得~それはF最大値
・{非公開}最小値取得~それはF最小値
・{非公開}最大値設定(V)~F最大値=V;更新。
・{非公開}最小値設定(V)~F最小値=V;更新。
・値範囲~_=(自身→最小値の絶対値)+(自身→最大値の絶対値)
・{非公開}F背景色{=$333333}
・{非公開}背景色取得~ それはF背景色
・{非公開}背景色設定(V)~ F背景色=V;更新。
・背景色 ←背景色設定 →背景色取得
・{非公開}F反転色{=$80FF00}
・{非公開}反転色取得~ それはF反転色
・{非公開}反転色設定(V)~ F反転色=V;更新。
・{非公開}分割点取得~
割合 = 自身→値/値範囲
それ = ROUND((自身→W-15)*割合)
・{非公開}分割点設定(V)~
割合 = V/(自身→W-15)
値 = ROUND(割合*値範囲)
更新。
・背景色 ←背景色設定 →背景色取得
・反転色 ←反転色設定 →反転色取得
・値 ←値設定 →値取得
・最大値 ←最大値設定 →最大値取得
・最小値 ←最小値設定 →最小値取得
・分割点 ←分割点設定 →分割点取得
・{非公開}更新~
自身をシステム:画面クリア
塗り色 = 自身→背景色
線色 = 黒色
線太さ = 1
自身の0,0から自身→W,自身→Hへシステム:四角。
塗り色 = 自身→反転色
線色 = 自身→反転色
自身の1,1から分割点,自身→H-1へシステム:四角。
塗り色 = ウィンドウ背景色
線色 = 黒色
自身の分割点-1,0から分割点+16,自身→Hへ8,8でシステム:角丸四角。
自身→変更した時。
・{イベント}シーク始めた時
・{イベント}シーク完了した時
・{イベント}変更した時
//サンプルプログラム
あとはシークバー。
そについて
Hは10
最大値は100
変更した時は~いのテキストは(あの値)
いとはラベル。
最終更新:2008年10月01日 21:39