SetCursor问题
vb吧
全部回复
仅看楼主
level 11
余思培
楼主
利用API创建窗口时,怎样才能获取/加载到
正确的
光标资源句柄供SetCursor使用,目前我卡在这儿不知道怎么处理(所以WM_SETCURSOR也没能处理)
2020年11月15日 16点11分
1
level 11
余思培
楼主
另外我想问一下TextoutA与TextoutW有什么区别,今天遇到相关问题,翻到远古帖发现可以用TextoutW代替TextoutA
2020年11月15日 16点11分
2
总裁大人👻
W的能支持更多字符包括Unicode字符,A就是Ascll
2020年11月16日 01点11分
余思培
@总裁大人👻
多谢大佬解释
2020年11月16日 05点11分
马云爱逛京东
为什么我记得A指的是ansi
也有可能是我记错了。。
2020年11月16日 15点11分
level 11
余思培
楼主
预计下一楼是API窗口的文件分享。
2020年11月15日 16点11分
3
隨風🍁缒夢
还有看了下你的代码,sub Main末尾的ExitProcess是多余的,进程会自己退出,反而调用了在IDE下关闭窗口会将IDE也退出
2020年11月16日 12点11分
余思培
@隨風🍁缒夢
IDE下注释了的😂
2020年11月16日 12点11分
level 11
余思培
楼主
复制这段内容后打开百度网盘手机App,操作更方便哦链接:
网页链接
提取码:qz48
2020年11月15日 16点11分
4
level 13
隨風🍁缒夢
在不引用TLB的情况下,TextOutA(绘制Ansi字符的)显示正常,TextOutW(绘制Unicode字符的)会出现乱码(或者将字符串用strConv转成Unicode会正常),因为VB默认字符串常量 是Unicode的,而Declare中String是ansi,VB会调用__vbaStrToAnsi将字串符转成Ansi的故而TextoutW显示乱码。解决办法是引用TLB来调用TextOutW效率会高一点,这样就不需要转换了
2020年11月16日 11点11分
5
《顾名思义》
不用也是可以的,你可以用TEXTOUTW版然后strptr传字串指针
2020年11月22日 15点11分
隨風🍁缒夢
@《顾名思义》
当然可以,不过Declare后还是要调用DllFunctionCall和StrPtr函数,最理想的是TLB
2020年11月23日 01点11分
level 13
隨風🍁缒夢
LoadCursor时,如果是加载系统光标,则hInstace参数为0,加载工程中的资源光标时设为App.hInstance,第二个参数可以是ID也可以是名称,这看你Declare时的参数类型
2020年11月16日 11点11分
6
余思培
我加载系统光标,hinstance设为的0,但是加载不出来
2020年11月16日 12点11分
隨風🍁缒夢
@余思培
我不是说了第二个参数,你看看,ID得用Long,名称得用String,肯定用错了
2020年11月16日 12点11分
余思培
@隨風🍁缒夢
多谢大佬,已经成功了(看了下常数是Long型,然后改了下函数声明)
2020年11月16日 13点11分
level 13
隨風🍁缒夢
还有一点你得记住,虽然对程序运行没有多大影响,但是很多人并没有用对。
对于模块Module的函数、子过程、属性你不想让其他模块调用就加Private,不要缺省(缺省就是Public),模块本身调用Private的会比Public快。
对于类模块Class的函数、子过程、属性你不想让其他模块调用就加Private,也不要缺省,类模块本身调用Private的会比Public快,但想让其他模块调用时可以加Friend(友元函数),不要用Public,Friend的也会比Public快,只在必要的情况下才加Public
2020年11月16日 12点11分
7
余思培
多谢大佬指点
2020年11月16日 13点11分
1