vb6で開発しています初心者です。よろしくお願いします。
質問:フォーム1からフォーム2を表示するshowコマンドを書いたとき、フォーム2をフォーム1の後ろに表示するにはどうしたらよいのでしょうか?また、フォーム2の情報全体をリードオンリーの設定にしたいのですが、これは可能でしょうか?(フォーム2はフォーム1を編集するときの参考にするといった感じ。)
http://www2j.biglobe.ne.jp/~little-g/cgi-bin/vbtheme2.cgi
ここにサンプルあったけどAPI使わないと無理っぽい
(サンプル提示はしましたが、私自身動作の保障はしません。個人の責任で)
参照が最背面というのはそういう仕様なので仕方ないのでしょうが
私は前面でもいいと思うなぁ(w
ボタン押す>表示する>参照なり選ばせたりする>元の画面に反映する
私ならそんな感じにするかな〜
もうなんかトリッキーだね。
普通なら、「Form1を親としてForm2をモーダルで表示」だけど…
というわけで、少し実験してみました。
'1 Form1、Form2をつくる。
'2 Form1にCommandButton1を貼り付ける
'3 以下のコードをForm1のコードにする
'4 実行して、Form1のCommandButton1を押す
'5 アレマ!
Option Explicit
Private Sub Command1_Click()
Form2.Show
Me.Visible = False
Me.Show vbModal, Form2
End Sub
※実は誤爆してたりね。
ガッさん、葉月αさんありがとうございます。Modalいいです。まさに私の求めていたものはこれです!しかし、ここで困ったことが1つ出てきました。このボタンをメニューバーに作っていたのですが、か、Enabled=Falseでも Visible=False でも、このボタンは押せてしまいます。これはどうしたらよいでしょうか?(違う質問としてあげたほうがよかったかな?)
編集 削除> (違う質問としてあげたほうがよかったかな?)
そのようにすると大変うれしいです。
…「押せない状態」や「見えない状態」のメニューを堂々と押せるユーザが見たい…
>そのようにすると大変うれしいです。
はい、次回からそのようにさせていただきます。
>…「押せない状態」や「見えない状態」のメニューを堂々と押せるユーザが見たい…
つまりどういうことでしょう???上記の文章はメニューを隠す(使えなくする)っていう考えがそもそも間違っているっていうことを意味しているのでしょうか?
> Enabled=Falseでも Visible=False でも、このボタンは押せてしまいます。
というレスがあったので、使っているユーザが
押せないボタンを押したり、見えないボタンを押したりして困っているんだなー…
と考えたまでです。
> つまりどういうことでしょう???
> 上記の文章はメニューを隠す(使えなくする)っていう考えがそもそも間違っているっていうことを意味しているのでしょうか?
ユーザから見れば、使って欲しくないUIは極力選択不能(Enabled=False)の状態にしてほしいので、
この考えは真っ当です。
※再現できなかったので、再現できる情報を教えていただけるとうれしいですねぇ…
もし
>>Enabled=Falseでも Visible=False でも、このボタンは押せてしまいます。
というのであれば、ボタンクリックイベントの先頭に
If Command1.Enabled = False or Command1.Visible = False Then
Exit Sub
End If
と入れてみるとかね