帳票フォームでコントロールをダブルクリックした場合や、ボタンをクリックした場合に、ポップアップウィンドウを表示することはよくあると思います。この時、フォーカスのあるコントロールを基点とするようなポップアップウィンドウを表示したくなってしまった場合、そのコントロールの座標を知る必要があります。Accessのコントロールは表示されているときはただの絵(VBなど多言語と違いウィンドウではない)で、フォーカスが移ってきた段階で実体化(ウィンドウを持つ)します。この時、ウィンドウハンドルを取得できるようになりますのでAPIを使用して座標を取得します。下記のAPIを定義します。GetDCGetDeviceCapsGetFocusGetWindowRectReleaseDCGetFocusでウィンドウハンドルを取得します。[No.2]で取得したウィンドウハンドルをGetWindowRectに渡しウィンドウの座標を取得します。[No.2]で取得したウィンドウハンドルをGetDCに渡しデバイスコンテキストハンドルを取得します。[No.4]で取得したデバイスコンテキストハンドルをGetDeviceCapsに渡しPixelからTwipに変換するための値を取得します。[No.5]で取得した値を元に座標を計算します。[No.4]で取得したデバイスコンテキストハンドルをReleaseDCに渡しハンドルを閉じます。その他AccessのVBAおよびAPIの知識が必要です。KBDownloadスポンサーリンク説明がわからないなどありましたらお問い合わせでお知らせください。ここに掲載された情報を使用したことによって発生した、いかなる損害に対しても管理者である雅は一切責任を負いません。viewsスポンサーリンク更新履歴このサイトについてご利用規約お問い合わせこのサイトの内容を許可なく複製および配布することは禁止します。C++、その他記載された会社名や製品名は各社の登録商標または製品です。