Gadget ›› ButtonGadget
ButtonGadget
構文
ID= ButtonGadget(Number,x,y,Width,Height,[Text_name=""], [Style= 0] )
Function ButtonGadget(ByVal gadget As Long, ByVal x As Long, ByVal y As Long, ByVal w As Long, ByVal h As Long, ByRef s As String="", ByVal Style As Long=0) As HWND
内容
文字列を表示できるボタン・ガジェット
ID - ボタン・ハンドル
SetGadgetText 関数を使って、ガジェット中に文字列を設定できます
GetGadgetText 関数を使って、ガジェットからテキストを取得できます
SetGadgetFont 関数を使って、ガジェットの文字のフォントを設定できます
GetGadgetState 関数を使って、ガジェットのボタンの状況を取得できます。
SetGadgetState 関数を使って、ガジェットのボタンの状況を設定できます。
Linux では、SetGadgetColor を使ってボタンテキストの色を変更できます。
オプション
gadget(Number) - ID Number (任意の正の自然数。1、2、3、4 など).
x,y,w,h - 位置とサイズ
s (Text_name) - ボタンに表示する文字列
Style - トグルボタンに FB_BS_PUSHLIKE スタイルを設定できます。
設定できるスタイルは以下で、Windows だけです。
プラットホーム
Windows , Linux
例:
#Include "window9.bi"
Dim As integer hwnd,but,event
hwnd=OpenWindow("1",300,10,100,100)
ButtonGadget(1,10,10,60,30,"button")
Do
event=WaitEvent()
If event=EventClose Then End
If event=eventgadget Then MessBox("メッセージ","これはボタンです")
Loop
すべての可能な Style オプション:
- BS_3STATE - フラグ用のウィンドウ(チェックボックス)と同様のボタンを作成します。唯一の違いは、(チェックされた)をチェックする(チェック状態)を選択するか、それをキャンセルした場合に、ウィンドウのフィールドが使用できなくなる可能性があることです。
グレー表示状態は、フラグのウィンドウの状態が定義されていないことを示しています。
- BS_AUTO3STATE - 3つの状態の、同じスイッチ・ボタンを作成します。 ユーザーがそれを選択したときに、ウィンドウのフィールドの状態が変更する点が異なります。
状態は、チェックボックスの設定、チェックボックスを利用できない、設定のキャンセル、を繰り返します。
- BS_AUTOCHECKBOX - チェックボックスのボタンを作成します。ただし、チェックボックスの[チェック]状態は、ユーザーがこのボタンを選択するたびに、設定とオプションの未設定を自動的に切り替えます。
- BS_AUTORADIOBUTTON - "ラジオ"ボタンと同様のボタンを作成します。
ユーザーが選択したとき、"チェック済み"と言って、Windowsが自動的に制御モードのフラグのボタンの状態を設定して、チェックボックスをオンにすることなく、他のすべての同じグループ内のボタンのチェック状態を自動的に設定する点が、異なります。
- BS_CHECKBOX - テキストが付いたチェックボックス用の小さい空のウィンドウを作成します。
デフォルトでは、テキストは、ウィンドウの右側に表示されます。 テキストをウィンドウの左側に表示するには、このフラグをスタイル BS_LEFTTEXT(または同等のスタイル BS_RIGHTBUTTON)と組合わせて使います。
- BS_DEFPUSHBUTTON - ボタンスタイルBS_PUSHBUTTONのように振る舞い、太い黒のフレームを持っているコマンドボタンを作成します。
ボタンがダイアログボックスに配置されている場合、ボタンが入力フォーカスを持っている場合でも、ユーザーは、ボタンを選択して、Enterキーを押すことができます。
このスタイルは、ユーザーがすぐに最も適切な(デフォルト)オプションを選択できるようにするために、有用です。
- BS_GROUPBOX - 他のコントロールにグループ化できる長方形を作成します。
このスタイルに関連付けられたすべてのテキストは、矩形の左上隅に表示されます。
- BS_LEFTTEXT - スイッチのスタイルや、"ラジオ"ボタンと組み合わせた場合、テキストを、"ラジオ"ボタンやウィンドウのスイッチの左側に配置します。
BS_RIGHTBUTTON スタイルと同じです。
- BS_OWNERDRAW - 所有者によって提供されたボタンを作成します。
所有者ウィンドウは、ボタンが作成されたとき WM_MEASUREITEM メッセージを、ボタンの外観が変更されたとき WM_DRAWITEM メッセージを、受け取ります。
BS_OWNERDRAW のスタイルを、他のいずれかのボタン・スタイルと組み合わせて使用しないでください。
- BS_PUSHBUTTON - ユーザーがボタンを選択すると、所有者ウィンドウに WM_COMMAND メッセージを送信するコマンドボタンを作成します。
- BS_RADIOBUTTON - テキストと小さな円を作成します。
デフォルトでは、テキストは、円の右側に表示されます。
テキストを、円の左側に表示するには、フラグを、スタイル BS_LEFTTEXT(またはそれに相当する -スタイル BS_RIGHTBUTTON)と合わせて使って下さい。
"ラジオ"ボタンは、関連する、相互に排他的な選択肢のグループのために、使います。
- BS_USERBUTTON - 廃止されましたが、Windowsの16ビットバージョンとの互換性のために残されています。
Win32ベースのアプリケーションは、このオプションの代わりに、BS_OWNERDRAW を使う必要があります。
- BS_BITMAP - ボタンにビットマップを表示することを指定します。
- BS_BOTTOM - テキストを、四角形のボタンの下部に配置します。
- BS_CENTER - テキストを、水平方向の四角形のボタンの中央に揃えます。
- BS_ICON - ボタンがアイコンとして表示されることを指定します。
- BS_LEFT - テキストを、左ボタンの四角形内に揃えます。
ただし、 ウィンドウのスイッチ、または"ラジオ"ボタンが、スタイル BS_RIGHTBUTTONを持っていない場合は、テキストはスイッチまたは"ラジオ"ボタンの右側に配置されます。
- BS_MULTILINE - テキスト文字列が長すぎて四角形のボタンで1行に収まらない場合は、追加の行に折り返して、全体を表示します。
- BS_NOTIFY - ボタンが、通知メッセージ BN_DBLCLK、BN_KILLFOCUS BN_SETFOCUS を、その親ウィンドウに送信できるようにします。
ボタンは、通知メッセージ BN_CLICKED を、このスタイルの有無にかかわらず、送信することに注意してください。
- BS_PUSHLIKE - コマンドボタンのような外観で、動作するボタン(スイッチ、3つの状態のスイッチ、ラジオボタンなど)を作成します。
ボタンが押されていないか選択されていないときは凸状の外観で、ボタンが押されている、または選択されている場合は凹形になります。
- BS_RIGHT - テキストを、ボタンの矩形で右揃えします。
ただし、ボタンが、フラグまたは>ラジオ"ボタンのためのウインドウ(それは、BS_RIGHTBUTTON スタイル を持ちません)ならば、テキストは、フラグまたは"ラジオ"ボタンのために、ウインドウの右側に、右揃えになります。
- BS_RIGHTBUTTON - "ラジオ"ボタンの輪または、ウィンドウボックスのチェックボックスを、四角形のボタンの右側に設定します。
BS_LEFTTEXT と同じスタイルです。
- BS_TEXT - ボタンが、テキストを表示することを指定します。
- BS_TOP - テキストボックスを、ボタンの上部に設定します。
- BS_VCENTER - テキストを、四角形のボタンの中央(垂直方向)に設定します。
参考:
ボタンスタイル
https://docs.microsoft.com/ja-jp/cpp/mfc/reference/styles-used-by-mfc
コントロールのウィンドウスタイル
http://chokuto.ifdef.jp/urawaza/prm/ctl_style.html
ウィンドウを作る
http://wisdom.sakura.ne.jp/system/winapi/win32/win7.html
ボタン類
http://www-higashi.ist.osaka-u.ac.jp/~k-maeda/vcpp/sec8-1button.html
プッシュボタンコントロール
http://mrxray.on.coocan.jp/Halbow/Chap06.html
http://mneniya.ucoz.ru/
ロシア語オリジナル:https://users.freebasic-portal.de/freebasicru/window9lib/window9.html