(new in Rev4.00)
MQWidgetBase クラスはボタン・チェックボックス・ウィンドウなどのすべての種類のウィジェットの基底となるクラスです。MQWidgetBaseを継承するクラスは以下のものがあります。
クラス名 | 概要 |
MQWindowBase | ウィンドウ・ダイアログの継承元クラス |
|- MQWindow | ウィンドウ |
|- MQDialog | ダイアログ |
|- MQPopup | ポップアップ |
MQFrameBase | 各フレームの継承元クラス |
|- MQFrame | フレーム |
|- MQGroupBox | グループボックス |
MQScrollBox | スクロール領域 |
MQTab | 複数ページの切り替え |
MQButton | ボタン |
MQCheckBox | チェックボックス |
MQRadioButton | ラジオボタン |
MQComboBox | コンボボックス |
MQListBox | リストボックス |
MQCheckListBox | チェックリストボックス |
MQTreeListBox | ツリーリストボックス |
MQLabel | 文字列の表示 |
MQEdit | テキスト入力 |
MQMemo | 複数行のテキスト入力 |
MQSpinBox | 整数の数値入力 |
MQDoubleSpinBox | 実数の数値入力 |
MQSlider | スライダーの数値入力 |
MQProgressBar | プログレスバー |
MQScrollBar | スクロールバー |
MQColorPanel | 色入力 |
MQPaintBox | 描画領域 |
MQMenuItem | メニュー項目 |
MQWidget.cpp および MQWidget.h をプロジェクトに追加することでクラスライブラリとして利用します。
クラス | |
MQWidgetBase | コンストラクタ |
~MQWidgetBase | デストラクタ |
メンバ関数 | |
GetID | ウィジェットIDの取得 |
AddChild | 子ウィジェットの追加 |
RemoveChild | 子ウィジェットの切り離し |
GetEnabled | 有効状態の取得 |
SetEnabled | 有効状態の設定 |
GetVisible | 表示状態の取得 |
SetVisible | 表示状態の設定 |
GetHorzLayout | 横方向のレイアウト状態取得 |
SetHorzLayout | 横方向のレイアウト状態設定 |
GetVertLayout | 縦方向のレイアウト状態取得 |
SetVertLayout | 縦方向のレイアウト状態設定 |
GetWidth | 横幅の取得 |
SetWidth | 横幅の設定 |
GetHeight | 縦幅の取得 |
SetHeight | 縦幅の設定 |
GetFillRateX | 横方向のフィル比率の取得 |
SetFillRateX | 横方向のフィル比率の設定 |
GetFillRateY | 縦方向のフィル比率の取得 |
SetFillRateY | 縦方向のフィル比率の設定 |
GetFillBeforeRate | 前方の余白フィル比率の取得 |
SetFillBeforeRate | 前方の余白フィル比率の設定 |
GetFillAfterRate | 後方の余白フィル比率の取得 |
SetFillAfterRate | 後方の余白フィル比率の設定 |
GetInSpace | 子ウィジェット間の隙間の取得 |
SetInSpace | 子ウィジェット間の隙間の設定 |
GetOutSpace | 子ウィジェット外側の隙間の取得 |
SetOutSpace | 子ウィジェット外側の隙間の設定 |
GetHintSizeRateX | 横幅のヒントサイズ取得 |
SetHintSizeRateX | 横幅のヒントサイズ設定 |
GetHintSizeRateY | 縦幅のヒントサイズ取得 |
SetHintSizeRateY | 縦幅のヒントサイズ設定 |
GetCellColumn | 行列内のセルの連結数取得 |
SetCellColumn | 行列内のセルの連結数設定 |
GetHintText | ヒント表示する文字列の取得 |
SetHintText | ヒント表示する文字列の設定 |
GetJustSize | 子ウィジェット全体がちょうど収まるサイズの取得 |
ClientToScreen | クライアントからスクリーンへの座標変換 |
ScreenToClient | スクリーンからクライアントへの座標変換 |
ClientToClient | クライアント間の座標変換 |
Repaint | 再描画 |
RefreshPaint | 描画予約の反映 |
CaptureMouse | マウス操作のキャプチャ |
スタティック関数 | |
FindWidgetByID | IDからのウィジェットの検索 |
GetSystemWidgetID | システムウィジェットのID取得 |
GetDefaultFrameColor | 標準フレーム色の取得 |
GetDefaultTextColor | 標準テキスト色の取得 |
GetDefaultTitleBackColor | 標準タイトル背景色の取得 |
GetDefaultTitleTextColor | 標準タイトルテキスト色の取得 |
GetDefaultListBackColor | 標準リスト背景色の取得 |
GetDefaultListTextColor | 標準リストテキスト色の取得 |
GetDefaultListActiveColor | 標準リストアクティブ色の取得 |
GetDefaultListActiveTextColor | 標準リストアクティブテキスト色の取得 |
GetDefaultEditBackColor | 標準エディット背景色の取得 |
GetDefaultEditTextColor | 標準エディットテキスト色の取得 |
GetDefaultEditSelectionColor | 標準エディット選択色の取得 |
GetDefaultEditSelectionTextColor | 標準エディット選択テキスト色の取得 |
RegisterSubCommandButton | サブコマンド用ボタンの登録 |
EnterEventLoop | イベントループに入る |
ExitEventLoop | イベントループから抜ける |
イベント | |
AddShowEvent | ウィジェットが表示状態になった時のイベントを追加 |
AddHideEvent | ウィジェットが非表示状態になった時のイベントを追加 |
AddMoveEvent | ウィジェットが移動された時のイベントを追加 |
AddResizeEvent | ウィジェットのサイズが変更された時のイベントを追加 |
AddLeftDownEvent | 左ボタンが押された時のイベントを追加 |
AddLeftUpEvent | 左ボタンが離された時のイベントを追加 |
AddLeftDoubleClickEvent | 左ボタンがダブルクリックされた時のイベントを追加 |
AddMiddleDownEvent | 中ボタンが押された時のイベントを追加 |
AddMiddleUpEvent | 中ボタンが離された時のイベントを追加 |
AddMiddleDoubleClickEvent | 中ボタンがダブルクリックされた時のイベントを追加 |
AddRightDownEvent | 右ボタンが押された時のイベントを追加 |
AddRightUpEvent | 右ボタンが離された時のイベントを追加 |
AddRightDoubleClickEvent | 右ボタンがダブルクリックされた時のイベントを追加 |
AddMouseMoveEvent | マウスが移動した時のイベントを追加 |
AddMouseWheelEvent | マウスホイールが回転した時のイベントを追加 |
AddKeyDownEvent | キーが押された時のイベントを追加 |
AddKeyUpEvent | キーが離された時のイベントを追加 |
AddTimerEvent | 指定時間が経過した時のイベントを追加 |
MQWidgetBase::MQWidgetBase();
MQWidgetBase::MQWidgetBase(int id);
コンストラクタです。
virtual MQWidgetBase::~MQWidgetBase();
デストラクタです。仮想関数として定義されます。
int MQWidgetBase::GetID();
ウィジェットのIDを取得します。
int MQWidgetBase::AddChild(MQWidgetBase *child);
指定したウィジェットを子ウィジェットとして追加します。
追加された子ウィジェットは親ウィジェットが削除されるときに同時に削除されます。
childにはウィンドウ・ダイアログは指定できません。子ウィンドウ・ダイアログを追加するにはMQWindowBase::AddChildWindow()を参照してください。
void MQWidgetBase::RemoveChild(MQWidgetBase *child);
指定した子ウィジェットを切り離します。
切り離されたウィジェットは削除されませんので、後で明示的に削除する必要があります。
bool MQWidgetBase::GetEnabled();
ウィジェットが有効、または無効状態にあるかを取得します。
実際にウィジェットにメッセージが通知されるかどうかは親ウィジェットの有効状態も調べる必要があります。
void MQWidgetBase::SetEnabled(bool value);
ウィジェットを有効、または無効状態として指定します。
無効化されたウィジェットはマウスやキーボードなどのメッセージが通知されません。また、子ウィジェットも同時に無効化されます。
bool MQWidgetBase::GetVisible();
ウィジェットが表示、または非表示状態にあるかを取得します。
void MQWidgetBase::SetVisible(bool value);
ウィジェットを表示、または非表示状態として指定します。
LAYOUT_TYPE MQWidgetBase::GetHorzLayout();
横方向のサイズをどのように決定するかを取得します。
void MQWidgetBase::SetHorzLayout(LAYOUT_TYPE value);
横方向のサイズをどのように決定するかを指定します。
LAYOUT_TYPE MQWidgetBase::GetVertLayout();
縦方向のサイズをどのように決定するかを取得します。
void MQWidgetBase::SetVertLayout(LAYOUT_TYPE value);
縦方向のサイズをどのように決定するかを指定します。
int MQWidgetBase::GetWidth();
横幅をピクセル単位で取得します。
void MQWidgetBase::SetWidth(int value);
横幅をピクセル単位で指定します。
固定されたピクセル数が必要にならない限りは、この関数の使用は推奨されません。可能な限り SetHintSizeRateX() を使用してください。
int MQWidgetBase::GetHeight();
縦幅をピクセル単位で取得します。
void MQWidgetBase::SetHeight(int value);
縦幅をピクセル単位で指定します。
固定されたピクセル数が必要にならない限りは、この関数の使用は推奨されません。可能な限り SetHintSizeRateY() を使用してください。
double MQWidgetBase::GetFillRateX();
同じ親ウィジェット内に SetHorzLayout() で LAYOUT_FILL が指定されているウィジェットが複数あるときに、余白を埋めるための比率を取得します。
各ウィジェットのフィル比率の合計に対する割合によって横幅が決定されます。
デフォルト値は1です。
void MQWidgetBase::SetFillRateX(double value);
同じ親ウィジェット内に SetHorzLayout() で LAYOUT_FILL が指定されているウィジェットが複数あるときに、余白を埋めるための比率を指定します。
各ウィジェットのフィル比率の合計に対する割合によって横幅が決定されます。
デフォルト値は1です。
double MQWidgetBase::GetFillRateY();
同じ親ウィジェット内に SetVertLayout() で LAYOUT_FILL が指定されているウィジェットが複数あるときに、余白を埋めるための比率を取得します。
各ウィジェットのフィル比率の合計に対する割合によって縦幅が決定されます。
デフォルト値は1です。
void MQWidgetBase::SetFillRateY(double value);
同じ親ウィジェット内に SetVertLayout() で LAYOUT_FILL が指定されているウィジェットが複数あるときに、余白を埋めるための比率を指定します。
各ウィジェットのフィル比率の合計に対する割合によって縦幅が決定されます。
デフォルト値は1です。
double MQWidgetBase::GetFillBeforeRate();
このウィジェットの前方に余白を空けるための比率を取得します。
各ウィジェットでのフィル比率の合計に対する割合によって前方の余白が決定されます。
void MQWidgetBase::SetFillBeforeRate(double value);
このウィジェットの前方に余白を空けるための比率を指定します。
各ウィジェットでのフィル比率の合計に対する割合によって前方の余白が決定されます。
double MQWidgetBase::GetFillAfterRate();
このウィジェットの後方に余白を空けるための比率を取得します。
各ウィジェットでのフィル比率の合計に対する割合によって後方の余白が決定されます。
void MQWidgetBase::SetFillAfterRate(double value);
このウィジェットの後方に余白を空けるための比率を指定します。
各ウィジェットでのフィル比率の合計に対する割合によって後方の余白が決定されます。
double MQWidgetBase::GetInSpace();
子ウィジェットの間に空ける隙間をベースサイズに対する比率で取得します。
void MQWidgetBase::SetInSpace(double value);
子ウィジェットの間に空ける隙間をベースサイズに対する比率で指定します。
double MQWidgetBase::GetOutSpace();
子ウィジェットの外側に空ける隙間をベースサイズに対する比率で取得します。
void MQWidgetBase::SetOutSpace(double value);
子ウィジェットの外側に空ける隙間をベースサイズに対する比率で指定します。
double MQWidgetBase::GetHintSizeRateX();
ウィジェットの標準的なサイズをベースサイズに対する比率で取得します。
void MQWidgetBase::SetHintSizeRateX(double value);
ウィジェットの標準的なサイズをベースサイズに対する比率で設定します。
SetHorzLayout() で LAYOUT_HINTSIZE が指定されているときに、このヒントサイズに応じてウィジェットの横幅が決定されます。あくまでヒントなので、実際に設定されるサイズはウィジェットの種類や設定された各値によって異なります。
double MQWidgetBase::GetHintSizeRateY();
ウィジェットの標準的なサイズをベースサイズに対する比率で取得します。
void MQWidgetBase::SetHintSizeRateY(double value);
ウィジェットの標準的なサイズをベースサイズに対する比率で設定します。
SetVertLayout() で LAYOUT_HINTSIZE が指定されているときに、このヒントサイズに応じてウィジェットの縦幅が決定されます。あくまでヒントなので、実際に設定されるサイズはウィジェットの種類や設定された各値によって異なります。
int MQWidgetBase::GetCellColumn();
(new in Rev4.23)
MQFrameBase::SetMatrixColumn()で行列配置が指定されているフレーム内でのセルの連結数を取得します。
void MQWidgetBase::SetCellColumn(int value);
(new in Rev4.23)
MQFrameBase::SetMatrixColumn()で行列配置が指定されているフレーム内でのセルの連結数を設定します。
std::wstring MQWidgetBase::GetHintText();
(new in Rev4.30)
マウスがウィジェット上に置かれたときに表示されるヒント文字列を取得します。
void MQWidgetBase::SetHintText(const std::wstring& value);
(new in Rev4.30)
マウスがウィジェット上に置かれたときに表示されるヒント文字列を設定します。
POINT MQWidgetBase::GetJustSize(int max_width = -1, int max_height = -1);
子ウィジェットをちょうど収めるためのサイズを取得します。
max_width, max_height に-1を指定すると、上限がない状態でサイズが計算されます。
bool MQWidgetBase::ClientToScreen(int client_x, int client_y, int *screen_x, int *screen_y);
クライアント座標をスクリーン座標に変換します。
bool MQWidgetBase::ScreenToClient(int screen_x, int screen_y, int *client_x, int *client_y);
スクリーン座標をクライアント座標に変換します。
bool MQWidgetBase::ClientToClient(int client_x, int client_y, MQWidgetBase *target, int *target_x, int *target_y);
クライアント座標を変換先ウィジェットのクライアント座標に変換します。
void MQWidgetBase::Repaint(bool immediate = false);
ウィジェットを再描画します。
immediate に true を指定すると、関数を呼び出した時点で即座に描画が行われます。false を指定すると描画が予約され、イベントループに戻った際に描画が行われます。
void MQWidgetBase::RefreshPaint();
(new in Rev4.30)
Repaint(false)やウィンドウへの操作等により再描画の予約がされている領域に対して即座に描画を行います。
void MQWidgetBase::CaptureMouse(bool value);
(new in Rev4.30)
マウス操作をキャプチャして、マウスがウィジェット外に移動してもマウスの移動・クリックなどのイベントをこのウィジェットに通知します。
static MQWidgetBase *MQWidgetBase::FindWidgetByID(int id);
指定されたIDを持つウィジェットを取得します。
対応するウィジェットがなければNULLが返されます。
static int MQWidgetBase::GetSystemWidgetID(MQSystemWidget::WidgetType type);
本体側で作成されたウィジェットを取得します。
取得されたシステムウィジェットは基本的には子ウィンドウや子ウィジェットを作成するときに親ウィジェットとして指定します。システムウィジェットへむやみにアクセスすると思わぬ誤作動を引き起こす可能性があります。
static void MQWidgetBase::GetDefaultFrameColor(int& r, int& g, int& b, int& a);
static MQCanvasColor MQWidgetBase::GetDefaultFrameColor();
標準のフレーム色を取得します。
static void MQWidgetBase::GetDefaultTextColor(int& r, int& g, int& b, int& a);
static MQCanvasColor MQWidgetBase::GetDefaultTextColor();
標準のテキスト色を取得します。
static void MQWidgetBase::GetDefaultTitleBackColor(int& r, int& g, int& b, int& a);
static MQCanvasColor MQWidgetBase::GetDefaultTitleBackColor();
(new in Rev4.11)
標準のタイトル背景色を取得します。
static void MQWidgetBase::GetDefaultTitleTextColor(int& r, int& g, int& b, int& a);
static MQCanvasColor MQWidgetBase::GetDefaultTitleTextColor();
(new in Rev4.11)
標準のタイトルテキスト色を取得します。
static void MQWidgetBase::GetDefaultListBackColor(int& r, int& g, int& b, int& a);
static MQCanvasColor MQWidgetBase::GetDefaultListBackColor();
標準のリスト背景色を取得します。
static void MQWidgetBase::GetDefaultListTextColor(int& r, int& g, int& b, int& a);
static MQCanvasColor MQWidgetBase::GetDefaultListTextColor();
標準のリストテキスト色を取得します。
static void MQWidgetBase::GetDefaultListActiveColor(int& r, int& g, int& b, int& a);
static MQCanvasColor MQWidgetBase::GetDefaultListActiveColor();
標準のリストアクティブ色を取得します。
static void MQWidgetBase::GetDefaultListActiveTextColor(int& r, int& g, int& b, int& a);
static MQCanvasColor MQWidgetBase::GetDefaultListActiveTextColor();
標準のリストアクティブテキスト色を取得します。
static void MQWidgetBase::GetDefaultEditBackColor(int& r, int& g, int& b, int& a);
static MQCanvasColor MQWidgetBase::GetDefaultEditBackColor();
標準のエディット背景色を取得します。
static void MQWidgetBase::GetDefaultEditTextColor(int& r, int& g, int& b, int& a);
static MQCanvasColor MQWidgetBase::GetDefaultEditTextColor();
標準のエディットテキスト色を取得します。
static void MQWidgetBase::GetDefaultEditSelectionColor(int& r, int& g, int& b, int& a);
static MQCanvasColor MQWidgetBase::GetDefaultEditSelectionColor();
標準のエディット選択色を取得します。
static void MQWidgetBase::GetDefaultEditSelectionTextColor(int& r, int& g, int& b, int& a);
static MQCanvasColor MQWidgetBase::GetDefaultEditSelectionTextColor();
標準のエディット選択テキスト色を取得します。
static void MQWidgetBase::RegisterSubCommandButton(MQStationPlugin *plugin, MQButton *button, const char *command_str);
(new in Rev4.30)
MQStationPlugin::EnumSubCommand()に対応するサブコマンド用のボタンを登録します。
指定したサブコマンドにショートカットキーが割り当てられている場合、ボタン上にショートカットキーが表示されるようになります。
static void MQWidgetBase::EnterEventLoop(unsigned int timeout_ms = (unsigned int)-1, bool empty_return = false);
新しいイベントループに入り、マウス・キーボード・描画などのさまざまなイベント処理を行います。
timeout_ms に 0 以上を指定した場合、指定した時間を超えるとイベントループを終えて制御を戻します。ただし、イベントループ内で時間がかかる処理を行うと、タイムアウト時間を経過してもその処理が終わるまでは制御は戻ってきません。
timeout_ms を指定しない場合、ExitEventLoop()を呼び出すまでずっとイベントループを処理し続けて、制御は戻ってきません。
empty_return に true が指定された場合、処理すべきイベントがなくなったら timeout_ms の時間内であっても制御が戻ります。
static void MQWidgetBase::ExitEventLoop();
EnterEventLoop()で入ったイベントループから抜け出すために呼び出します。
EnterEventLoop()がまだ呼び出されていない、または既にイベントループから抜け出した状態でこの関数を呼び出すと、別のイベントループを抜け出すことになり、システム全体の制御がおかしくなるのでご注意ください。
template<typename T> void MQWidgetBase::AddShowEvent(T *p, BOOL (T::*f)(MQWidgetBase*, MQDocument), bool prior = false);
ウィジェットが表示状態になったときに発生されるイベントを追加します。
通知先のメンバ関数 f は以下の引数・戻り値を持ったものである必要があります。
BOOL T::f(MQWidgetBase* sender, MQDocument doc);
template<typename T> void MQWidgetBase::AddHideEvent(T *p, BOOL (T::*f)(MQWidgetBase*, MQDocument), bool prior = false);
ウィジェットが非表示状態になったときに発生されるイベントを追加します。
イベント通知先のメンバ関数はAddShowEvent内の記述を参照してください。
template<typename T> void MQWidgetBase::AddMoveEvent(T *p, BOOL (T::*f)(MQWidgetBase*, MQDocument), bool prior = false);
ウィジェットの表示位置が移動したときに発生されるイベントを追加します。
イベント通知先のメンバ関数はAddShowEvent内の記述を参照してください。
template<typename T> void MQWidgetBase::AddResizeEvent(T *p, BOOL (T::*f)(MQWidgetBase*, MQDocument), bool prior = false);
ウィジェットのサイズが変更されたときに発生されるイベントを追加します。
イベント通知先のメンバ関数はAddShowEvent内の記述を参照してください。
template<typename T> void MQWidgetBase::AddLeftDownEvent(T *p, BOOL (T::*f)(MQWidgetBase*, MQDocument, MQWidgetMouseParam&), bool prior = false);
左ボタンが押されたときに発生されるイベントを追加します。
通知先のメンバ関数 f は以下の引数・戻り値を持ったものである必要があります。
BOOL T::f(MQWidgetBase* sender, MQDocument doc, MQWidgetMouseParam& param);
struct MQWidgetMouseParam { POINT ClientPos; POINT ScreenPos; POINT DownPos; POINT LastPos; int Wheel; bool LButton; bool MButton; bool RButton; bool Shift; bool Ctrl; bool Alt; float Pressure; bool Finished; };
template<typename T> void MQWidgetBase::AddLeftUpEvent(T *p, BOOL (T::*f)(MQWidgetBase*, MQDocument, MQWidgetMouseParam&), bool prior = false);
左ボタンが離されたときに発生されるイベントを追加します。
イベント通知先のメンバ関数はAddLeftDownEvent内の記述を参照してください。
template<typename T> void MQWidgetBase::AddLeftDoubleClickEvent(T *p, BOOL (T::*f)(MQWidgetBase*, MQDocument, MQWidgetMouseParam&), bool prior = false);
左ボタンがダブルクリックされたときに発生されるイベントを追加します。
イベント通知先のメンバ関数はAddLeftDownEvent内の記述を参照してください。
template<typename T> void MQWidgetBase::AddMiddleDownEvent(T *p, BOOL (T::*f)(MQWidgetBase*, MQDocument, MQWidgetMouseParam&), bool prior = false);
中ボタンが押されたときに発生されるイベントを追加します。
イベント通知先のメンバ関数はAddLeftDownEvent内の記述を参照してください。
template<typename T> void MQWidgetBase::AddMiddleUpEvent(T *p, BOOL (T::*f)(MQWidgetBase*, MQDocument, MQWidgetMouseParam&), bool prior = false);
中ボタンが離されたときに発生されるイベントを追加します。
イベント通知先のメンバ関数はAddLeftDownEvent内の記述を参照してください。
template<typename T> void MQWidgetBase::AddMiddleDoubleClickEvent(T *p, BOOL (T::*f)(MQWidgetBase*, MQDocument, MQWidgetMouseParam&), bool prior = false);
中ボタンがダブルクリックされたときに発生されるイベントを追加します。
イベント通知先のメンバ関数はAddLeftDownEvent内の記述を参照してください。
template<typename T> void MQWidgetBase::AddRightDownEvent(T *p, BOOL (T::*f)(MQWidgetBase*, MQDocument, MQWidgetMouseParam&), bool prior = false);
右ボタンが押されたときに発生されるイベントを追加します。
イベント通知先のメンバ関数はAddLeftDownEvent内の記述を参照してください。
template<typename T> void MQWidgetBase::AddRightUpEvent(T *p, BOOL (T::*f)(MQWidgetBase*, MQDocument, MQWidgetMouseParam&), bool prior = false);
右ボタンが離されたときに発生されるイベントを追加します。
イベント通知先のメンバ関数はAddLeftDownEvent内の記述を参照してください。
template<typename T> void MQWidgetBase::AddRightDoubleClickEvent(T *p, BOOL (T::*f)(MQWidgetBase*, MQDocument, MQWidgetMouseParam&), bool prior = false);
右ボタンがダブルクリックされたときに発生されるイベントを追加します。
イベント通知先のメンバ関数はAddLeftDownEvent内の記述を参照してください。
template<typename T> void MQWidgetBase::AddMouseMoveEvent(T *p, BOOL (T::*f)(MQWidgetBase*, MQDocument, MQWidgetMouseParam&), bool prior = false);
ウィジェット上をマウスが移動したときに発生されるイベントを追加します。
イベント通知先のメンバ関数はAddLeftDownEvent内の記述を参照してください。
template<typename T> void MQWidgetBase::AddMouseWheelEvent(T *p, BOOL (T::*f)(MQWidgetBase*, MQDocument, MQWidgetMouseParam&), bool prior = false);
ウィジェット上にマウスカーソルがある状態でマウスホイールを回転したときに発生されるイベントを追加します。
イベント通知先のメンバ関数はAddLeftDownEvent内の記述を参照してください。
template<typename T> void MQWidgetBase::AddKeyDownEvent(T *p, BOOL (T::*f)(MQWidgetBase*, MQDocument, MQWidgetKeyParam&), bool prior = false);
ウィジェット(またはウィンドウ)にフォーカスがある状態でキーが押されたときに発生されるイベントを追加します。
BOOL T::f(MQWidgetBase* sender, MQDocument doc, MQWidgetKeyParam& param);
struct MQWidgetKeyParam { int Key; bool AutoRepeat; bool LButton; bool MButton; bool RButton; bool Shift; bool Ctrl; bool Alt; bool Finished; };
template<typename T> void MQWidgetBase::AddKeyUpEvent(T *p, BOOL (T::*f)(MQWidgetBase*, MQDocument, MQWidgetKeyParam&), bool prior = false);
ウィジェット(またはウィンドウ)にフォーカスがある状態でキーが離されたときに発生されるイベントを追加します。
イベント通知先のメンバ関数はAddKeyDownEvent内の記述を参照してください。
template<typename T> void MQWidgetBase::AddTimerEvent(T *p, BOOL (T::*f)(MQWidgetBase*, MQDocument), unsigned int timeout_ms, bool overwrite = false);
指定時間が経過したときにタイマーイベントを発生させます。
この関数を呼び出してから timeout_ms ミリ秒後にイベントが発生します。ただし、イベント発生前に同じスレッド内で時間のかかる処理が行われた場合、指定した時間より遅れてタイマーイベントが発生することがあります。
overwrite に true を指定すると、通知先のウィジェット・メンバ関数が同じタイマーイベントが既に設定されていた場合、そのイベントを上書きします。
タイマーイベントはこの関数の呼び出しに対応して1回だけ発生します。イベントを複数回発生させる場合は、overwrite を false にしてこの関数を複数回呼び出して下さい。
イベント通知先のメンバ関数はAddShowEvent内の記述を参照してください。