1

標準の Windows アプリで、ボタンとリスト ボックスのような 2 種類のコントロールにアクセスする関数があります。この関数は引数としてコントロール名のみを使用するため、qtp がコントロールのタイプを理解する方法はありません。これを解決するには?ボタン用とリストボックス用の2つの別々の関数を作成しますか?

4

1 に答える 1

2

それはあなたがオブジェクトで何をしたいかに依存します、あなたがすべてに共通の何かをしたいならWinObjects(例えばClickまたはGetROProperty)あなたはそれをすることができます、それが異なるテストオブジェクトに固有であるならあなたは異なるメソッドを持たなければなりません(または少なくとも内部的には異なる方法で処理します)

科学モードでのCalc.exeの例:

Public Function Click(ByVal Name)
   Window("text:=Calculator").WinObject("text:=" & Name).Click
End Function

Click "8" ''# This is a button
Click "Oct" ''# This is a radio button

実行後の結果は10(8進数で8)です。


これを行う別の方法は、ChildObjectsこのプロパティに一致するすべてのオブジェクト(この場合は1つ)を取得し、それがどのタイプのオブジェクトであるかを確認し(GetROProperty("micclass"))、それをオンにして特定のアクションを実行するために使用することです。

于 2010-06-03T11:55:39.923 に答える