終了時の状態を保存 |
レジストリエントリを使ったやり方 (067) | |
GetSetting でレジストリの情報を読込み SaveSetting で書き込みます 詳しくはヘルプで調べて下さい。 サンプルは動作確認用です。ご使用時には適当なイベントでお使い下さい。 Option Explicit 'SampleNo=067 WindowsXP VB6.0(SP5) 2002.05.15 Private Sub Command1_Click() 'Microsoft Windows のレジストリにあるアプリケーションの項目から、 'キー設定値を返します。 'GetSetting(appname, section, key[, default]) 'appname アプリケーション名またはプロジェクト名(文字列式) 'section 対象となるキー設定があるセクション名(文字列式) 'Key 取得するキー設定名(文字列式) 'default キー設定に値が設定されていない場合に返す値 ' 省略すると、長さ 0 の文字列 ("") とみなされます。 Dim Wid As Long Dim Hei As Long 'レジストリからフォームのサイズを読込み Wid = Val(GetSetting("Myprogram", "startup", "FormSizeWi", "Wid")) Hei = Val(GetSetting("Myprogram", "startup", "FormSizeHi", "Hei")) 'デフォルトの場合 If Wid = 0 Then Wid = 3700 Hei = 3000 End If Me.Move 0, 0, Wid, Hei End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) Dim Ret As Integer Ret = MsgBox("終了時の状態を保存しますか", vbYesNo) If Ret = vbYes Then '現在のフォームサイズをレジストリに書込み SaveSetting "Myprogram", "startup", "FormSizeWi", Me.Width SaveSetting "Myprogram", "startup", "FormSizeHi", Me.Height Else '作成したレジストリを削除する場合 '書きこまれていない場合エラーが発生するので If GetSetting("Myprogram", "startup", "FormSizeWi", "") <> "" Then '作成したレジストリを全部削除 DeleteSetting "Myprogram" End If End If End Sub 部分的に削除する場合 DeleteSetting "Myprogram", "startup", "FormSizeHi" 下記のように作成されます。 レジストリ情報を見るには C:\WINDOWS\REGEDIT.EXE を起動して調べます。 注意:設定内容を無暗に変更すると起動しなくなったり、情報が失われる場合がありますので十分に注意してください。 WindowsXPの場合 HKEY_CURRENT_USER\Software\VB and VBA Program Settings\Myprogram\startup |
|
データファイルを作成する方法 (067) | |
|
レジストリの変わりにシーケンシャルファイルに書き込みます。 サンプルは動作確認用です。ご使用時には適当なイベントでお使い下さい。 Private Sub Command2_Click() Dim Wid As Long Dim Hei As Long Dim FileNo As Integer If Dir$("Starup.Txt") = "" Then 'ファイルが無い場合作成 '最初にメモ帳等でデータファイルを作成しておけば下記は必要無い FileNo = FreeFile Open "Starup.Txt" For Output As #FileNo Wid = 3700 Hei = 3000 Write #FileNo, Wid, Hei Close #FileNo End If 'データ読込み FileNo = FreeFile Open "Starup.Txt" For Input As #FileNo Input #FileNo, Wid, Hei Close #FileNo Me.Move 0, 0, Wid, Hei End Sub Private Sub Command3_Click() Dim Ret As Integer Dim Wid As Long Dim Hei As Long Dim FileNo As Integer Ret = MsgBox("終了時の状態を保存しますか", vbYesNo) If Ret = vbYes Then '現在のサイズを保管 FileNo = FreeFile Open "Starup.Txt" For Output As #FileNo Wid = Me.Width Hei = Me.Height Write #FileNo, Wid, Hei Close #FileNo End If End Sub |
2002/05/16