質問
2015年7月30日木曜日 5:14
初歩的質問であれば、申し訳ありません。
WPFでアプリケーションを作成しているのですが、最初にWindowを表示した位置からWindowの位置を変更させたくないのですが、
どのようにすれば表示位置を固定できますでしょうか。
以上、よろしくお願い致します。
すべての返信 (2)
2015年7月30日木曜日 5:38 ✅回答済み
こんにちは。
移動禁止にしたいという意味でしたか?それとも初期表示位置を指定したいという意味でしたか。
初期表示位置については調べたらたくさん見つかりました。
移動禁止であれば、WinFormみたいにWindowメッセージで移動系を補足してやってみてはどうでしょう。
参考:http://jeanne.wankuma.com/tips/csharp/form/moveable.html
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
const int WM_SYSCOMMAND = 0x0112;
const int SC_MOVE = 0xF010;
const int SC_MASK = 0xFFF0;
private void Window_Loaded(object sender, RoutedEventArgs e)
{
HwndSource source = HwndSource.FromHwnd(new WindowInteropHelper(this).Handle);
source.AddHook(new HwndSourceHook(WndProc));
}
private static IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
{
if ((msg == WM_SYSCOMMAND) && ((wParam.ToInt32() & SC_MASK) == SC_MOVE))
{
handled = true;
}
return IntPtr.Zero;
}
}
2015年7月31日金曜日 7:44
Tak1wa様
丁寧な回答頂きありがとうございました。
自分の想定していた動きを実現することができました。
ありがとうございました。