◆チャージボタンクラスについて ・チャージボタンクラスは,ボタンを押している時間によりチャージ量が 変化するユーザーコントロールクラスライブラリです。 ・セレクトイベントにおいて,チャージ量(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);
}
◆制限事項 ・ボタンセレクト時に機能キーが押されているかどうかは見れない。
◆著作権・転載条件など ・本ライブラリは,制限なしで使用可能です。自由に使用してください。 但し,本ライブラリを使用して生じるあらゆる障害に対して,一切責任 を負いません。