◆チャージボタンクラスについて ・チャージボタンクラスは,ボタンを押している時間によりチャージ量が 変化するユーザーコントロールクラスライブラリです。 ・セレクトイベントにおいて,チャージ量(1〜)を引数として返します。
◆動作環境 ・シャープザウルスシリーズ ・動作確認機種:MI-310
◆更新履歴 1999/12/30 Ver1.00 ・基本的な機能作成完了。公開開始。 2000/01/05 Ver1.00 ・説明書を作成。 2000/02/04 Ver1.10 ・押下中にチャージ量が変化した時に、ボタンタッチ音がな るようにした。
◆ダウンロード ライブラリ+ヘッダファイル+説明書 ChgBtn.lzh ソースファイル+ヘッダファイル ChgBtn-src.lzh
◆仕様 @プロパティ名
プロパティ名 | 型 | RW | 概要 |
---|---|---|---|
ユーザコントロールクラス | |||
LEFT_X_PID | short | RW | ボタン領域の左上X座標。(QP) |
TOP_Y_PID | short | RW | ボタン領域の左上Y座標。(QP) |
WIDTD_PID | USHORT | RW | ボタン領域の横幅。(QP-1) |
HEIGHT_PID | USHORT | RW | ボタン領域の高さ。(QP-1) |
UC_CALL_BACK_WORK_PID | PTR | W | ユーザコールバック関数に渡すポインタ FormSetup関数内で,AplFormを渡してください。 |
チャージボタンクラス | |||
TYPE_PID | UCHAR | RW | CHGBTN_L_TO_R: チャージの増加方向を左→右にします。(デフォルト) CHGBTN_B_TO_T: チャージの増加方向を下→上にします。 |
VALUE_PID | int | RW | 現在のチャージ量。 |
CHGBTN_NUM_PID | USHORT | RW | チャージ量の最大数。(デフォルト:1) |
CHGBTN_PITCH_PID | USHORT | RW | チャージ量1増加に必要な時間。(単位:1/10秒)(デフォルト:20) |
VISIBLE_PID | BOOLEAN | W | true: ボタンを表示状態にします。(デフォルト) false: ボタンを非表示状態にします。 |
BUTTON_SELECT_MODE_PID | BOOLEAN | W | true: ボタンを選択不可状態にします。 false: ボタンを選択可能状態にします。(デフォルト) |
CHGBTN_CALL_BACK_PID | PROC | W | ボタンがセレクトされたときに呼び出されるコールバック関数。 void btnSelectFunc(APLFORMPTR AplForm, MESSAGE *Message, USHORT charge) btnSelectCBは,ユーザ定義関数。 AplForm: APLFORM構造体のポインタ Message: MESSAGE構造体のポインタ charge : チャージ量(1〜) |
CHGBTN_FG_COLOR_PID | GUICOLOR | RW | フォアグラウンドカラー。(デフォルト:WHITE) チャージ量の色 |
CHGBTN_BG_COLOR_PID | GUICOLOR | RW | バックグラウンドカラー。 |
CHGBTN_LINE_COLOR_PID | GUICOLOR | RW | チャージ量の桝目を表すラインの色。(デフォルト:BLACK) |
A動作メッセージ
SetPropertyID プロパティの値を設定する。 メンバ ・Message.SetProperty.PropertyID(USHORT) プロパティID ・Message.SetProperty.Value 設定する値 リターン なし |
GetPropertyID プロパティの値を取得する。 メンバ ・Message.GetProperty.PropertyID(USHORT) プロパティID リターン ・Message.GetProperty.Value 取得した値 |
ToolOpenID チャージボタンの領域を確保する。 |
ToolCloseID チャージボタンの領域を解放する。 |
RedispID チャージボタンを再表示する。 |
Bライブラリ関数
void CHARGEBTN_INIT(int parts, APLFORMPTR AplForm) チャージボタンの初期化関数。 parts: ユーザーコントロールクラス AplForm: アプリフォーム |
BOOLEAN CHARGEBTN_CB(int parts, CHARGEBTN **ppChargeBtn, MESSAGE* Message, WINDOWHD WnHandle, RECTANGLE* UserRect, void** Work) チャージボタンメッセージ処理関数。 parts: ユーザーコントロールクラス ppChargeBtn: チャージボタン構造体 Message: メッセージ WnHandle: ウィンドウハンドル UserRect: ユーザコントロール領域 Work: USER_CALL_BACK_WORK_PIDで設定したポインタの値 FormSetup関数内でAplFormを設定 |
void CHARGEBTN_END(int parts, CONTROLHD ctrlHd) チャージボタンの終了関数。 parts: ユーザーコントロールクラス ctrlHd: コントロールテーブル |
◆使用方法 @libChargeBtn.aをSZABインストールディレクトリの下の lib ディレクト リにコピーする。 AChargeBtn.hをSZABインストールディレクトリの libheader/c ディレク トリにコピーする。 あるいは,各プロジェクトのディレクトリの csrc ディレクトリの下に コピーする。 BSZAB統合開発環境のリンカオプション LKFLAGS2 に -lChargeBtn を追加 する。 Cユーザーコントロールクラスをメインフォームに作成する。 Dメインフォームの FormSetup関数内でチャージボタンの初期化関数 (CHARGEBTN_INIT)をコールする。 その他必要なプロパティを設定する。 例. CHARGEBTN_INIT(chgBtn, AplForm); SetCtrlProperty(chgBtn, CHGBTN_CALL_BACK_PID, procValue, btnSelectCB, AplForm->Control); SetCtrlProperty(chgBtn, CHGBTN_NUM_PID, usValue, 10, AplForm->Control); Eユーザー関数として,上記コールバック関数(btnSelectCB)を作成する。 Fメインフォームの FormEnd関数内でチャージボタンの終了関数 (CHARGEBTN_END)をコールする。 Gユーザーリストコントロールクラスのコールバックルーチン内で,チャ ージボタンメッセージ処理関数(CHARGEBTN_CB)をコールする。 例. static CHARGEBTN *pChargeBtn = NULL; if (*Work != NULL) { CHARGEBTN_CB(chgBtn, &pChargeBtn, Message, WnHandle, UserRect, Work); }
◆制限事項 ・ボタンセレクト時に機能キーが押されているかどうかは見れない。
◆著作権・転載条件など ・本ライブラリは,制限なしで使用可能です。自由に使用してください。 但し,本ライブラリを使用して生じるあらゆる障害に対して,一切責任 を負いません。