MQButtonクラス

(new in Rev4.00)

MQButton クラスはボタンを表示するウィジェットを管理します。MQWidgetBaseクラスを継承しています。

継承元クラスで定義されるメンバ関数はそのクラスの記述を参照してください。

クラス
MQButton コンストラクタ
~MQButton デストラクタ
メンバ関数
GetText 表示文字列の取得
SetText 表示文字列の設定
GetFontName フォント名の取得
SetFontName フォント名の設定
GetFontBold 太字フォントの取得
SetFontBold 太字フォントの設定
GetFontScale 文字の表示拡大率の取得
SetFontScale 文字の表示拡大率の設定
GetFontColor 文字の表示色の取得
SetFontColor 文字の表示色の設定
GetAlignment 文字の配置位置の取得
SetAlignment 文字の配置位置の設定
GetToggle 自動切り替えのOn/Offの取得
SetToggle 自動切り替えのOn/Offの設定
GetDown 押下状態の取得
SetDown 押下状態の設定
GetRepeat リピートOn/Offの取得
SetRepeat リピートOn/Offの設定
GetChain チェイン状態の取得
SetChain チェイン状態の設定
GetFlat 平面スタイルの取得
SetFlat 平面スタイルの設定
GetPaddingX 横方向の隙間の取得
SetPaddingX 横方向の隙間の設定
GetPaddingY 縦方向の隙間の取得
SetPaddingY 縦方向の隙間の設定
SetSystemSVGFile システムSVGファイルの設定
GetImageScale 画像の表示スケールの取得
SetImageScale 画像の表示スケールの設定
GetImagePosition 画像の表示位置の取得
SetImagePosition 画像の表示位置の設定
SetDefault デフォルトボタンとして設定
SetCancel キャンセルボタンとして設定
SetModalResult ダイアログの結果値の設定
イベント
AddClickEvent ボタンが押された時のイベントを追加
AddRepeatEvent ボタンが押し続けられた時のイベントを追加
静的関数
ReorderOKButton OKボタンの表示順序の入れ替え

MQButton::MQButton();

MQButton::MQButton(int id);

id
プラグイン外で生成されたウィジェットのID

コンストラクタです。


virtual MQButton::~MQButton();

デストラクタです。仮想関数として定義されます。


std::wstring MQButton::GetText();

戻り値
表示文字列

ボタン上に表示される文字列を取得します。


void MQButton::SetText(const std::wstring& text);

text
表示文字列

ボタン上に表示される文字列を設定します。


std::wstring MQButton::GetFontName();

戻り値
フォント名

文字を表示するフォントを取得します。


void MQButton::SetFontName(const std::wstring& value);

value
フォント名

文字を表示するフォントを設定します。


bool MQButton::GetFontBold();

戻り値
太字設定

文字を太字で表示するかどうかを取得します。


void MQButton::SetFontBold(bool value);

value
太字設定

文字を太字で表示するかどうかを設定します。


double MQButton::GetFontScale();

戻り値
文字の表示拡大率

標準フォントサイズに対する比率で文字の表示拡大率を取得します。

デフォルト値は1.0です。


void MQButton::SetFontScale(double value);

value
文字の表示拡大率

標準フォントサイズに対する比率で文字の表示拡大率を設定します。


void MQButton::GetFontColor(int& r, int& g, int& b, int& a);

r
g
b
a
不透明度

文字の表示色を取得します。各成分は0~255となります。

aが0の場合、システムで定義された標準色で描画されます。


void MQButton::SetFontColor(int r, int g, int b, int a);

r
g
b
a
不透明度

文字の表示色を設定します。各成分は0~255となります。


MQButton::MQButtonTextAlignment MQButton::GetAlignment();

戻り値
文字の配置位置
[ALIGN_LEFT]
[ALIGN_CENTER] 中央
[ALIGN_RIGHT]
[ALIGN_CENTER_EXCEPT_IMAGE] 文字を中央、画像は端寄せ

(new in Rev4.20)

ボタン上に文字を表示する位置を取得します。


void MQButton::SetAlignment(MQButtonTextAlignment align);

text
表示文字列
[ALIGN_LEFT]
[ALIGN_CENTER] 中央
[ALIGN_RIGHT]
[ALIGN_CENTER_EXCEPT_IMAGE] 文字を中央、画像は端寄せ

(new in Rev4.20)

ボタン上に文字を表示する位置を設定します。


bool MQButton::GetToggle();

戻り値
自動切り替えのOn/Off

ボタンが押されたときに自動的にボタンのOn/Offを切り替えるどうかを取得します。


void MQButton::SetToggle(bool value);

value
自動切り替えのOn/Off

ボタンが押されたときに自動的にボタンのOn/Offを切り替えるどうかを設定します。


bool MQButton::GetDown();

戻り値
押下状態

ボタンが押されているかどうかを取得します。


void MQButton::SetDown(bool value);

value
押下状態

ボタンが押されているかどうかを設定します。


bool MQButton::GetRepeat();

戻り値
リピートのOn/Off

ボタンが押し続けられた時にイベントを連続的に発生させるかどうかを取得します。


void MQButton::SetRepeat(bool value);

value
リピートのOn/Off

ボタンが押し続けられた時にイベントを連続的に発生させるかどうかを設定します。

trueが指定された場合、AddRepeatEventで指定した関数が呼び出されます。


bool MQButton::GetChain();

戻り値
チェイン状態

隣り合うボタンがあるときにボタンがつながったような表示を行うかどうかを取得します。


void MQButton::SetChain(bool value);

value
チェイン状態

隣り合うボタンがあるときにボタンがつながったような表示を行うかどうかを設定します。


bool GetFlat()

戻り値
平面スタイルのOn/Off

(new in Rev4.60)

ボタンの外観が平面スタイルかどうかを取得します。


bool SetFlat()

戻り値
平面スタイルのOn/Off

(new in Rev4.60)

ボタンの外観が平面スタイルかどうかを設定します。


double MQButton::GetPaddingX();

戻り値
横方向の隙間

(new in Rev4.30)

文字やアイコンなどの間となる横方向の隙間を取得します。


void MQButton::SetPaddingX(double value);

value
横方向の隙間

(new in Rev4.30)

文字やアイコンなどの間となる横方向の隙間を設定します。


double MQButton::GetPaddingY();

戻り値
縦方向の隙間

(new in Rev4.30)

文字やアイコンなどの間となる縦方向の隙間を取得します。


void MQButton::SetPaddingY(double value);

value
縦方向の隙間

(new in Rev4.30)

文字やアイコンなどの間となる縦方向の隙間を設定します。


void MQButton::SetSystemSVGFile(const wchar_t *filename);

filename
ファイル名

(new in Rev4.30)

システム側で用意されているSVG画像をアイコンとして表示します。


double MQButton::GetImageScale();

戻り値
画像の表示スケール

(new in Rev4.32)

SVG画像の表示サイズを標準サイズに対する拡大率で取得します。


void MQButton::SetImageScale(double value);

value
画像の表示スケール

(new in Rev4.32)

SVG画像の表示サイズを標準サイズに対する拡大率で設定します。


MQButton::MQButtonImagePosition MQButton::GetImagePosition();

戻り値
画像の配置位置
[IMAGE_LEFT]
[IMAGE_RIGHT]
[IMAGE_TOP]
[IMAGE_BOTTOM]

(new in Rev4.32)

SVG画像を文字に対してどの位置に表示するかを取得します。


void MQButton::SetImagePosition(MQButtonImagePosition value);

value
画像の配置位置
[IMAGE_LEFT]
[IMAGE_RIGHT]
[IMAGE_TOP]
[IMAGE_BOTTOM]

(new in Rev4.32)

SVG画像を文字に対してどの位置に表示するかを設定します。


void MQButton::SetDefault(bool value);

value
デフォルトボタンとして指定

ダイアログ上でEnterキーが押されたときにボタンを動作させるかどうかを設定します。


void MQButton::SetCancel(bool value);

value
キャンセルボタンとして指定

ダイアログ上でEscキーが押されたときにボタンを動作させるかどうかを設定します。


void MQButton::SetModalResult(MQDialog::DIALOG_RESULT value);

value
ダイアログの結果値
[DIALOG_NONE] なし
[DIALOG_OK] OKボタンとして動作
[DIALOG_CANCEL] キャンセルボタンとして動作
[DIALOG_YES] はいボタンとして動作
[DIALOG_NO] いいえボタンとして動作
[DIALOG_ALL] すべてボタンとして動作

ボタンが押されたときにダイアログを閉じてMQDialog::executeの戻り値として返す値を指定します。

DIALOG_NONE以外が指定されていれば、ボタンが押されたときに自動的にダイアログが閉じられます。


template<typename T> void MQButton::AddClickEvent(T *p, BOOL (T::*f)(MQWidgetBase*, MQDocument), bool prior = false);

p
イベント通知先のウィジェット
f
イベント通知先のメンバ関数
prior
イベントの通知順序
[true] 最初に通知されるよう指定
[false] 最後に通知されるよう指定

ボタンが押されたときに発生されるイベントを追加します。


template<typename T> void MQButton::AddRepeatEvent(T *p, BOOL (T::*f)(MQWidgetBase*, MQDocument), bool prior = false);

p
イベント通知先のウィジェット
f
イベント通知先のメンバ関数
prior
イベントの通知順序
[true] 最初に通知されるよう指定
[false] 最後に通知されるよう指定

ボタンが押し続けられたときに発生されるイベントを追加します。

このイベントを発生させるには SetRepeat() で true が指定されている必要があります。


static void MQButton::ReorderOKButton(MQWidgetBase *parent, MQButton *btn1, MQButton *btn2);

parent
親ウィジェット
btn1
ボタン1(主にOKボタン)
btn2
ボタン2(主にキャンセルボタン)

(new in Rev4.59)

MacOSでOKボタンとキャンセルボタンの配置を逆にします。

Windowsでは何も影響しませんが、コードの共通化が可能です。