フォームの操作 3
右クリックメニューを制御する
フォーム上で右クリックをすると、ショートカットメニューが表示されます。ショートカットメニューの中には フォームデザインがあり、ユーザーによる誤操作などによってデザインを変更されないようにします。
「ShortcutMenu」プロパティをフォームの読み込み時に設定します。
Private Sub Form_Load() 'フォームを読み込んだ時に 「ShortcutMenu」を非表示にする Me.ShortcutMenu = False End Sub
移動ボタンとレコードセレクターを制御する
移動ボタンとレコードセレクターの表示を制御する方法です
Private Sub Form_Load() 'フォームを読み込んだ時に 「移動ボタン」を非表示にする Me.NavigationButtons = False End Sub Private Sub Form_Load() 'フォームを読み込んだ時に 「レコードセレクター」を非表示にする Me.RecordSelectors = False End Sub
テキストボックスのデータを改行する
テキストボックスのデータを改行するには[Crtl]+[Enter]を入力しますが、複数行のテキストボックス をメモ帳のように[Enter]キーだけで改行する方法です
Private Sub Form_Load() 'フォームを読み込んだ時にテキストボックス「メモ」を改行有効にする Me.メモ.EnterKeyBehavior = True End Sub
変更したデータを元に戻す
フォームのデータが変更された場合、その動作を取り消します。
Private Sub 取り消し_Click() '取り消しをクリックした時、変更したデータを元に戻す Me.Undo End Sub
特定のコントロール名をグループ化する
「Tag」プロパティを使って、フォームの複数のコントロールに名前を付けます。
その名前を使ってコントロールを制御します。
********************************************************************************* 'フォームのコントロールに「Tag」を使って名前を付ける「SetTagName」 Private Sub SetTagNm1() Me.Command1.Tag = "Cmd1" Me.Command2.Tag = "Cmd1" Me.Command3.Tag = "Cmd1" Me.Command4.Tag = "Cmd1" Me.Text1.Tag = "Txt1" Me.Text2.Tag = "Txt1" Me.Text3.Tag = "Txt1" Me.Text4.Tag = "Txt1" Me.Text5.Tag = "Txt1" End Sub Private Sub SetTagNm2() Me.Command1.Tag = "Cmd2" Me.Command2.Tag = "Cmd2" Me.Command3.Tag = "Cmd2" Me.Command4.Tag = "Cmd2" Me.Text1.Tag = "Txt2" Me.Text2.Tag = "Txt2" Me.Text3.Tag = "Txt2" Me.Text4.Tag = "Txt2" Me.Text5.Tag = "Txt2" End Sub ********************************************************************************* 'タグ名で可視・不可視を切り替える Private Function TagVisible() Dim MyControl As Control For Each MyControl In Me.Controls If MyControl.Tag = "Cmd1" Then MyControl.Visible = False ElseIf MyControl.Tag = "Cmd2" Then MyControl.Visible = True End If Next End Function ********************************************************************************* 'タグ名で背景を透明にし、ロックする Private Function TagStyle() Dim MyControl As Control For Each MyControl In Me.Controls If MyControl.Tag = "Txt1" Then MyControl.BackStyle = 0 MyControl.Locked = True MyControl.TabStop = False ElseIf MyControl.Tag = "Txt1" Then MyControl.BackStyle = 1 MyControl.Locked = False MyControl.TabStop = True End If Next End Function ********************************************************************************** 'フォームを読み込み時、Tagを使ってコマンドボタン名をグループ化する 'タグ名で可視・不可視を切り替える 'タグ名で背景を透明にし、ロックする Private Sub Form_Load() Call SetTagNm1 'SetTagNmの呼び出し Call TagVisible() Call TagStyle() End Sub ********************************************************************************** 'トルグボタンによって、可視・不可視、背景、編集ロックを制御する Private Sub トルグ_Click() If トルグ = True Then Call SetTagNm1 'SetTagNmの呼び出し Call TagVisible Call TagStyle Else Call SetTagNm2 'SetTagNmの呼び出し Call TagVisible Call TagStyle End Sub