1 Unstar Star 0 Fork 42

梨花有泪 / govclGoLGPL-2.1

forked from 不在乎y / govcl 
Create your Gitee Account
Explore and code with more than 5 million developers,Free private repositories !:)
Sign up
Golang绑定 Delphi VCL or Lazarus LCL。致力于小而原生。QQ群号:263106281 spread retract

Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

govcl

目录

项目介绍

1、由于现有第三方的Go UI库不是太庞大就是用的不习惯,或者组件太少。就萌生了自己写一个UI库的想法
Delphi(Lazarus)有些许多优秀的VCL(LCL)组件,不拿来使用太可惜了。所以就索性做了一套。
目前支持Win32Win64Linux64MacOS32(对于Linux64MacOS32提供有限的组件、属性及函数方法的支持)。

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

重要说明

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

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

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

使用方法

go get gitee.com/ying32/govcl

package main

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

var (
   mainForm *vcl.TForm
)

func main() {
    vcl.Application.SetIconResId(3)
    vcl.Application.Initialize()
    mainForm = vcl.Application.CreateForm()
    mainForm.SetCaption("Hello")
    mainForm.EnabledMaximize(false)
    mainForm.ScreenCenter()
    vcl.Application.Run()
}
  • Windows: 复制"bin\win32\libvcl.dll"或者"bin\win64\libvclx64.dll"(如果不想使用Delphi的二进制可到“bin\liblcl.dll\”目录下复制对应的lcl库二进制。注:使用lcl在组件,事件,属性及方法上会受到限制)到当前exe目录或系统环境路径下
  • Linux: 复制"bin\linux64\liblcl.so"可执行文件目录下
  • MacOS: 复制"bin\MacOS32\liblcl.dylib"可执行文件目录下(MacOS下注意:需要自行创建info.plist文件)

项目中的包说明

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

实例类说明

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

截图

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

备注

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

作者信息

by: ying32

Comments ( 0 )

Sign in for post a comment

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

Search