ある掲示板から拾ってきたネタをヒントに、VB6 でも自分自身のフォームを Show できるんだよという話題。
例えば、認証フォームを作った時、これを呼び出す側から、以下のように使いたいと思うことはありませんか?
Dim 認証 As New 認証フォーム
Call Load(認証)
Dim R As Boolean: R = 認証.ShowDialog()
Call Unload(認証)
If (R) then
Call 認証成功処理
Else
Call 認証失敗処理
End If
こうするには、認証フォームを次のようにすれば良いのです。
Private キャンセルボタンが押された As Boolean
Public Function ShowDialog() As Boolean
キャンセルボタンが押された = False
Call Show(vbModal)
if (キャンセルボタンが押された) Then
ShowDialog = False
Exit Function
End If
ShowDialog = (ユーザー名とパスワードは一致している())
End Function
Private Sub Okボタン_Click()
キャンセルボタンが押された = False
Call Hide
End Sub
Private Sub Cancelボタン_Click()
キャンセルボタンが押された = True
Call Hide
End Sub
ソースコードは何も参考にせずにいきなり書き殴っただけなので、
動かないかもかもかも
ふいんき(何故か変換できないw)だけ掴んでくだちゃい。
-------------------------------------
ところで、 さんのところでも、VB ネタが話題になっています。
http://blogs.wankuma.com/episteme/archive/2006/11/17/45855.aspx
要ちぇーくっ!