tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルMDI内においてフォームを常に手前に表示する
記事No14034
投稿日: 2009/09/14(Mon) 13:25
投稿者けいま
みなさま いつも参考にさせています。ありがとうございます。

MDIで FORM1・・・入力用フォーム FIRM2・・・説明ガイドフォーム
と 作っておりまして

1.FORM1を表示させたら同時にFORM2を表示させる。
2.FORM2は別フォームにフォーカスが移ってもFORM1の上に表示させる。
とゆう 条件でつくっておりました。

こちらのサイトの ヘルプ一覧(http://hanatyan.sakura.ne.jp/vbhlp/pri_form.htm)を参考にさせていただきましたが、MDIChildフォームでは反映されないようです。
通常フォームでFORM2を表示させると、このAPに関係ない全てのウィンドウやダイアログの上に表示れています。

3.他のウインドウの上には表示しない。
4.出来れば このAPのダイアログの上には表示しない。
5.出来れば MDIフォームで行いたい。
これらの条件を追加しても可能な方法は あるのでしょうか?

よろしくご教授下さいませ。

[ツリー表示へ]
タイトルRe: MDI内においてフォームを常に手前に表示する
記事No14035
投稿日: 2009/09/14(Mon) 13:58
投稿者魔界の仮面弁士
> 1.FORM1を表示させたら同時にFORM2を表示させる。
> 2.FORM2は別フォームにフォーカスが移ってもFORM1の上に表示させる。
> とゆう 条件でつくっておりました。
> 3.他のウインドウの上には表示しない。
> 4.出来れば このAPのダイアログの上には表示しない。
> 5.出来れば MDIフォームで行いたい。

条件5 を満たせなくなってしまうかも知れませんが、
Form2 を通常フォームにするのでは駄目でしょうか?

If Not Form2.MDIChild Then
 Form2.Show vbModeless, MDIForm1
End If

[ツリー表示へ]
タイトル別のフォームのコントロールのKeyPressイベントを発生させたい
記事No14036
投稿日: 2009/09/14(Mon) 17:45
投稿者けいま
魔界の仮面弁士様 早速のレスありがとうございました。
MDIでは むずかしいようですね。
Form2.Show vbModeless, MDIForm1で
通常フォームで行うように致します。


追加の質問ですが
FORM1にテキストボックスがあるといたします。
FORM2から FORM1にあるテキストボックスに 文字を送ることは出来ましたが
ENTERキーを押下する(KeyPressイベントを発生させたい) とゆう事は出来るのでしょうか

*追加の質問はこのスレのままでよろしいでしょうか?不味ければ教えて下さい。

[ツリー表示へ]
タイトルRe: 別のフォームのコントロールのKeyPressイベントを発生させたい
記事No14037
投稿日: 2009/09/14(Mon) 18:48
投稿者魔界の仮面弁士
> FORM2から FORM1にあるテキストボックスに 文字を送ることは出来ましたが
> ENTERキーを押下する(KeyPressイベントを発生させたい) とゆう事は出来るのでしょうか

その意図にもよりますが、Form2 上で ENTER 押下されたことを
Form1 で受け取りたいという意味であれば、キー押下を受け取るために


≪Form1 側≫
 Private WithEvents GuideForm As Form
 Private Sub Form_Load()
  'Set GuideForm = New Form2
  Set GuideForm = Form2
  GuideForm.Show vbModeless, MDIForm1
 End Sub
 Private Sub GuideForm_KeyPress(ByRef KeyAscii As Integer)
  何かの処理
 End Sub

のようにすれば良いかと思います。


また、別に Enter 押下に拘らず、単にイベント発生時の処理を行わせたいだけであれば、

≪Form1 側≫
 Public Sub EnterKeyPressed()
  何かの処理
 End Sub
 Private Sib Form_KeyPress(ByRef KeyAscii As Integer)
  If KeyAscii = vbKeyReturn Then
   EnterKeyPressed(KeyAscii)
  End If
 End Sub

のようにしておき、この EnterKeyPressed メソッドを Form2 側から呼び出すとか。

[ツリー表示へ]
タイトル【お礼】 別のフォームのコントロールのKeyPressイベントを発生させたい
記事No14038
投稿日: 2009/09/14(Mon) 23:55
投稿者けいま
早速の ご返事ありがとうございます。
色々試してみます。

ヘルプ一覧にも同様の物があったようです。http://hanatyan.sakura.ne.jp/vbhlp/keyevent.htm

どうもありがとうございました。

[ツリー表示へ]