FireMonkeyでWindowsハンドルを取得する

提供: Support
移動先: 案内検索

概要

FireMonkeyのHandleは、Windowsのネイティブのハンドルではないため、「WindowHandleToPlatform」という関数を利用し、FireMonkey ウィンドウ ハンドルを、プラットフォームに依存するウィンドウ ハンドル(この場合は Windows のウィンドウ ハンドル)に変換する必要があります。


但し、この方法は、Windows OSプラットホーム専用となりますので、MacOSX、iOS、Androidといった別のプラットホームで利用はできません。


以下のコードは、FireMonkeyからMessageBoxダイアログを呼び出す簡単な例です。


Delphiの場合:

uses .. Winapi.Windows, FMX.Platform.Win;
..
var
  Handle: TWinWindowHandle;
begin
  Handle := WindowHandleToPlatform(Form1.Handle);
  MessageBox(Handle.Wnd, 'メッセージ', 'タイトル', MB_OK);
end;
..


C++Builderの場合:

#include <Winapi.Windows.hpp> 
#include <FMX.Platform.Win.hpp> 
..

TWinWindowHandle *Handle; 
Handle=WindowHandleToPlatform(Form1->Handle); 

MessageBox(Handle->Wnd,"メッセージ","タイトル",MB_OK); 

..