• ベストアンサー

ウインドウの位置を知る。

c++BuilderXE2です。 HWND hwnd=FindWindow(NULL,L"P_orderwb"); で取得したウィンドウのスクリーン上の位置を知るにはどうすればよいですか。 ウインドウハンドルに対応した位置のプロパティがわからないのです。 例えば hwnd->Left,hwnd->Top などでできないかと試しましたが、メンバーではありませんでした。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

> GetWindowRectはFMXなのですね。 いやいや、FindWindow() とか、VCLではなくてWindows APIを使ってるのでしょう? GetWindowRect() もWindows APIに含まれている関数ですよ。

qhtsige
質問者

お礼

winAPIで再度net検索するとヒットしました。そうして確認できました。 実は、GetWindowRectをc++BuilderXE2のヘルプの検索キーワードで検索したところ、FMXのGetWindowRectしか出てこず悩んでいました。 どうもXE2のヘルプが使いこなせません。

その他の回答 (1)

  • qwertfk
  • ベストアンサー率67% (55/81)
回答No.1

GetWindowRectで取得できます。

qhtsige
質問者

お礼

早速のご返事ありがとうございます。 GetWindowRectはFMXなのですね。今使っているのはVclなので、混在できるのでしょうか。使ったことはないのでわかりません。 GetWindowRectはHNWDではなく、AFormなるハンドルで指定するようなので、対象とするウインドのAFormを取得する方法を調べたとろ、 virtual TCommonCustomForm* __fastcall FindForm(NativeUInt AHandle) = 0 ;プロパティ らしいのですが、使い方がよくわかりません。(=0となっている点?) Vclのウインドハンドルベースではこのような機能は無いと理解してよいでしょうか。

関連するQ&A