Visual BASICで Mainフォームからある操作をしたときに、子フォーム(グリッド)を 「子フォーム名.show」 の命令で表示させています。
その子フォームを閉じたくないのに、Mainフォームをマウスでクリックすると子フォームが閉じてしまいます。
べつに、Mainフォームのマウスダウンイベントで子フォームを閉じる命令は記述していないのですが。
また、「子フォーム名.show」と「子フォーム名.visual=true」とではなにが違うのですか?
分かる方がおられましたが教えてください。

A 回答 (3件)

Mainフォームがアクティブになっているだけで、子フォームは


閉じられていないのではないでしょうか?

子フォーム名.Show vbModeless, Me

とすれば、親フォームより後ろになることはありません。

まあ、親フォームを触らせないようにするのなら、

子フォーム名.Show vbModal

でもよいですが・・・。
    • good
    • 0
この回答へのお礼

ご教示ありがとうございました。なるほど、子フォームは消えてはいず、下に隠れていました。子フォーム名.Show vbModeless, Me として解決しました。
今後ともよろしくお願いします。

お礼日時:2001/04/19 23:12

まず、Visual=TrueではなくてVisible=Trueです。


これについてはヘルプのVisibleプロパティ項に下記の記載があります。
「フォームの Show メソッドまたは Hide メソッドを使うことは、フォームの Visible プロパティをコードで真 (True) または偽 (False) に設定することと同じです。」
という事なので素直に
Show = (Visible = True)
Hide = (Visible = False)
と考えましょう。

また、子フォーム表示中に親フォームをクリック出来る
という事は、間違い無く、モードレスウィンドウで
表示させていると思われますが、このとき親フォームを
クリックして子フォームが閉じられることは絶対に
ありません。したがって、イベントプロシージャに
Unloadが記述されている可能性大です。
MouseDownイベントだけではなく、
子フォームのClick、Activateイベント
あるいは子フォームのLostFocusイベントなども
調査する必要があるのではないでしょうか?
シングルステップでデバックしてみてはいかがでしょうか。
    • good
    • 0
この回答へのお礼

詳しい解説、ありがとうございました。 Visible と Show の関係が似ていてよく分からなかったのでが、これで明快になりました。
今後ともよろしくお願いします。

お礼日時:2001/04/19 23:20

要するに親フォームから呼び出された子フォームが表示されている間は親フォームの操作ができないようになればいいのですよね?


子フォームを開くときに
「子フォーム名.show 1」
と記述してください。
そうすると子フォームが表示されている間は親フォームの操作は行えなくなるので、勝手に消えちゃうことはなくなりますよ。

showとVisual=Trueは表示する処理と見えないように表示しているものを見えるようにすると言うような違いがあるのではないでしょうか。
だからVisual=falseの状態でshowとしても表示されないと思います。
    • good
    • 0
この回答へのお礼

ご教示ありがとうございました。子フォームは消えてはいず、下に隠れていました。「子フォーム名.show 1」 とすると、不用意にメインフォームに戻らなくできることが確かめられました。これは使えそうです。今後ともよろしくお願いします。

お礼日時:2001/04/19 23:16

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QAccess2000のフォームでのフォームのIMEが、2度目以降変更してしまう。

アクセス初心者です。
Accsss2000のフォームでのデータ入力を楽におこなうために、例えば名前ならばテキストボックスのプロパティシートのその他タブから、IME入力モードをオンにしてかつIME変換モードを人名/地名に変更したのですが、1回目の入力はIMEが全角・人名モードになるのですが、2度目以降は半角カタカナ・人名/地名モードになってしまいます。全角ではありません。なぜでしょうか?
また上のタブにIME入力モード保持というのもありますが、どういう時に利用すればよいのでしょうか?

Aベストアンサー

> 1回目の入力はIMEが全角・人名モードになるのですが、
> 2度目以降は半角カタカナ・人名/地名モードになってしまいます。

恐らく、1回目の入力から2回目に当該テキストボックスへの移動までの
間に、半角カタカナを指定したテキストボックス(またはコンボボックス)を
経由しているのではないでしょうか。
(或いは『IME 入力モード』が「オフ」や「使用不可」、または英数系?)

ともあれ、回避策としては、『IME 入力モード』を、現在の「オン」から
「ひらがな」に変更します。
(「オン」は、「ひらがな/全角カタカナ/半角英数」などのモードを特に指定
 しない場合に使用します。そのため、特定モードで固定したい場合は、
 それに合わせた設定値(ここでは「ひらがな」)を指定する必要がある、
 ということです)


> 上のタブにIME入力モード保持というのもありますが、どういう時に
> 利用すればよいのでしょうか?

私自身はこの設定は使用していないのですが・・・(汗)

例えば、取引情報を入力する場合、『企業略称』テキストボックスには
「アルファベットの略称」や「漢字の略称」、「カタカナの略称」がそれぞれ
連続することになります。
このとき、同テキストボックスの『IME 入力モード』を「ひらがな」などに固定
してしまうと、アルファベットやカタカナの略称のデータを入力する際には
毎回手動で「全角カタカナ」や「半角英数」に切り替える・・・という使い方を
する方もいる可能性があります。
『IME 入力モード保持』は、恐らくそういう場合を想定した機能ではないかと
思います。
(もちろん、ひらがなからの変換で全角カタカナや半角英数に変換するように
 している人の場合は、切替は不要ですので、この設定は使用しなくても
 かまわないことになります)

> 1回目の入力はIMEが全角・人名モードになるのですが、
> 2度目以降は半角カタカナ・人名/地名モードになってしまいます。

恐らく、1回目の入力から2回目に当該テキストボックスへの移動までの
間に、半角カタカナを指定したテキストボックス(またはコンボボックス)を
経由しているのではないでしょうか。
(或いは『IME 入力モード』が「オフ」や「使用不可」、または英数系?)

ともあれ、回避策としては、『IME 入力モード』を、現在の「オン」から
「ひらがな」に変更します。
(「オン」は、...続きを読む

QVBのグリッドにてマウスクリックでセル位置を正確に取得したい

Visual BASIC でアクティブコンポーネントのグリッド(表)を使用しています。

●グリッドのセルをマウスでクリックした時に、そのセルの列と行の位置番号を
正確に取得したいのですが、1列ある見出し列(行)をクリックしても 1(本来は 0)が、最初のデータ列(行)をクリックしても 1が返り、同じため正しく処理できません。(データのセルは正しく番号が取得できます。)
どうしたら、クリックしたセルが見出し列(行)かどうか判別できますか?

●また、マウスをドラッグして複数のセルの範囲を取得したいのですがマウスDown と マウスUp イベントで列(行)番号を取得してもどちらも、マウスDown 時の値が返り、範囲となっていません。どうしたら、範囲を認識できますか。
分かるかたがおられたら教えてください。
(片方でも結構です。)
Visual BASIC は Version 5 です。

Aベストアンサー

見出し部分のクリック取得は、MouseRow、MouseColで
取得できると思います。

範囲選択では、
Row:選択開始行
Col:選択開始列
RowSel:選択終了行
ColSel:選択終了列
で取得できると思います。

Qフォーム等入力時においてIMEが働かない(?)

よく起こる現象で、インターネットでフォーム入力や、Yahooとかの検索入力で日本語入力をしたいときに、IMEが働かない現象が起きています。半角英数のみ入力ができます。私の環境だけでしょうか‥。
キーボードの「半角/全角」キーが効かないので、IMEツールバーを出して、マウスで日本語入力の「あ」にしても入力画面では半角英数に戻ったりします。
Wordやメモ帳を起動すると、正常に働くので、メモ帳を立ち上げてそこへ入力して、コピーしてペーストをしたりして対処をしています・・。
常にメモ帳を立ち上げておけば解決とかの意味ではありません。
IEをアクティブウィンドウにした場合、IMEが働くなくのです。

Aベストアンサー

確かIEのバグだったと思います。

対処法のリンクを貼っておきますので、参考にしてください。
http://www.tku.ac.jp/~densan/local/ie7-ime/ie7-ime.html

Qフォーム上に表示した地図から、施設名や学校名などを非表示にしたり、表示したりするには

いつもお世話になっています。
業務でMapDk5という開発ツールを使って、VB2005で
地図のアプリケーションを作成しています。

これらを使って、フォーム上に表示した地図から、例えば施設名
や、学校名、有料道路名などを非表示にしたり、表示したり
する事は可能なのでしょうか。

今日一日中調べてみたのですが、これといった方法がみつからず
困っています。
もし、実現する方法を知っている方がいましたら教えてください。
よろしくお願いします。

Aベストアンサー

それは開発ツールがなんであるかは関係なく、地図データの問題ではないでしょうか?

極端な話、地図データが画像で、全ての情報(道路、建物、施設名)が一緒くたに入っていると、これを選択できるようにしろと言われても、できない相談です。

逆を言えば、今やりたいことを実現するには、こうした情報を単独で保持したデータを組み合わせて表示するしかないと思います。

独力でこうしたデータを構築するのは、ごく身近な場所に限定しない限りは困難ですから、アトラスや昭文社などの地図出版社が出している地図ソフトのデータを借用するなど(ただしライセンス条件に注意が必要)、外部からデータを調達するのが現実的でしょう。

QWebフォームのIMEモードを入力項目毎に自動切替

ある人と話していて、議論になったので質問します。世の中にはたくさんのウェブフォームがあって、名前や住所、電話番号などの登録情報を入力することが多々あります。あまり深く考えたことはなかったのですが、私はなんとなく、「名前や住所のテキスト入力時には自動的にIMEの入力モードが日本語(ひらがな)になり、電話番号やメールアドレスのテキスト入力時には英数になる」ものだと思っていました。自分でIMEを操作することなく、テキストフィールドにタブで移動したりもしくはマウスをクリックしたときにアプリケーション側で制御されるものが大半だと思っておりました。それを聞いてある人は「そんなことはない、世の中の大半のアプリはそんなことを制御していない、「普通」は自分でIMEで制御しながら入力するものだ」、と言っていたので議論になりました。これからウェブサイトを作ろうと思っているので、最終的にはこの議論はアプリ側にそのような実装をするかどうかというところに帰着するのですが、まずは「一般的にどうなのか」というところでご意見を頂きたいと思います。ちなみに、日本のメジャーなサイト(航空会社、ポータル、携帯電話、電気屋)10個でユーザ登録フォームを確認したところ、名前欄をクリックしてもいずれもIMEのモードはひらがなに変更されませんでした。そこで今は友人が正しくて、僕が間違っていたどころか、「そもそも、名前入力時に自動的にひらがなにモード変換されるようなサイトって本当にあるのだろうか。。」というような状態になっております。どなたか、教えてください。よろしくお願いします。

ある人と話していて、議論になったので質問します。世の中にはたくさんのウェブフォームがあって、名前や住所、電話番号などの登録情報を入力することが多々あります。あまり深く考えたことはなかったのですが、私はなんとなく、「名前や住所のテキスト入力時には自動的にIMEの入力モードが日本語(ひらがな)になり、電話番号やメールアドレスのテキスト入力時には英数になる」ものだと思っていました。自分でIMEを操作することなく、テキストフィールドにタブで移動したりもしくはマウスをクリックしたときにア...続きを読む

Aベストアンサー

IMEのON/OFFができるスタイルシート「ime-mode」は、Internet Explorerが独自に追加した仕様で、Internet Explorerでは入力モードが切り替わりますが、その他のブラウザでは保証されません。
http://www.htmq.com/style/ime-mode.shtml

今、確認したところ、IE8はもちろん切り替わり、Firefox 3.6も切り替わりましたが、Google Chromeは切り替わりませんでした。
Opera,Safari,Sleipnir…等は試してません。

大手のサイトでは「より多くのブラウザで表示できること」が求められますので、独自仕様の「ime-mode」を使っているところは少ないのではないでしょうか。
逆に「Internet Explorerしか表示できなくて良い」と割り切ってるサイトや、社内だけに公開するようなページは「ime-mode」が使われていると思います。

QVisual Studio.NETとVisual Basic 6.0

Visual Studio.NETとVisual Basic.NETには、ActiveXコントロールを作成する機能はありますか?

よろしくお願いします。

Aベストアンサー

あります。

QACCESS フォーム上 テキストボックスを移動するごとに文字の入力モードが戻ってしまう

ACCESSでフォーム上で入力をしています。
テキストボックスを移動するごとに半角英数になってしまい非常に不便です。

テーブルではIME入力モード:ひらがな、IME返還モード:一般としています。
テーブルのデザインビューの状態では指定している通りのひらがなで入力できるのが、フォームになると半角英数の状態です。
フォームのプロパティから何か設定を変更しなければいけないのでしょうか?
よろしくお願い致します。

Aベストアンサー

maigo-no-konekoさん
ACCESS2000では次の機能があります。
テーブルの項目定義のIMEの設定内容が引き継がれる仕様なのか
否か不明ですが、フォームの定義画面でテキスト項目やコンボボックス
など入力項目毎に指定します。
(ただし、シフトキーを押しながらマウスクリックすることで
複数選択できます)

1)テキストポックスのプロパティ画面を呼び出します。
2)その他 タブにIME関連の項目があります。
  IME入力モード保持 直前に入力した項目のIMEの入力設定
  状態を引き継ぐ場合は「はい」にします。直前の入力項目の
  設定によらない場合は「いいえ」にします。
  IME入力モード オンまたはひらがな等にします。
           ここでご希望の入力方法を選択します。
  IME変換モード 一般(人名や地名などを入力す場合は
  人名/地名)にします。

QVisual SourceSafeとvisual studioを連動したい

こんにちは、
WINDOWS VISTAに
Visual SourceSafe8と
visual studio2005をインストールし、
手始めに、Visual SourceSafeにて、ローカルに
チェックアウトを行い、チェックアウトしたファイルの
slnファイルをvisual studioで開いたのですが、
「セキュリティ上の理由により、Visual SourceSafe
インターネットプラグインではローカルパスを使用してデータベースにアクセスすることを許可していません。この問題を解決するには
データベースへの接続ウィザードを実行するか、または、Visual SourceSafe Adminの共有を経由してデータベースを開いてください」
と、表示されたのですが、
意味がよくわからず、設定参考になるサイトなどないでしょうか。

Aベストアンサー

うろ覚えのアドバイスになりますが、確か連動にはIIS(インターネットインフォメーションサービス)の設定とポートの設定が必要だったと思いますが、それは行われていますか?

コントロールパネル→管理ツール→インターネットインフォメーションサービス
で確認してみてください。

QAccess フォームのテキストボックスに半角英字のみで入力する設定は

IME入力モードをテーブル・フォームともオフにしたのですがひらがな入力モードになってしまいます。
フォームのテキストボックスに半角英字のみで入力する設定としてプロパティのIME入力モードをオフにするやり方自体が間違っているのでしょうか。
それともATOKを使っているなど利用するパソコン側の問題でしょうか

Aベストアンサー

IME入力モードを「使用不可」にしましょう。

QIE9 をマウスのボタンで閉じる時のダイアログ

Windows7のマシンを購入し、IE9 を使い始めたものです。

マウスのサイドボタンに「閉じる」の機能を割り当てて使っています。([X]ボタンまでマウスを進めるのが面倒なんです)

IE9の使い始めの頃、マウスのボタンでIE9を閉じようとすると「全てのタブを閉じますか?」というダイアログが表示されていました。

そのダイアログで「全てのタブを閉じる」にチェックをいれて[OK]ボタンを押すのが面倒で「次回からこのメッセージを表示しない」にチェックを入れてしまいました。

ところが、複数のタブがあるときに現在見ているタブのページを閉じるつもりでマウスのボタンを押してしまうミスを何度もしてしまうのです。(慣れって恐ろしいです)

今になってみると、あのダイアログが懐かしいです。もう一度あのダイアログを出す方法をご存じの方おられましたら教えてください。

IE9の「ツール」→「インターネットオプション」→「詳細設定」タブ の中にあるかと思って探しましたが見つかりませんでした。

Aベストアンサー

“ツール”をクリック
“インターネットオプション”をクリック
『全般』タブで「タブ」の“設定画面”をクリック
「複数のタブを閉じるときにメッセージを表示する」にチェックを入れてください。

Internet Explorer 8/9 のタブ操作終了時に
「すべてのタブまたは現在のタブを閉じますか?」を表示させない
http://pasofaq.jp/program/internetexplorer/ie8close.htm


人気Q&Aランキング

おすすめ情報