2016-10-03 3 views
0

すべてをジャンプする方法はありますかダイアログボックス標準コードですか?ダイアログBOXをコードごとにどのようにジャンプするのですか?

たとえば、TaxVatTable.validateWriteを呼び出すと、TaxVATNumValidateES\validateVATNumというクラスを呼び出し、ここにボックスが存在し、表示したくない場合は解決策がありますか?

すべてのケースでダイアログボックスの機能を無効にする方法がありますか?

答えて

2

はい、\Classes\Boxの関連するメソッドを変更することができます。

問題はBoxメッセージはと判断されます。はユーザーによって作成されています。だから、彼らはいつも何を選んでいるのか、どうやって分かってるの?あなたは_defaultButtonを返すことができ、たぶんほとんどの場合O-Kになる可能性があります。

さまざまな種類のフォームを呼び出しますが、参照先のカーネルコードは\System Documentation\Classes\DialogBoxなので、オーバーライドできる最も低いポイントはBoxクラスです。

あなたが見ることができますどのようにこれを行うことによって、彼らショート:

if (clientKind() == ClientType::COMObject) 
    return _defaultButton; 

EDIT:私はこれをやってお勧めしないことを追加したい

。呼び出された場所のコードを変更するだけです。あなたは機能的にフレームワークの一部を破ります。他の開発者は、ある時点でこの機能を呼び出す必要があります。

これは書式で使用されています。それが常にYesを返すようにすれば、あらゆる種類の問題を引き起こす可能性があります。

+0

ありがとう@アレックスKwitny、それは非常に退屈ですが、私はそこにダイアログボックスがあるすべてのポイントを見つける必要があります – ulisses

+1

相互参照を使用して見つけるには数秒かかるでしょう。これはhttps://msdn.microsoft.com/en-us/library/aa877386.aspxに従って構築できます。次に、 'SystemDocumentation'または' Box'クラスの 'DialogBox'を右クリックし、' AddIns> Used Used'と言うだけで、使用されているすべての場所を識別できます。 –

関連する問題