码云账号不再使用社区账号进行二次身份验证的通知 详情
私信发送成功
Watch Star Fork

不在乎 / govclGoLGPL-2.1

Golang绑定Delphi VCL。致力于小而原生。
克隆/下载
ying32 最后提交于 2017-10-18 23:03 . 更新sysdialog例程
2017-10-18 01:28
2017-09-29 10:04
Loading...
README.md 4.02 KB

govcl

目录

项目介绍

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

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

重要说明

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

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

项目点评 (34)

你可以在登录后,对此项目发表评论

2_float_left_people 2_float_left_close