Ai
1 Star 0 Fork 0

c./炫彩类

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
ButtonImage.go 2.29 KB
一键复制 编辑 原始数据 按行查看 历史
admin 提交于 2024-12-31 00:31 +08:00 . 2024-12-11
// 1. 给窗口添加背景色
// 2. 给按钮加上三种状态下的图片
// 纯代码的要记好多api, 还是建议用设计器来做
package main
import (
_ "embed"
"fmt"
app "gitee.com/go_888/xcgui/app"
imagex "gitee.com/go_888/xcgui/imagex"
widget "gitee.com/go_888/xcgui/widget"
window "gitee.com/go_888/xcgui/window"
xc "gitee.com/go_888/xcgui/xc"
xcc "gitee.com/go_888/xcgui/xcc"
)
var (
//go:embed res/button_min.png
img1 []byte
//go:embed res/button_close.png
img2 []byte
)
func main() {
// 1.初始化UI库
a := app.X创建(true)
a.X启用DPI(true)
a.X启用自动DPI(true)
// 2.创建窗口
w := window.X创建窗口(0, 0, 465, 300, "", 0, xcc.X窗口样式_简单|xcc.X窗口样式_标题|xcc.X窗口样式_拖动窗口)
// 设置窗口透明类型
w.X设置透明类型(xcc.X窗口透明标识_阴影窗口)
// 设置窗口阴影
w.X设置阴影信息(8, 255, 10, false, 0)
// 给整个窗口添加背景色
w.X添加背景填充(xcc.X窗口状态_整个窗口, xc.RGBA颜色(51, 57, 60, 254))
// 创建最小化按钮
btnMin := widget.X创建按钮(397, 8, 30, 30, "", w.X句柄)
btnMin.X设置类型EX(xcc.X对象扩展类型_最小化按钮)
// 创建关闭按钮
btnClose := widget.X创建按钮(427, 8, 30, 30, "", w.X句柄)
btnClose.X设置类型EX(xcc.X对象扩展类型_关闭按钮)
// 给按钮加上三种状态下的图片
setBtnImg(btnMin, img1)
setBtnImg(btnClose, img2)
// 3.显示窗口
w.X显示方式(xcc.SW_SHOW)
// 4.运行程序
a.X运行()
// 5.释放UI库
a.X退出()
}
// 给按钮加上三态图片
func setBtnImg(btn *widget.X结构_按钮, file []byte) {
for i := int32(0); i < 3; i++ {
x := i * 31
// 图片_加载从内存, 指定区域位置及大小
img := imagex.X创建并按内存且指定区域(file, x, 0, 30, 30)
if img.X句柄 == 0 {
fmt.Println("Error: hImg=", img.X句柄)
continue
}
// 启用图片透明色
img.X启用透明色(true)
// 添加背景图片
switch i {
case 0:
btn.X添加背景图片(xcc.X组合状态_按钮_鼠标离开, img.X句柄)
case 1:
btn.X添加背景图片(xcc.X组合状态_按钮_鼠标停留, img.X句柄)
case 2:
btn.X添加背景图片(xcc.X组合状态_按钮_鼠标按下, img.X句柄)
}
// 启用按钮背景透明
btn.X启用背景透明(true)
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/go_888/xcgui.git
git@gitee.com:go_888/xcgui.git
go_888
xcgui
炫彩类
6402001f8570

搜索帮助