■シークバー

※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

情報


概要

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
  変更した時は~いのテキストは(あの値)
いとはラベル。


名前:
コメント:


ツールボックス

下から選んでください:

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