用send(hWnd,Message,wParm,lParm)发消息时,如果信息的lParm要求是LPSTR,PB怎么搞定?

iscxy 2002-02-28 11:36:39
其它消息都能正确发送如
WM_CAP_SET_PREVIEW 消息
wParam = (WPARAM) (BOOL) (f);
lParam = 0L;

send(hWndC,WM_CAP_SET_PREVIEW,-1,0)发送都能得到预览效果

但WM_CAP_FILE_SAVEDIB 消息
wParam = (WPARAM) 0;
lParam = (LPARAM) (LPVOID) (LPSTR) (szName);

send(hWndC,WM_CAP_FILE_SAVEDIB,0,"filename.bmp")就未响应,返回0表示出错

string fn="filename.bmp"
send(hWndC,WM_CAP_FILE_SAVEDIB,0,fn)不行
send(hWndC,WM_CAP_FILE_SAVEDIB,0,ref fn)不行
send(hWndC,WM_CAP_FILE_SAVEDIB,0,long(fn))也不行
请问PB高手如何解决这类问题
...全文
158 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
vcpb 2002-02-28
  • 打赏
  • 举报
回复
帮你up一下

LPARAM:32-bit整数,作为窗口函数或callback函数的一个参数
string fn="filename.bmp"不可能变为long

另外(不知对否)
lParam = 0L; 应该固定不变
主要改变f,true或false(预览,不预览)

llitcwl 2002-02-28
  • 打赏
  • 举报
回复
PB中没有指针类型,只能传参,试试这个:
string ls_s="filename.bmp"
send(hWndC,WM_CAP_FILE_SAVEDIB,0,ref ls_s)
iscxy 2002-02-28
  • 打赏
  • 举报
回复
注明一下:
CONSTANT long WM_CAP_SET_PREVIEW = 1024+ 50
CONSTANT long WM_CAP_FILE_SAVEDIB = 1024+ 100+ 25

400

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 非技术版
社区管理员
  • 非技术版社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧