質問編集履歴
1
開始位置を設定するメソッドがあったのでそれを使った状態に修正しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -12,6 +12,10 @@
|
|
12
12
|
|
13
13
|
|
14
14
|
|
15
|
+
SetBoundsで描画の開始位置を設定できるようなので以下のソースを作成しました。
|
16
|
+
|
17
|
+
|
18
|
+
|
15
19
|
```ここに言語名を入力
|
16
20
|
|
17
21
|
|
@@ -21,6 +25,8 @@
|
|
21
25
|
"github.com/lxn/walk"
|
22
26
|
|
23
27
|
. "github.com/lxn/walk/declarative"
|
28
|
+
|
29
|
+
"github.com/lxn/win"
|
24
30
|
|
25
31
|
)
|
26
32
|
|
@@ -88,6 +94,36 @@
|
|
88
94
|
|
89
95
|
|
90
96
|
|
97
|
+
const WINDOW_HEIGHT = 100
|
98
|
+
|
99
|
+
const WINDOW_WIDTH = 200
|
100
|
+
|
101
|
+
|
102
|
+
|
103
|
+
// 画面の縦と横のサイズを取得
|
104
|
+
|
105
|
+
scrWidth := win.GetSystemMetrics(win.SM_CXSCREEN)
|
106
|
+
|
107
|
+
scrHeight := win.GetSystemMetrics(win.SM_CYSCREEN)
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
// 描画開始位置を設定
|
112
|
+
|
113
|
+
mw.MainWindow.SetBounds(walk.Rectangle{
|
114
|
+
|
115
|
+
X: int((scrWidth - WINDOW_WIDTH) / 2),
|
116
|
+
|
117
|
+
Y: int((scrHeight - WINDOW_HEIGHT) / 2),
|
118
|
+
|
119
|
+
Width: WINDOW_WIDTH,
|
120
|
+
|
121
|
+
Height: WINDOW_HEIGHT,
|
122
|
+
|
123
|
+
})
|
124
|
+
|
125
|
+
|
126
|
+
|
91
127
|
if _, err := MW.Run(); err != nil {
|
92
128
|
|
93
129
|
println("Error")
|
@@ -104,15 +140,13 @@
|
|
104
140
|
|
105
141
|
### 発生している問題・エラーメッセージ
|
106
142
|
|
143
|
+
> panic: runtime error: invalid memory address or nil pointer dereference
|
107
144
|
|
108
145
|
|
109
|
-
このソースで実行すると表示したいウインドウ自体はでるのですが、画面左上のほうに表示されてしまいます。
|
110
146
|
|
111
|
-
|
147
|
+
SetBoundsのところで上記のエラーが出てしまいます。
|
112
148
|
|
113
|
-
|
149
|
+
なぜこのエラーが出力されてしまうのでしょうか?
|
114
|
-
|
115
|
-
ライブラリはWalkを使用しています。
|
116
150
|
|
117
151
|
|
118
152
|
|