サンプルコード

Autoit|GUIメニュー、ラジオボタン、チェックボックス、ボタンの色付けのサンプルコード1

今回は、ウィンドウにGUIメニュー、ラジオボタン、チェックボックス、ボタンを表示し、ボタンに色を付け、マウスカーソルをボタンの上に置くとアイコンが変わるというサンプルを紹介します。

さらに、各コントロール(ボタンやメニュー)に機能を追加していきます。

GUIMENU

サンプルコード

#include <GUIConstantsEx.au3> $Form1 = GUICreate("Win11_MoveTaskBar", 368, 265) GUISetBkColor(0xFFFBF0) $MenuItem1 = GUICtrlCreateMenu("ファイル") $MenuItem2 = GUICtrlCreateMenuItem("終了", $MenuItem1) $MenuItem3 = GUICtrlCreateMenu("ヘルプ") $MenuItem4 = GUICtrlCreateMenuItem("WEBサイトへ", $MenuItem3) $MenuItem5 = GUICtrlCreateMenuItem("バージョン情報", $MenuItem3) $Button1 = GUICtrlCreateButton("Button1", 8, 152, 163, 73) GUICtrlSetColor(-1, 0xFFFFFF) GUICtrlSetBkColor(-1, 0x0078D7) GUICtrlSetCursor(-1, 0) $Radio1 = GUICtrlCreateRadio("上", 24, 88, 113, 17) $Radio2 = GUICtrlCreateRadio("下", 184, 88, 113, 17) $Radio3 = GUICtrlCreateRadio("左", 24, 120, 113, 17) $Radio4 = GUICtrlCreateRadio("右", 184, 120, 113, 17) $Group1 = GUICtrlCreateGroup("1つ選択してください", 8, 64, 353, 81) GUICtrlCreateGroup("", -99, -99, 1, 1) $Checkbox1 = GUICtrlCreateCheckbox("チェックボックス", 184, 208, 169, 17) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 ; ----------------------------------------チェックボックスの判断 If GUICtrlRead($Radio1) = $GUI_CHECKED Then MsgBox(0, _CheckboxCheck(), '"上" が選択されています。', 0, $Form1) ElseIf GUICtrlRead($Radio2) = $GUI_CHECKED Then MsgBox(0, _CheckboxCheck(), '"下" が選択されています。', 0, $Form1) ElseIf GUICtrlRead($Radio3) = $GUI_CHECKED Then MsgBox(0, _CheckboxCheck(), '"左" が選択されています。', 0, $Form1) ElseIf GUICtrlRead($Radio4) = $GUI_CHECKED Then MsgBox(0, _CheckboxCheck(), '"右" が選択されています。', 0, $Form1) Else MsgBox(16, _CheckboxCheck(), "何も選択されていません", 0, $Form1) EndIf ; ------------------------------------チェックボックスの判断 終了 Case $MenuItem2; 終了 Exit Case $MenuItem4; WEBサイトへ ShellExecute("https://autoit.windows-waza.com/") Case $MenuItem5 MsgBox(0, "バージョン情報", "1.0.0.0", 0, $Form1); バージョン情報 EndSwitch WEnd Func _CheckboxCheck() If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then; チェックボックスがチェックされているかを判断 Return "チェックボックスはチェックされています" Else Return "チェックボックスはチェックされていません" EndIf EndFunc ;==>_CheckboxCheck

各コントロールの機能

メニュー

メニューは、ファイル、ヘルプの2つがあり、さらに「ファイル」の中に「終了」というサブメニューがあります。

「ヘルプ」のサブメニューには、「WEBサイトへ」と「バージョン情報」があります。

「終了」はプログラムを終了し、「WEBサイトへ」は、お使いのブラウザーで当サイトを開きます。

「バージョン情報」は、バージョン情報が書かれているメッセージボックスを表示します。

ラジオボタンとチェックボックス

ラジオボタンとチェックボックスは、チェックするのみです。

ボタン

ボタンは、マウスカーソルを乗せると手の形をしたアイコンに変わるようにしています。

ボタンをクリックすると、ラジオボタンとチェックボックスのチェック状況を確認し、メッセージボックスに表示します。

ボタンをクリックすると、ラジオボタンとチェックボックスのチェック状況を確認し、メッセージボックスに表示します。

コードの解説

GUISetBkColor(0xFFFBF0)

ウィンドウのバックグラウンドカラーを指定します。

GUICtrlCreateMenu

メインメニューを作成し、GUICtrlCreateMenuItem でサブメニューを作成します。

GUICtrlSetColor(-1, 0xFFFFFF)

ボタンに表示されるフォントの色を指定します。


GUICtrlSetBkColor(-1, 0x0078D7)

ボタンのバックグラウンドカラーを指定します。


GUICtrlSetCursor(-1, 0)

ボタンにマウスカーソルを乗せると手の形をしたアイコンになるように指定します。

GUICtrlCreateRadio

ラジオボタンを作成します。

GUICtrlCreateGroup

グループを作成してラジオボタンを囲みます。

複数の選択がある場合、グループで囲むと見やすくなります。

GUICtrlCreateCheckbox

チェックボックスを作成します。

ボタンの動作

ボタンをクリックすると、ラジオボタンとチェックボックスのチェックがされているかを判断します。

判断は、条件つき命令文の「IF」を使用しています。

; —————————————-チェックボックスの判断
If GUICtrlRead($Radio1) = $GUI_CHECKED Then
MsgBox(0, _CheckboxCheck(), ‘”上” が選択されています。’, 0, $Form1)
ElseIf GUICtrlRead($Radio2) = $GUI_CHECKED Then
MsgBox(0, _CheckboxCheck(), ‘”下” が選択されています。’, 0, $Form1)
ElseIf GUICtrlRead($Radio3) = $GUI_CHECKED Then
MsgBox(0, _CheckboxCheck(), ‘”左” が選択されています。’, 0, $Form1)
ElseIf GUICtrlRead($Radio4) = $GUI_CHECKED Then
MsgBox(0, _CheckboxCheck(), ‘”右” が選択されています。’, 0, $Form1)
Else
MsgBox(16, _CheckboxCheck(), “何も選択されていません”, 0, $Form1)
EndIf
; ————————————チェックボックスの判断 終了

ShellExecute(“https://autoit.windows-waza.com/”)

ShellExecute 関数で WEBサイト を開きます。

Func _CheckboxCheck()
If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then; もしも $Checkbox1 がチェックされていれば
Return “チェックボックスはチェックされています”
Else
Return “チェックボックスはチェックされていません”
EndIf
EndFunc ;==>_CheckboxCheck

ユーザー定義関数を作成し、チェックボックスがチェックされているかを判断します。

Return で返し値を指定します。

次の動画で動作をご確認ください。

https://youtu.be/_1ziujSJbwc

ユーザー定義関数を作成しておくと、長いコードを何度も書かなくて済みます。

今回は、ウィンドウにGUIメニュー、ラジオボタン、チェックボックス、ボタンを表示し、ボタンに色を付け、マウスカーソルをボタンの上に置くとアイコンが変わるというサンプルを紹介しました。

次回は、違う書き方でまったく同じ動作をするサンプルコードを紹介します。

コメント(降順)

タイトルとURLをコピーしました