递归火山软件开发平台

标题: GdiplusStartup()要怎么封装啊 [打印本页]

作者: hcwanz    时间: 2022-2-27 22:21
标题: GdiplusStartup()要怎么封装啊
本帖最后由 hcwanz 于 2022-2-27 23:07 编辑

GdiplusStartup function (gdiplusinit.h) - Win32 apps |微软文档 (microsoft.com)
(, 下载次数: 35)
这个是易语言的,能正常运行
(, 下载次数: 55)
转成火山就不行了,因为我不懂这个传址怎么搞
(, 下载次数: 47)
所以我就用我孱弱的语法知识,封装了一下
(, 下载次数: 34)
然后报错 (, 下载次数: 37)
然后又像这样改了几次(指把第二个参数的括号,外扩删除前移)
(, 下载次数: 52)
都是报错
(, 下载次数: 45)
这是GdiplusStartupInput类的定义
(, 下载次数: 34)
(, 下载次数: 36)
(, 下载次数: 45)
GdiplusStartup function (gdiplusinit.h) - Win32 apps |微软文档 (microsoft.com)

这些是这个函数的返回值,0表示成功,2表示某参数无效
易语言会返回0,火山是2
typedef enum Status {  Ok = 0,  
GenericError = 1,  
InvalidParameter = 2,  
OutOfMemory = 3,  
ObjectBusy = 4,  
InsufficientBuffer = 5,  
NotImplemented = 6,  
Win32Error = 7,  
WrongState = 8,  
Aborted = 9,  
FileNotFound = 10,  
ValueOverflow = 11,  
AccessDenied = 12,  
UnknownImageFormat = 13,  
FontFamilyNotFound = 14,  
FontStyleNotFound = 15,  
NotTrueTypeFont = 16,  
UnsupportedGdiplusVersion = 17,  
GdiplusNotInitialized = 18,  
PropertyNotFound = 19,  
PropertyNotSupported = 20,  
ProfileNotFound = 21} ;

所以有没有大佬来帮一下啊



作者: Xelloss0618    时间: 2022-2-27 23:41
两种写法都给你简单写一下

(, 下载次数: 112)

作者: 米粒    时间: 2022-2-28 08:37
技术贴要顶!
作者: 创世魂    时间: 2022-2-28 09:02
Xelloss0618 发表于 2022-2-27 23:41
两种写法都给你简单写一下

感谢大佬贡献
作者: kamikaze    时间: 2022-9-4 02:09
Xelloss0618 发表于 2022-2-27 23:41
两种写法都给你简单写一下

X总,gdi+ FromHWND 这个命令 从dll如何封装啊!麻烦再给个例子把!!!感谢
作者: leing    时间: 2023-1-6 01:03
Xelloss0618 发表于 2022-2-27 23:41
两种写法都给你简单写一下

任何结构体都可以用第二个方法吗?
比如火山有文本型成员 C char*成员 可以直接转换吗还有下面几种
火山--C

整数型成员--byte成员
文本型成员--byte[]成员
文本型成员-char[]成员
作者: Xelloss0618    时间: 2023-1-6 15:35
leing 发表于 2023-1-6 01:03
任何结构体都可以用第二个方法吗?
比如火山有文本型成员 C char*成员 可以直接转换吗还有下面几种
火山- ...

char*  是指针,用变整数
结构类不能用文本型的
byte 用字节
byte[256] 用 字节[256]
char[256] 也是用 字节[256],根据类型的长度来
作者: leing    时间: 2023-1-12 14:40
Xelloss0618 发表于 2023-1-6 15:35
char*  是指针,用变整数
结构类不能用文本型的
byte 用字节

byte[256]
char[256]
这俩怎么转成文本
作者: Xelloss0618    时间: 2023-1-12 15:10
leing 发表于 2023-1-12 14:40
byte[256]
char[256]
这俩怎么转成文本

参考 多字节指针到文本 的源码吧,如果是火山的结构类,可以用 取数组变量地址 传进去
作者: leing    时间: 2023-1-12 15:28
Xelloss0618 发表于 2023-1-12 15:10
参考 多字节指针到文本 的源码吧,如果是火山的结构类,可以用 取数组变量地址 传进去 ...

牛逼 完美
作者: leing    时间: 2023-1-12 15:32
Xelloss0618 发表于 2023-1-12 15:10
参考 多字节指针到文本 的源码吧,如果是火山的结构类,可以用 取数组变量地址 传进去 ...

还有个问题就是文本怎么转回
byte[256]
char[256]

作者: Xelloss0618    时间: 2023-1-12 16:18
leing 发表于 2023-1-12 15:32
还有个问题就是文本怎么转回
byte[256]
char[256]

这种用内存复制,不过要先转换编码。
多字节 = 文本到多字节 (文本, 真)
内存复制 (取数组变量地址 (char数组), 多字节.取字节集指针 (), 多字节.取字节集长度 ())




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