by konisi » 2006年3月29日(水) 22:33
すんません、CreateDialogではなくDialogBoxでした。
適当に組んでみる。 [ここをクリックすると内容が表示されます] [ここをクリックすると非表示にします]MainWnd.sbp
コード: 全て選択
'-----------------------------------------------------------------------------
' イベント プロシージャ
'-----------------------------------------------------------------------------
' このファイルには、ウィンドウ [MainWnd] に関するイベントをコーディングします。
' ウィンドウ ハンドル: hMainWnd
' TODO: この位置にグローバルな変数、構造体、定数、関数を定義します。
Dim Check$ As String
Dim FileName$ As String
'-----------------------------------------------------------------------------
' ウィンドウメッセージを処理するためのコールバック関数
Function MainWndProc(hWnd As HWND, dwMsg As DWord, wParam As WPARAM, lParam As LPARAM) As DWord
' TODO: この位置にウィンドウメッセージを処理するためのコードを記述します。
' イベントプロシージャの呼び出しを行います。
MainWndProc=EventCall_MainWnd(hWnd,dwMsg,wParam,lParam)
End Function
'-----------------------------------------------------------------------------
' ここから下は、イベントプロシージャを記述するための領域になります。
Sub MainWnd_Destroy()
siyoukyodaku_DestroyObjects()
PostQuitMessage(0)
End Sub
Sub MainWnd_Create(ByRef CreateStruct As CREATESTRUCT)
Dim Flag1=0 As Long
Check$="許諾書を見たと判断するためのファイル"'許諾書に同意したときにFileName$内の文字列(fast.ini)に記録される文字列
FileName$="fast.ini"'ファイル名
Open FileName$ For Append As #1
Close #1
Flag1=Check()
If Flag1=1 then'使用許諾書を見ていないと判断されたら
DialogBox(hMainWnd,"A")'使用許諾書を表示
End If
End Sub
Function Check() As Long
Dim A$ As String
'ファイルの内容を読み取る
Open FileName$ As #1
Field #1,Lof(1)
Input #1,A$
Close #1
'文字列が等しいかどうかの判断
If A$=Check$ then
Check=0
Else
Check=1
End If
End Function
Sub CreateMineFile()
Open FileName$ As #1
Field #1,Len(Check$)
Write #1,Check$
Close #1
End Sub
A.sbp
コード: 全て選択
'-----------------------------------------------------------------------------
' イベント プロシージャ
'-----------------------------------------------------------------------------
' このファイルには、ウィンドウ [A] に関するイベントをコーディングします。
' ウィンドウ ハンドル: hA
' TODO: この位置にグローバルな変数、構造体、定数、関数を定義します。
'-----------------------------------------------------------------------------
' ウィンドウメッセージを処理するためのコールバック関数
Function AProc(hWnd As HWND, dwMsg As DWord, wParam As WPARAM, lParam As LPARAM) As DWord
' TODO: この位置にウィンドウメッセージを処理するためのコードを記述します。
' イベントプロシージャの呼び出しを行います。
AProc=EventCall_A(hWnd,dwMsg,wParam,lParam)
End Function
'-----------------------------------------------------------------------------
' ここから下は、イベントプロシージャを記述するための領域になります。
Sub A_CommandButton2_Click()'同意しない を押したら
MainWnd_Destroy()'ソフトを終了させる
EndDialog(hA,0)'許諾書を閉じる
End Sub
Sub A_CommandButton1_Click()'同意する を押したら
CreateMineFile()'専用ファイルを出力する
EndDialog(hA,0)'許諾書を閉じる
End Sub
Sub A_Create(ByRef CreateStruct As CREATESTRUCT)
Dim Print$ As String
'許諾書に表示する文字列を代入する。
Print$=Ex"これは許諾書です。\r\nソース内で改行したい所は\\r\\nと入れます。"
SetWindowText(GetDlgItem(hA,EditBox1),Print$)
End Sub
Sub A_EditBox1_Change()'ボックス内の文字列が変更されたら
Dim CreateStruct As CREATESTRUCT
A_Create(CreateStruct)'強制的に元に戻す
End Sub
それなりに適当なので参考程度にしてください。
すんません、CreateDialogではなくDialogBoxでした。
[hide=適当に組んでみる。]MainWnd.sbp[code]'-----------------------------------------------------------------------------
' イベント プロシージャ
'-----------------------------------------------------------------------------
' このファイルには、ウィンドウ [MainWnd] に関するイベントをコーディングします。
' ウィンドウ ハンドル: hMainWnd
' TODO: この位置にグローバルな変数、構造体、定数、関数を定義します。
Dim Check$ As String
Dim FileName$ As String
'-----------------------------------------------------------------------------
' ウィンドウメッセージを処理するためのコールバック関数
Function MainWndProc(hWnd As HWND, dwMsg As DWord, wParam As WPARAM, lParam As LPARAM) As DWord
' TODO: この位置にウィンドウメッセージを処理するためのコードを記述します。
' イベントプロシージャの呼び出しを行います。
MainWndProc=EventCall_MainWnd(hWnd,dwMsg,wParam,lParam)
End Function
'-----------------------------------------------------------------------------
' ここから下は、イベントプロシージャを記述するための領域になります。
Sub MainWnd_Destroy()
siyoukyodaku_DestroyObjects()
PostQuitMessage(0)
End Sub
Sub MainWnd_Create(ByRef CreateStruct As CREATESTRUCT)
Dim Flag1=0 As Long
Check$="許諾書を見たと判断するためのファイル"'許諾書に同意したときにFileName$内の文字列(fast.ini)に記録される文字列
FileName$="fast.ini"'ファイル名
Open FileName$ For Append As #1
Close #1
Flag1=Check()
If Flag1=1 then'使用許諾書を見ていないと判断されたら
DialogBox(hMainWnd,"A")'使用許諾書を表示
End If
End Sub
Function Check() As Long
Dim A$ As String
'ファイルの内容を読み取る
Open FileName$ As #1
Field #1,Lof(1)
Input #1,A$
Close #1
'文字列が等しいかどうかの判断
If A$=Check$ then
Check=0
Else
Check=1
End If
End Function
Sub CreateMineFile()
Open FileName$ As #1
Field #1,Len(Check$)
Write #1,Check$
Close #1
End Sub[/code]A.sbp[code]'-----------------------------------------------------------------------------
' イベント プロシージャ
'-----------------------------------------------------------------------------
' このファイルには、ウィンドウ [A] に関するイベントをコーディングします。
' ウィンドウ ハンドル: hA
' TODO: この位置にグローバルな変数、構造体、定数、関数を定義します。
'-----------------------------------------------------------------------------
' ウィンドウメッセージを処理するためのコールバック関数
Function AProc(hWnd As HWND, dwMsg As DWord, wParam As WPARAM, lParam As LPARAM) As DWord
' TODO: この位置にウィンドウメッセージを処理するためのコードを記述します。
' イベントプロシージャの呼び出しを行います。
AProc=EventCall_A(hWnd,dwMsg,wParam,lParam)
End Function
'-----------------------------------------------------------------------------
' ここから下は、イベントプロシージャを記述するための領域になります。
Sub A_CommandButton2_Click()'同意しない を押したら
MainWnd_Destroy()'ソフトを終了させる
EndDialog(hA,0)'許諾書を閉じる
End Sub
Sub A_CommandButton1_Click()'同意する を押したら
CreateMineFile()'専用ファイルを出力する
EndDialog(hA,0)'許諾書を閉じる
End Sub
Sub A_Create(ByRef CreateStruct As CREATESTRUCT)
Dim Print$ As String
'許諾書に表示する文字列を代入する。
Print$=Ex"これは許諾書です。\r\nソース内で改行したい所は\\r\\nと入れます。"
SetWindowText(GetDlgItem(hA,EditBox1),Print$)
End Sub
Sub A_EditBox1_Change()'ボックス内の文字列が変更されたら
Dim CreateStruct As CREATESTRUCT
A_Create(CreateStruct)'強制的に元に戻す
End Sub
[/code][/hide]
それなりに適当なので参考程度にしてください。