在c ++中获取cocoa的字体大小

时间:2013-10-20 04:41:51

标签: c++ cocoa fonts size wxwidgets

ALL,

这是我用来获取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文件。

谢谢。

2 个答案:

答案 0 :(得分:0)

你需要将cocoa中的.m文件更改为.mm文件,你可以编写你想写的任何C ++函数。

答案 1 :(得分:0)

如果你无论如何使用wxWidgets,使用wxWindow::GetTextExtent()会出现什么问题?