递归火山软件开发平台

标题: 【解决方案】火山视窗文本型转换为LPCWSTR(lstrlenW封装) [打印本页]

作者: 创世魂    时间: 2023-5-20 09:26
标题: 【解决方案】火山视窗文本型转换为LPCWSTR(lstrlenW封装)
LPCWSTR一般出现在Unicode api中,也就是W版本的api,例如:lstrlenW 用来获取字符串长度。


(, 下载次数: 26)




在火山中想对于A版本的来说就简单很多……
直接@<参数_文本>.GetText () 取出火山c++的文本类型后,强制转换成LPCWSTR即可。


封装如下:

<火山程序 类型 = "通常" 版本 = 1 />

方法 取文本长度W <公开 类型 = 整数 @禁止流程检查 = 真>
参数 参数_文本 <类型 = 文本型>
{
    @ return lstrlenW((LPCWSTR)@<参数_文本>.GetText ());
}




PS:一般都没问题,有问题的可以发帖问……




作者: server    时间: 2023-5-20 12:56
<火山程序 类型 = "通常" 版本 = 1 />

方法 _寻找窗口 <公开 静态 类型 = 变整数 @嵌入式方法 = "">
参数 类名 <类型 = 文本型 @默认值 = 空对象>
参数 标题 <类型 = 文本型 @默认值 = 空对象>
{
    @ (INT_P)FindWindowW((LPCWSTR)@<类名>.GetText(),(LPCWSTR)@<标题>.GetText())
}

你试试这个。
作者: Xelloss0618    时间: 2023-5-20 14:18
server 发表于 2023-5-20 12:56
方法 _寻找窗口
参数 类名
参数 标题

<火山程序 类型 = "通常" 版本 = 1 />

方法 _寻找窗口 <公开 静态 类型 = 变整数 @禁止流程检查 = 真>
参数 类名 <类型 = 文本型 @默认值 = 空对象>
参数 标题 <类型 = 文本型 @默认值 = 空对象>
{
    @ return (INT_P)FindWindowW(@<类名>.IsEmpty() ? NULL : @<类名>.GetText(), @<标题>.IsEmpty() ? NULL : @<标题>.GetText());
}


可以再改一下,因为这两个参数有需要用NULL




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4