SAK 図書館
VB テクニック編7 - コモンダイアログ、編集入力、コントロール制御、メニュー
■SAK 関数利用規程
・テクニック編で紹介する関数は、私こと Y.SAK の開発関数である。
・著作権明示部分の改編は認めない。
・個人、企業がこれらの関数を使用したり、一部を使用して新たなシステムや
プログラムを開発することは自由です。
・但し、これらの関数を一部でも使用しているソフトウェアをシェアウェア、
その他有償プロダクトとして配布・販売するには、私の許可が必要です。
(無償のフリーソフトウェアなら、自由に配布しても良い。)
・これらの関数を使用して発生した、いかなる形での損害も私こと Y.SAK は
賠償しません。
■コモンダイアログ表示
【使い方】
・コモンダイアログコンポーネントを CommonDialog1 として配置したとして、
オープンダイアログを表示する。
dim fnm as string
if ShowCommonDialog(CommonDialog1, "ファイルオープン", 0, _
"すべてのファイル(*.*)|*.*", fnm) Then
'** OK ボタンの処理
else
'** キャンセルボタンの処理
end if
msgbox fnm
'=======================================================================
' コモンダイアログ表示
'=======================================================================
'【引数】
' comd = コモンダイアログコントロール
' title = タイトル
' mode = ダイアログモード
' 0 = オープン
' 1 = 保存
' filt = フィルタ
' fnm = 【入出力】ファイルネーム
'【戻り値】
' boolean = 処理結果
' TRUE = OK ボタン
' FALSE = キャンセルボタン
'【処理】
' ・コモンダイアログを表示して、ファイル名を取得する。
'【著作権】
' ShowCommonDialog() ver 1.00 Copyright (C) 1999 Y.SAK
'【履歴】
' 1999.04.17 sak ver 1.00 新規作成
'=======================================================================
Public Function ShowCommonDialog(comd As Variant, title As String, mode As Integer, filt As String, fnm As String) As Boolean
Dim dirsv As String
'** コモンダイアログ表示
dirsv = CurDir
comd.DialogTitle = title
comd.InitDir = GetPath(fnm)
comd.FileName = GetFilename(fnm)
comd.Filter = filt
comd.CancelError = True
On Local Error Resume Next
If mode = 0 Then
comd.ShowOpen
Else
comd.ShowSave
End If
If Err = 0 Then
fnm = LCase(Trim(comd.FileName))
ShowCommonDialog = True
Else
ShowCommonDialog = False
End If
On Local Error GoTo 0
ChDrive Left(dirsv, 2)
ChDir dirsv
End Function
■編集入力セット
【使い方】
・テキストコントロールを Text1 として配置したとして、
編集入力状態にテキストを選択する。
text1 = "test data"
SetEdit text1
'=======================================================================
' 編集入力セット
'=======================================================================
'【引数】
' ctl = テキストコントロール
'【戻り値】
' なし
'【処理】
' ・テキストコントロールを文字選択した編集入力状態にする。
'【著作権】
' SetEdit() ver 1.00 Copyright (C) 1999 Y.SAK
'【履歴】
' 1999.04.17 sak ver 1.00 新規作成
'=======================================================================
Public Sub SetEdit(ctl as control)
'** 編集入力セット
ctl.SelStart = 0
ctl.SelLength = Len(ctl)
ctl.setfocus
End Sub
■コントロール制御
【使い方】
・全コントロールを入力や操作禁止にする。
CtlEnable Form1, Text1, FALSE
・全コントロールを入力や操作可能にする。
CtlEnable Form1, Text1, TRUE
'=======================================================================
' コントロール制御
'=======================================================================
'【引数】
' fm = フォーム
' ctl = 有効時フォーカスセットテキストコントロール
' ena = コントロール制御
' TRUE = 有効
' FALSE = 無効
'【戻り値】
' なし
'【処理】
' ・フォーム上のコントロールの制御をする。
'【著作権】
' CtlEnable() ver 1.00 Copyright (C) 1999 Y.SAK
'【履歴】
' 1999.04.17 sak ver 1.00 新規作成
'=======================================================================
Public Sub CtlEnable(fm As Form, ctl As control, ena As Boolean)
Dim i As Integer
'** コントロール制御
On Local Error Resume Next
For i = 0 To fm.Controls.Count - 1
fm.Controls(i).Enabled = ena
Next
If ena Then ctl.SetFocus
On Local Error GoTo 0
End Sub
■メニューチェック
【使い方】
・メニューコントロールにチェックを付けたり、はずしたりトグル処理を行う。
CheckMenu IDM_CHECK1
'=======================================================================
' メニューチェック
'=======================================================================
'【引数】
' ctl = メニューコントロール
'【戻り値】
' なし
'【処理】
' ・メニューチェックをトグル処理する。
'【著作権】
' CheckMenu() ver 1.00 Copyright (C) 1999 Y.SAK
'【履歴】
' 1999.04.17 sak ver 1.00 新規作成
'=======================================================================
Public Sub CheckMenu(ctl As Variant)
'** メニューチェック
If ctl.Checked Then
ctl.Checked = False
Else
ctl.Checked = True
End If
End Sub
■VB テクニック編資料
■VB 入門編資料
■VB 基礎編資料
■VB ビジュアル編資料