1 Star 0 Fork 53

hwhohwh / govcl

forked from 不在乎y / govcl 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 4.45 KB
一键复制 编辑 原始数据 按行查看 历史
不在乎y 提交于 2017-12-11 10:36 . Update README.md

govcl

目录

项目介绍

1、由于现有第三方的Go UI库不是太宠大就是用的不习惯,或者组件太少。就萌生了自己写一个UI库的相法
Delphi有些许多优秀的VCL组件,不拿来使用太可惜了。所以就索性做了一套。目前支持Win32跟Win64,
只需要带上一个libvcl.dll即可。

2、项目现在支持VCL标准控件中的大部分,足以满足日常操作了,具体见支持的组件列表
事件方面也支持部分,参见:支持的事件

重要说明

所有的代码只会存储在OSC的码云中,原因在于go包路径的问题。
至于github上会建一个同名的项目govcl,但不会提交任何代码
xui包目前还未完成,但不影响正常使用

govcl是一个不需要经常更新的项目,因为原本vcl就是个成熟的产品,这里也只是做了相关的桥接,相对是稳定的,但也不排除某些环境下的问题。

govcl是以go 1.9作为基础版本开发,目前已知的是在go 1.7也可以编译,但作为以后的考虑会使用1.9中的特性,所以大家在使用的时候尽量使用go 1.9+版本

希望大家有问题的话通过Issues来进行反馈,反馈错误的话最好能带有相关错误的截图之类的, 而不是通过评论来提问。wiki也可关注下,有些问题在会里面作解答。

WIKI

后面视情况慢慢补充相关VCL组件的知识,详情可以WIKI

使用方法

go get gitee.com/ying32/govcl

package main

import (
   "gitee.com/ying32/govcl/vcl"
)

var (
   mainForm *vcl.TForm
)

func main() {
    vcl.Application.Initialize()
    mainForm = vcl.Application.CreateForm()
    mainForm.SetCaption("Hello")
    mainForm.EnabledMaximize(false)
    mainForm.ScreenCenter()
    vcl.Application.Run()
}

复制"bin\win32\libvcl.dll"或者"bin\win64\libvclx64.dll"到当前exe目录或系统环境路径下

icon及manifest文件集成

icon及manifest文件集成

关于跨平台问题

关于跨平台问题

项目中的包说明

  • vcl
    包含Delphi标准组件中的大部分
  • api
    DLL函数申明与重新包装
  • rtl
    包含Delphi中Set类型操作、内存操作等其它函数
  • win
    包含windows下的常量、函数、类型定义
  • xui
    包含一个使用xml创建UI的类
  • types
    包含 类型定义、枚举定义、常量

实例类说明

按照Delphi中的Application、 Screen、 Mouse、Clipboard四个类实例是可以直接访问的,不需要释放
其实组件带有Owner参数的一般指定当前组件对应的TForm就好了,这样就不需要手动释放,反之Owner填
写nil则需要手动调用Free,就像其它非组件类的。

支持的组件列表

现支持组件和非组件类列表

截图

截图1
截图2
绘图
ListView
RichEdit
标准控件
样式

备注

文件名后面带有def的为手动编写

作者信息

by: ying32

Go
1
https://gitee.com/delphidreamer/govcl.git
git@gitee.com:delphidreamer/govcl.git
delphidreamer
govcl
govcl
master

搜索帮助