ウィンドウにファイルをドラックアンドロップするサンプルコードです。
プロジェクトの作成
mkdir dragdropdemo
cd dragdropdemo
Make-GoWalk.ps1
Make-GoWalk.ps1は次の記事を参照


Go言語でWALKを使うプロジェクトを作成するPowerShellスクリプト
manifestというファイルが必要で毎度コピーするのも少し面倒なので、スクリプトを作ってみました。PowerShell.exeからテキストエデッタで$profilesを開き以下の関数を追加する。function Make-GoWalk{$...
ソースコード
ファイル名:dragdropdemo.go
package main
import (
"strings"
"github.com/lxn/walk"
. "github.com/lxn/walk/declarative"
)
func main() {
var mainWindow *walk.MainWindow
// Windowの作成
MainWindow{
AssignTo: &mainWindow,
Title: "ファイルをドロップしてください",
MinSize: Size{Width: 400, Height: 200},
Layout: VBox{MarginsZero: true},
Children: []Widget{
Composite{
Layout: VBox{},
// ドラックアンドドロップを右傾つけるための空白スペース
ContextMenuItems: []MenuItem{},
},
},
OnDropFiles: func(files []string) {
if len(files) > 0 {
// 複数のファイルの場合は改行を連結
title := strings.Join(files, "\n")
mainWindow.SetTitle(title)
}
},
}.Run()
}
ビルド
go build
実行イメージ
実行
./dragdropdemo.exe
ファイルをドラックアンドロップします。
ファイルのパスがタイトルに表示されます。
コメント