[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/01/31(Mon) 12:10
投稿者名:NAO
Eメール:
URL :
タイトル:
現在のフォーカスの位置を取得したい
みなさんこんにちは
画面上で、現在のフォーカスの位置を取得したいのですが、
できるでしょうか。
具体的には、If "現在のフォーカスの位置" = Text1 Then
のような文を記述したいのですが、
どなたか、分かる方教えて下さい。
ちなみにText1のGot_Focusに記述はできないのです。

投稿時間:2005/01/31(Mon) 12:26
投稿者名:ガッ
Eメール:
URL :
タイトル:
Re: 現在のフォーカスの位置を取得したい
> みなさんこんにちは
> 画面上で、現在のフォーカスの位置を取得したいのですが、
> できるでしょうか。
> 具体的には、If "現在のフォーカスの位置" = Text1 Then
> のような文を記述したいのですが、
> どなたか、分かる方教えて下さい。
> ちなみにText1のGot_Focusに記述はできないのです。
ActiveControl?

投稿時間:2005/01/31(Mon) 12:29
投稿者名:じゃんぬねっと
Eメール:
URL :http://jeanne.wankuma.com/
タイトル:
Re^2: 現在のフォーカスの位置を取得したい
じゃんぬねっと です。

> ActiveControl?

YES! Me.ActiveControl です。

hhttp://jeanne.wankuma.com/tips/form/23-activecontrol.html
hhttp://jeanne.wankuma.com/tips/control/15-focused.html

投稿時間:2005/01/31(Mon) 13:29
投稿者名:NAO
Eメール:
URL :
タイトル:
Re^3: 現在のフォーカスの位置を取得したい
返信ありがとうございます。
実は、標準モジュールに記述したのですが、
エラーがでまして、調査すると標準モジュールには
記述できないと書かれてありました。
どうしても標準モジュールに記述したいのですが、
何かいい方法はありますでしょうか。
ご存知でしたら教えて下さい

投稿時間:2005/01/31(Mon) 14:44
投稿者名:じゃんぬねっと
Eメール:
URL :http://jeanne.wankuma.com/
タイトル:
Re^4: 現在のフォーカスの位置を取得したい
じゃんぬねっと です。
質問内容が変わっているようですが、初めからこちらが聞きたかったのでしょうか?

> 実は、標準モジュールに記述したのですが、
> エラーがでまして、調査すると標準モジュールには
> 記述できないと書かれてありました。

そりゃ、標準モジュールはフォームのインスタンスでないからですね。

> どうしても標準モジュールに記述したいのですが、
> 何かいい方法はありますでしょうか。

対象となるフォームのインスタンス変数の ActiveControl プロパティを使用してください。
以下は極端な例になりますが、

【fromMain 側】
Call Hoge(Me)

【標準モジュール】
Public Sub Hoge(ByRef pForm As frmMain)
    If pForm.ActiveControl Is pForm.Text1 Then
        Call MsgBox("Text1 にフォーカスがあります")
    End If
End Sub

という感じに渡す必要があります。

しかしながら、標準モジュールで GUI に関わる処理はしないで欲しいものです。
標準モジュールとクラスモジュール (サブクラス化を除く) ではビジネスロジックのみを書きましょう。
hhttp://jeanne.wankuma.com/tips/rule/02-vb6oop.html

投稿時間:2005/01/31(Mon) 21:58
投稿者名:K.J.K.
Eメール:akiya@koalanet.ne.jp
URL :
タイトル:
Re: 現在のフォーカスの位置を取得したい
まず、標準モジュールにおかなければならない処理なのかどうか、
を考えてみては。

どうしても、標準モジュールにおくしかない、というのならば、
1,モジュールの変数としてどこかにおいておく。
2,Formsコレクションから該当するものを探す。
3,Screen.ActiveFormプロパティなどを使う。
辺りになるでしょう。

投稿時間:2005/02/03(Thu) 12:45
投稿者名:NAO
Eメール:
URL :
タイトル:
Re^2: 現在のフォーカスの位置を取得したい
いろいろ返信ありがとうございます。
標準モジュールに記述する方法は見送ります。
みなさんの意見は今後の参考にしていきます。
ありがとうございました。