-1

全て、

これは、Windowsでフォントサイズを取得するために使用している関数です:

void wxMyGetCharSize(WXHWND wnd, int *x, int *y, const wxFont& the_font)
{
    TEXTMETRIC tm;
    HDC dc = ::GetDC((HWND) wnd);
    HFONT was = 0;

    HFONT fnt = (HFONT)the_font.GetResourceHandle(); // const_cast
    if ( fnt )
        was = (HFONT) SelectObject(dc,fnt);
    GetTextMetrics(dc, &tm);
    if ( fnt && was )
    {
        SelectObject(dc,was);
    }
    ReleaseDC((HWND)wnd, dc);
    if ( x )
        *x = tm.tmAveCharWidth;
    if ( y )
        *y = tm.tmHeight + tm.tmExternalLeading;
}

問題は、Mac-Cocoa 側でも同じことをする必要があることです。そして、プレーンな C++ コードでそのような関数を使用するか、cpp で .mm ファイルを使用する方法を説明したいと思います。

ありがとうございました。

4

2 に答える 2

0

とにかく wxWidgets を使用している場合、 wxWindow::GetTextExtent()を使用することの何が問題になっていますか??

于 2013-10-20T11:45:04.583 に答える