新しいウインドウ(コントロール)を作成する
新しいウインドウ(コントロール)を作成するサンプルです。
サンプルの実行画面
ソースコード
[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