dポイントプレゼントキャンペーン実施中!

他アプリのツリービューの指定アイテムをフォーカスする方法
他アプリのツリービューの指定アイテムをフォーカスすることが出来なく困っております。

(質問)
指定アイテムをマウスクリックを行った際の状態のように、背景色が青になり選択
されている状態にする方法について教えていただきたいです

(やりたいこと)
Visual C++で作成したアプリから他アプリを呼び出し、他アプリのツリービューの指定
アイテムを選択した状態でOKボタンをクリックすることで、指定したアイテムの読み込みが成功すること

(現状)
他アプリのツリービューの指定アイテムが選択された状態にならず(アイテムのハンドル
は取得できているが、選択されているアイテムの背景色が灰色のまま)、OKボタンを
クリックしても選択されていないため、エラーとなる

(環境)
当方の環境は、WindowsXP&VisualC++6.0を使用しております。

以上、よろしくお願いします。

A 回答 (2件)

すみません、訂正です。

TVGN_CARETを渡します。

::SendMessage(hControl, TVM_SELECTITEM, (WPARAM)TVGN_CARET, (LPARAM)hTreeItem) ;

この回答への補足

早速のアドバイスありがとうございます。
しかし上記を追記しても残念ながら選択されているアイテムの背景色が灰色のままで、解決には至りませんでした。通常は上記記述でうまく行くのでしょうか?

補足日時:2010/08/03 18:57
    • good
    • 0

前提がいろいろありそうですが、


アイテムのハンドルがわかるくらいなら、
コントロールのハンドルもわかるでしょうから、

::SendMessage(hControl, TVM_SELECTITEM, (WPARAM)0, (LPARAM)hTreeItem) ;

は使えないでしょうか?

この回答への補足

新規で確かめてみたことを追記します。

SendMessage(hControl, TVM_SELECTITEM, (WPARAM)TVGN_DROPHILITE, (LPARAM)hTreeItem) ;

を実行すると選択されているアイテムの背景色が青色に変更はされました。
しかし、背景色が変更されるだけで実際は選択されていないため、同様の
エラーが返却されてしまいます。

補足日時:2010/08/03 21:08
    • good
    • 0

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