プロが教えるわが家の防犯対策術!

環境 WindowsXP SP3.0 VB6.0

宜しくお願いします。
表題通り、A.frm,B.frmという異なったフォームがあり、A.Bの処理で同一C.frmを
C.Show 1 とモーダルで表示しています。

ここで、呼び出し元A,Bによって、C内部の処理を変えたいのですが
Cの呼び出し元がAなのかBなのか、判定させるよいルーチンが思いつきません。
CのForm.Loadの引数に与えようと考えたのですが当然構文エラーになります。
Public変数を宣言して適当なパラメータを格納しC内で判定すればよい
とは思うのですが、それはなるべく避けたいのです。

プロジェクト的には、A.vbpとB.vbpにフォームとしてC.frmを取り込んでいます。

よいアイデアや検索のヒントがあればご教授ください。

A 回答 (3件)

ANo.2 訂正


Public Property Get Mode() As Integer
    • good
    • 0

FormC



Private mnMode As Integer

Public Property Let Mode (n As Integer)
  mnMode = n
End Property

Public Property Get Mode As Integer
  mode = mnMode
End Property


FormA

  Dim frmC As FormC

  Set frmC = New FormC
  frmC.Mode = n
  frmC.Show 1
  Debug.Print frmC.Mode
    • good
    • 0

長らくVB触ってないのでアテになるか分かりません


何をどのタイミングでしたいのか分からないのでアテずっぽうで適当に考えてみました。

これもpublic変数持たせるのと大差無い気もしますが
'''FromC側
Private yobidashi as String
Public Sub Hantei(hikisu as String)
yobidashi = hikisu
End Sub

'''FromAとB
dim c as FormC
set c = new Fromc ' ここでInitialize
c.Hantei("A")
' c.Hantei("B")
c.show


要するにFormを表示する前にごにょごにょする。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!