Go言語「WALK」ファイルをドラックアンドロップ

コンピュータ

ウィンドウにファイルをドラックアンドロップするサンプルコードです。

プロジェクトの作成

mkdir dragdropdemo
cd dragdropdemo
Make-GoWalk.ps1

ソースコード

ファイル名: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


ファイルをドラックアンドロップします。

ファイルのパスがタイトルに表示されます。

コメント