押したキーでウィンドウのタイトルが変化するサンプルです。
プロジェクトの作成
ソースコード
package main
import (
"log"
"github.com/lxn/walk"
. "github.com/lxn/walk/declarative"
)
type MyMainWindow struct {
*walk.MainWindow
}
func main() {
mw := new(MyMainWindow)
if _, err := (MainWindow{
AssignTo: &mw.MainWindow,
OnKeyDown: func(key walk.Key) {
s := ""
if walk.ControlDown() {
s = s + "Ctrl+"
}
if walk.AltDown() {
s = s + "Alt+"
}
if walk.ShiftDown() {
s = s + "Shift+"
}
s = s + key.String()
mw.SetTitle(s)
},
Title: "keydown_sample",
MinSize: Size{640, 480},
Layout: VBox{},
Children: []Widget{},
}.Run()); err != nil {
log.Fatal(err)
}
}
ビルド&実行
go build
./プロジェクト名.exe
Go言語で記述されたwalkのソースコードを眺めながらVSCodeのインテリセンス機能を駆使してキーボードイベントから押されているキーを拾ってみました。
コメント