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文件。
谢谢。
答案 0 :(得分:0)
你需要将cocoa中的.m文件更改为.mm文件,你可以编写你想写的任何C ++函数。
答案 1 :(得分:0)
如果你无论如何使用wxWidgets,使用wxWindow::GetTextExtent()会出现什么问题?