掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
テキストボックスをプログラムで作成するには? (ID:113881)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
もし、「コントロールの動的生成」ではなく コードでコントロール(ウィンドウ)を作成したいのなら こんな感じ? (手抜きサンプルです。非実用的だし。) Option Explicit Private Const WS_CHILD = &H40000000 Private Const WS_VISIBLE = &H10000000 Private Const ES_RIGHT = &H2& Private Const BS_PUSHBUTTON = &H0& Private Const BS_RIGHT = &H200& Private Const BS_BOTTOM = &H800& Private Const LBL_LABEL1 As Long = 1000& 'スタティックのID Private Const TXT_TEXT1 As Long = 1010& 'エディトボックスのID Private Const CMD_CLOSE As Long = 1020 'えんどボタンのID 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 Long) As Long Dim hWnd_LBL_LABEL1 As Long Dim hWnd_TXT_TEXT1 As Long Dim hWnd_CMD_CLOSE As Long Private Sub Form_Load() Dim hInst As Long Me.BackColor = &HFFFFFF Me.Show hInst = App.HINSTANCE 'らべるを作る hWnd_LBL_LABEL1 = CreateWindowEx(0&, "static", "Label1", _ WS_CHILD + WS_VISIBLE, _ 30, 10, 100, 18, Me.hWnd, _ LBL_LABEL1, hInst, 0&) 'えでぃとぼっくすを作る hWnd_TXT_TEXT1 = CreateWindowEx(0&, "EDIT", "Text1", _ WS_CHILD + WS_VISIBLE + _ ES_RIGHT, _ 30, 40, 200, 50, Me.hWnd, _ TXT_TEXT1, hInst, 0&) 'えんどぼたんを作る hWnd_CMD_CLOSE = CreateWindowEx(0&, "BUTTON", "えんど", _ WS_CHILD + WS_VISIBLE + BS_PUSHBUTTON _ + BS_RIGHT + BS_BOTTOM, _ 130, 120, 100, 50, hWnd, _ CMD_CLOSE, hInst, 0&) Me.Refresh Me.BackColor = &HC0C0C0 End Sub このままではボタン押しても何も起きません。 イベント(Window Message)拾うにはサブクラス化するか、 LoopでPeekMessageする必要があります。 Formもコードで作成したいなら、もうちょっと長くなります。 ってもうVBの世界じゃない・・・。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.