[delphi-users:1058] 「無効/非表示ウィンドウにはフォーカスを設定できません」というメッセージは?

1,994 views
Skip to first unread message

knockwood

unread,
Apr 11, 2010, 2:37:58 AM4/11/10
to delphi...@freeml.com
お世話になります。Knockwoodです。

Delphi7を使うようになってから、IDE画面でフォームなどをいじって
いるとき「無効/非表示ウィンドウにはフォーカスを設定できません」
というメッセージがときどき出るようになりました。

特に困っているのは、特定のコントロールの上にマウスポインタを
載せるとこのエラーメッセージが出てしまって、ウィンドウを閉じ
ても、マウスポインタがコントロールの上にある限り何回でもこの
メッセージが出てしまうため、そのコントロールをクリックして
選択することができません。
現在わかっている特定のコントロールとは「TPDJButton」という
ボタンコントロールのコンポーネントです。海外のサイトで見つけた
ものです。

「無効/非表示ウィンドウにはフォーカスを設定できません」という
のはどんなときに出るのでしょうか?また回避する方法はあります
でしょうか?

以前、Delphi6を使っていたときは出たことがないのですが・・・

MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
メールだけでみんなをMLにカンタン招待!
http://ad.freeml.com/cgi-bin/sa.cgi?id=fnjLS
-----------------------------------------------------[freeml by GMO]--

Terry

unread,
Apr 11, 2010, 6:04:51 AM4/11/10
to delphi...@freeml.com
knockwood さん、こんにちは。Terry(寺田)です(^-^)

|「無効/非表示ウィンドウにはフォーカスを設定できません」という
|のはどんなときに出るのでしょうか?また回避する方法はあります
|でしょうか?

D5 では忘れた頃に発生します。発現条件はわかりませんが
F9 で実行させて IDE からいったん離れれば元に戻ります。
回避策でなくてすみません。

o(^^ )o--------⊆^U)┬┬~...
Terry


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
サークルの新メンバーを便利な@招待機能で一気に登録しよう!
http://ad.freeml.com/cgi-bin/sa.cgi?id=fnlMH

knockwood

unread,
Apr 11, 2010, 6:13:39 AM4/11/10
to delphi...@freeml.com

Terry 様、

コメントありがとうございます。

> |「無効/非表示ウィンドウにはフォーカスを設定できません」という
> |のはどんなときに出るのでしょうか?また回避する方法はあります
> |でしょうか?
>
> D5 では忘れた頃に発生します。発現条件はわかりませんが
> F9 で実行させて IDE からいったん離れれば元に戻ります。
> 回避策でなくてすみません。


これが出るときはたいてい一旦離れれば戻るのですが、今回のコントロール
に関しては離れても、マウスを載せるとまた発生します。
今回だけはどうにもたちのわるい現象みたいです。

MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
練習やMTGの予定は共有スケジュールへの登録を忘れずに!
http://ad.freeml.com/cgi-bin/sa.cgi?id=fnlSZ

p:nine

unread,
Apr 11, 2010, 9:25:00 PM4/11/10
to delphi...@freeml.com
シリアルゲームズ
細川と申します。

この例外は Enabled か Visible が Flase の時に Form.SetFocus; を呼ぶと出
ます。
そのコンポーネントの状態管理が間違っている可能性がありますが、もしもソー
スをいじれるのであれば、SetFocus などを設定しているところを、

if (Enabled) and (Visible) then

などと囲ってみてください。
もしくは、Form.SetFocus; を Windows.SetFocus(Handle); に置き換えてもいい
と思います。


Regards,
HOSOKAWA Jun
[S/G] SERIALGAMES Inc.
TEL: 03-5812-0980
FAX: 03-5812-0970
twitter: http://twitter.com/serialgames
twitter: http://twitter.com/flaver_sg
mailto: j...@serialgames.co.jp
fla:ver http://flaver.jp/
tokotto http://www.serialgames.co.jp/tokotto/
WebCapS http://www.serialgames.co.jp/fun.html#WebCapSeria


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
映画『シャッター アイランド』Tシャツプレゼント!
http://ad.freeml.com/cgi-bin/sa.cgi?id=fntuv

knockwood

unread,
Apr 12, 2010, 11:35:22 PM4/12/10
to delphi...@freeml.com

"p:nine" 様、

コメントありがとうございます。

おっしゃるとおり、ソースの中にSetFocusという記述が一箇所あった
ので、Windows.SetFocus(Handle)に書き換えて再構築したら、エラー
が発生しなくなりました。

大変ありがとうございました。
今後ともまた何かありましたらよろしくお願いいたします。

MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
メールだけでみんなをMLにカンタン招待!
http://ad.freeml.com/cgi-bin/sa.cgi?id=fn9M7

Reply all
Reply to author
Forward
0 new messages