新しいウインドウ(コントロール)を作成する
新しいウインドウ(コントロール)を作成するサンプルです。
サンプルの実行画面
ソースコード
[CreateWindowEx.frm]
'新しいウインドウ(コントロール)を作成するAPI
'<引数>
'dwExStyle: 常に0
'lpClassName: クラス名
'lpWindowName: ウインドウのキャプション
'dwStyle: 定数(WS_××とBS_××参照)
'x: ウインドウのx座標
'y: ウインドウのy座標
'nWidth: ウインドウの幅
'nHeight: ウインドウの高さ
'hWndParent: 親ウインドウのハンドル(親がないとき 0)
'hMenu: メニューのハンドル(0にしています )
'hInstance: モジュールのインスタンスハンドル(0にしています)
'lpParam: 常に0
'@戻り値@
'正常終了のときウインドウのハンドル
Private Declare Function CreateWindowEx Lib "USER32" Alias "CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName As String, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As Long, ByVal hMenu As Long, ByVal hInstance As Long, lpParam As Any) As Long
'DestroyWindow=>ウインドウを破棄する
'<引数>
'hWnd:CreateWindowExで作成したウインドウのハンドル
'<戻り値>
'正常終了0以外
Private Declare Function DestroyWindow Lib "USER32" (ByVal hWnd As Long) As Long
Const WS_CHILD = &H40000000
Const WS_VISIBLE = &H10000000
Const BS_PUSHBUTTON = &H0& 'コマンドボタン
Const BS_AUTOCHECKBOX = &H3 'チェックボックス
Const BS_AUTORADIOBUTTON = &H9 'オプションボタン
Const BS_GROUPBOX = &H7 'フレーム
Dim Ret(3) As Long 'CreateWindowExで作成したウインドウのハンドル
Private Sub Command1_Click()
'コマンドボタン作成
Ret(0) = CreateWindowEx(0, "Button", "CommandButton1", _
WS_CHILD Or WS_VISIBLE Or BS_PUSHBUTTON, _
20, 20, 120, 140, Form1.hWnd, 0, 0, 0)
'チェックボックス作成
Ret(1) = CreateWindowEx(0, "Button", "CheckBox1", _
WS_CHILD Or WS_VISIBLE Or BS_AUTOCHECKBOX, _
150, 20, 120, 40, Form1.hWnd, 0, 0, 0)
'オプションボタン作成
Ret(2) = CreateWindowEx(0, "Button", "OptionButton1", _
WS_CHILD Or WS_VISIBLE Or BS_AUTORADIOBUTTON, _
150, 60, 120, 40, Form1.hWnd, 0, 0, 0)
'フレーム作成
Ret(3) = CreateWindowEx(0, "Button", "Frame1", _
WS_CHILD Or WS_VISIBLE Or BS_GROUPBOX, _
150, 100, 120, 60, Form1.hWnd, 0, 0, 0)
End Sub
Private Sub Form_Unload(Cancel As Integer)
'ウインドウを破棄する
For i = 0 To 3
Re = DestroyWindow(Ret(i))
Next
End Sub
ソースコード一式のダウンロード
vbapi_createwindow.zip 1.35 KB (1,385 バイト)
このサンプルの動作環境について
このサンプルは 「Windows98」及び「Microsoft Visual Basic 5.0 Professional Edition」で確認しております。環境が異なる場合は正常に動作しない場合もございますのでご了承下さい。
スポンサーリンク
関連記事
公開日:2015年03月06日
記事NO:00414
プチモンテ ※この記事を書いた人
![]() | |
![]() | 💻 ITスキル・経験 サーバー構築からWebアプリケーション開発。IoTをはじめとする電子工作、ロボット、人工知能やスマホ/OSアプリまで分野問わず経験。 画像処理/音声処理/アニメーション、3Dゲーム、会計ソフト、PDF作成/編集、逆アセンブラ、EXE/DLLファイルの書き換えなどのアプリを公開。詳しくは自己紹介へ |
| 🎵 音楽制作 BGMは楽器(音源)さえあれば、何でも制作可能。歌モノは主にロック、バラード、ポップスを制作。歌詞は抒情詩、抒情的な楽曲が多い。楽曲制作は🔰2023年12月中旬 ~ | |









