質問編集履歴

1

開始位置を設定するメソッドがあったのでそれを使った状態に修正しました。

2018/12/05 05:37

投稿

moshi
moshi

スコア90

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