同步操作将从 不在乎y/govcl 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
The govcl version >=1.2.0 must require the go version >=1.9.0.
Note: linux and macOS only part of the components, properties, events and methods are valid.
If you want to support linux arm and linux 32bit, you need to compile the corresponding liblcl binary.
Pre-compiled GUI library binary download
Note: The "libvcl" library binary (libvcl. dll, libvclx64. dll) contained in the compression package is only for preview and test purposes. Please compile the "libvcl" source code for official use. please refer to the instructions in UILIbSrcources.
res2go Tool
Note: Designed in Delphi/Lazarus, code written in Golang.
go get github.com/ying32/govcl
package main
import (
"github.com/ying32/govcl/vcl"
)
func main() {
vcl.Application.Initialize()
mainForm := vcl.Application.CreateForm()
mainForm.SetCaption("Hello")
mainForm.EnabledMaximize(false)
mainForm.ScreenCenter()
btn := vcl.NewButton(mainForm)
btn.SetParent(mainForm)
btn.SetCaption("Hello")
btn.SetOnClick(func(sender vcl.IObject) {
vcl.ShowMessage("Hello!")
})
vcl.Application.Run()
}
package main
import (
"github.com/ying32/govcl/vcl"
)
type TMainForm struct {
*vcl.TForm
Btn1 *vcl.TButton
}
type TAboutForm struct {
*vcl.TForm
Btn1 *vcl.TButton
}
var (
mainForm *TMainForm
aboutForm *TAboutForm
)
func main() {
vcl.Application.Initialize()
vcl.Application.SetMainFormOnTaskBar(true)
vcl.Application.CreateForm(&mainForm)
// Bind subcomponent events after creation.
vcl.Application.CreateForm(&aboutForm, true)
vcl.Application.Run()
}
// -- TMainForm
func (f *TMainForm) OnFormCreate(sender vcl.IObject) {
f.SetCaption("Hello")
f.Btn1 = vcl.NewButton(f)
f.Btn1.SetParent(f)
f.Btn1.SetBounds(10, 10, 88, 28)
f.Btn1.SetCaption("Button1")
f.Btn1.SetOnClick(f.OnButtonClick)
}
func (f *TMainForm) OnButtonClick(sender vcl.IObject) {
vcl.ShowMessage("Hello!")
}
// -- TAboutForm
func (f *TAboutForm) OnFormCreate(sender vcl.IObject) {
f.SetCaption("Hello")
f.Btn1 = vcl.NewButton(f)
//f.Btn1.SetName("Btn1")
f.Btn1.SetParent(f)
f.Btn1.SetBounds(10, 10, 88, 28)
f.Btn1.SetCaption("Button1")
}
func (f *TAboutForm) OnBtn1Click(sender vcl.IObject) {
vcl.ShowMessage("Hello!")
}
package main
import (
"github.com/ying32/govcl/vcl"
)
type TMainForm struct {
*vcl.TForm
Btn1 *vcl.TButton
}
type TAboutForm struct {
*vcl.TForm
Btn1 *vcl.TButton
}
var (
mainForm *TMainForm
aboutForm *TAboutForm
)
func main() {
vcl.Application.Initialize()
vcl.Application.SetMainFormOnTaskBar(true)
vcl.Application.CreateForm(mainFormBytes, &mainForm)
vcl.Application.CreateForm("./about.gfm", &aboutForm)
vcl.Application.Run()
}
// -- TMainForm
func (f *TMainForm) OnFormCreate(sender vcl.IObject) {
}
func (f *TMainForm) OnBtn1Click(sender vcl.IObject) {
vcl.ShowMessage("Hello!")
}
// -- TAboutForm
func (f *TAboutForm) OnFormCreate(sender vcl.IObject) {
}
func (f *TAboutForm) OnBtn1Click(sender vcl.IObject) {
vcl.ShowMessage("Hello!")
}
Method 3 needs to be used in conjunction with the UI designer or the res2go tool.
Q: Why is there no English WIKI?
A: My English is bad. You can try using Google Translate Chinese WIKI.
When using the "liblcl" library, it is run in a compatible "libvcl" library, so some methods and properties of components and components are not available.
Windows: Copy "libvcl.dll" or "libvclx64.dll" or "liblcl.dll" to the current exe directory or system environment path.
GOARCH = amd64 386
GOOS = windows
CGO_ENABLED=0
Linux: Copy the "liblcl.so" executable directory (you can also copy liblcl.so to the /usr/lib/
directory and use it as a public library).
GOARCH = amd64
GOOS = linux
CGO_ENABLED=1
MacOS: Copy the "liblcl.dylib" executable directory (Note for MacOS: you need to create the info.plist file yourself), or refer to: App packaging on MacOS
GOARCH = 386
GOOS = darwin
CGO_ENABLED=1
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。