FindWindowでクラス名から親のハンドルを取得し、
取得したハンドルからFindWindowExで子のハンドルをクラス名で探します。
このときクラス名がeditなのですが、
この親ハンドルはeditというクラス名を複数所持しているため
目的のハンドルが返ってきません。
※1:目的のハンドルとはWindowFromPointで調べたテキストボックスのハンドルです。
※2:WindowFromPointで対象のテキストボックスのハンドルを取得し、
GetClassNameでクラス名(edit)を取得しました。
EnumWindowを使用し子ウインドウを列挙しましたがなぜか目的のハンドルも見つからず。。
たとえEnumWindowで列挙したところでクラス名が重複している場合は結局ハンドルを手動で指定する必要が出てくるのでしょうか?
EnumChildWindowsでは?
まぁ、視覚的に一意ならば、
GetWindowRectなどでウィンドウの位置から推定するのが一番でしょう。
ご指導ありがとうございます。
EnumChildWindows、GetWindowRectの詳細について検索してみます。
ボタンを押すたびにタブが切り替わる仕組みなので
恐らくGetWindowRectは使えないのではと推測しています。
(説明不足で申し訳ないです。)
なら、Control ID値を調べてみたら?
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200505/05050014.txt
ControlIDでは無理かと。
GetWindowで自己解決しました。
皆様ありがとうございました。
GetWindowで自己解決しました。
皆様ありがとうございました。
ツイート | ![]() |