必要なもの
Firemonkey コンポーネントの DC を取得する必要がありますTCanvas
。Firemonkey ではアクセスできない Win API 描画関数を使用するために、これが必要です。主に、フォント レンダリングを 100% 制御します。
明らかに、これは純粋な Windows アプリケーションであるため、OSX との互換性は問題になりません。
私がしたこと
TFormのハンドルを取得してHWNDに変換し、DCを取得しましたGetDC(FmxHandleToHWND(Handle));
これは、コントロールのOnPaint
ハンドラーです。Character_PaintBox
HWND hWND = FmxHandleToHWND(Handle);
HDC hDC = GetDC(hWND);
int x = PreviewBack_Rectangle->Position->X + Character_PaintBox->Position->X;
int y = PreviewBack_Rectangle->Position->Y + Character_PaintBox->Position->Y;
TextOut(hDC,x,y,L"Test",4);
ReleaseDC(hWND,hDC);
これがフォームのDCであり、私が書いたものは次の更新で上書きされます。
これは VCL では簡単な作業でしたが、Firemonkey ではそれほど複雑ではありませんか?