CWSTR类实现一个动态unicode空终止字符串。 Free Basic具有动态字符串数据类型(STRING)和固定长度的unicode数据类型(WSTRING),但缺少动态unicode字符串。
CWSTR 几乎表现得像一个本机数据类型,直接与大多数内在的Free Basic字符串函数和运算符一起工作,有一些例外(例如LEFT,RIGHT,VAL和&操作符),您可能需要使用双重间接,即 ** cws或wstr属性(例如cws.wstr)来引用字符串数据。
它使用文字和Free Basic本机字符串,例如
DIM cws AS CWSTR = "One"
DIM s AS STRING = "Three"
cws = cws + " Two " + s
PRINT cws
它可以与Windows API函数一起使用,例如
DIM nLen AS LONG = SendMessageW(hwnd, WM_GETTEXTLENGTH, 0, 0)
DIM cwsText AS CWSTR = nLen + 1
SendMessageW(hwnd, WM_GETTEXT, nLen + 1, cast(LPARAM, *cwsText))
对于使用不使用拉丁字母的语言,您可以指定代码页(也支持CP_UTF8):
DIM cws AS CWSTR = CWSTR("???????", 1251) ' 1251 = 俄语代码页
SetWindowText hwnd, cws
备注: 返回CWSTR作为函数的结果时,可能需要使用RETURN