簡體   English   中英

如何初始化數據類型為 const WCHAR* 的變量

[英]How to initialize a variable of data type const WCHAR*

GdipCreateFontFamilyFromName第一個參數需要一個const WCHAR* ,我如何用它初始化opt.fontName的值?

struct GDImDrawText
{
    HWND hWnd;
    ARGB fontColor;
    int fontSize;
    int fontStyle = 0;
    WCHAR* fontName;  // <--- Do i need to use another data type? which?
    int x = 0;
    int y = 0;
    int w;
    int h;
};  

//...

GDI gdip;
GDImDrawText opt;

opt.fontColor = 0xffffff;
opt.fontSize = 14; 
opt.fontName = L"Tahoma"; // <--- ???
opt.hWnd = hWnd; 
opt.x = 20;

gdip.mDrawText(g, opt);

//...

void GDI::mDrawText(GpGraphics* g, GDImDrawText opt)
{
    GpFontFamily* fontFamily;
    GdipCreateFontFamilyFromName(opt.fontName, 0, &fontFamily);
    //...
}

我是否需要將fontName的聲明修改為結構?

WCHAR是一個寬字符,通常表示 16 位而不是char的默認 8 位。 例如,它用於表示編碼標准,如 UTF-16,不能僅用 8 位編碼(如 ASCII)。

您通過在字符串前面使用L指定它來正確初始化wide char array 這告訴編譯器該字符串實際上是一個wide char array ,而不是一個“普通” char array

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM