フォームの操作 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