我正在創建一個自定義組件(派生自TCustomCategoryPanelGroup)並執行一些自定義繪製操作。我想要在啓用主題並適當繪製文本時進行處理。TThemeServices :: DrawText無法解析的鏈接錯誤
下面是一些代碼,我都以平局函數的代碼段:
int theBaseDrawFlags = DT_EXPANDTABS | DT_SINGLELINE | DT_VCENTER | DT_LEFT;
theBaseDrawFlags = DrawTextBiDiModeFlags(theBaseDrawFlags);
if (TCustomCategoryPanelGroup::hsThemed == PanelGroup->HeaderStyle && ThemeServices()->ThemesEnabled)
{
ThemeServices()->DrawText(ACanvas->Handle, ThemeServices()->GetElementDetails(tebNormalGroupHead), m_CaptionTopLeft, m_TextRect, theBaseDrawFlags, 0);
}
else
{
// Draw without themes
}
當我嘗試建立這個我收到的錯誤:
Unresolved external __fastcall Themes::TThemeServices::DrawTextA(HDC__ *, Themes::TThemedElementDetails&, const System::WideString, Types::TRect&, unsigned int, unsigned int)' referenced from ....
正如你可以看到它在尋找DrawTextA
。我查看了Themes.hpp頭文件,並且只定義了ThemeServices::DrawText
函數。
我不確定這裏發生了什麼事。我想也許我錯過了一個導入庫,但是我使用的所有其他ThemeServices函數都沒有鏈接錯誤。
任何人都知道這裏發生了什麼?
忘記提及我正在使用C++ Builder XE。 – 2011-06-01 17:08:39