/
main.go
83 lines (64 loc) · 1.72 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
// +build windows
package main
import (
"github.com/ying32/govcl/vcl"
"github.com/ying32/govcl/vcl/rtl"
"github.com/ying32/govcl/vcl/types"
"github.com/ying32/govcl/vcl/types/colors"
)
var (
mainForm *vcl.TForm
richEdit *vcl.TRichEdit
)
func main() {
vcl.Application.Initialize()
vcl.Application.SetMainFormOnTaskBar(true)
initMainForm()
initMainMenu()
tlbar := vcl.NewToolBar(mainForm)
tlbar.SetParent(mainForm)
richEdit = vcl.NewRichEdit(mainForm)
richEdit.SetParent(mainForm)
richEdit.SetAlign(types.AlClient)
richEdit.Lines().Add("这是一段文字红色,粗体,斜體")
richEdit.SetSelStart(6)
richEdit.SetSelLength(2)
richEdit.SelAttributes().SetColor(colors.ClRed)
richEdit.SetSelStart(9)
richEdit.SetSelLength(2)
style := rtl.Include(0, types.FsBold)
richEdit.SelAttributes().SetStyle(style)
richEdit.SetSelStart(12)
richEdit.SetSelLength(2)
style = rtl.Include(0, types.FsItalic)
richEdit.SelAttributes().SetStyle(style)
richEdit.SetSelStart(15)
initRichEditPopupMenu()
stabar := vcl.NewStatusBar(mainForm)
stabar.SetParent(mainForm)
vcl.Application.Run()
}
func initMainForm() {
mainForm = vcl.Application.CreateForm()
mainForm.SetCaption("Hello")
mainForm.SetPosition(types.PoScreenCenter)
mainForm.EnabledMaximize(false)
mainForm.SetWidth(600)
mainForm.SetHeight(400)
}
func initMainMenu() {
mainMenu := vcl.NewMainMenu(mainForm)
item := vcl.NewMenuItem(mainForm)
item.SetCaption("&File")
mainMenu.Items().Add(item)
item = vcl.NewMenuItem(mainForm)
item.SetCaption("&Help")
mainMenu.Items().Add(item)
}
func initRichEditPopupMenu() {
pm := vcl.NewPopupMenu(mainForm)
item := vcl.NewMenuItem(mainForm)
item.SetCaption("&Clear")
pm.Items().Add(item)
richEdit.SetPopupMenu(pm)
}