teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

見直しキャンペーン中

2023/07/23 05:25

投稿

TN8001
TN8001

スコア10111

answer CHANGED
@@ -1,9 +1,9 @@
1
1
  ### 空域問題(Airspace problem)
2
2
  WPFもフォームと同じで`WebBrowser`の上には重ねられません。
3
3
  `Chromium`だったらだいじょぶだったと思いますが、`WebBrowser`を使うなら同じようにウィンドウを重ねることになると思います。
4
+
4
- まだ何も手を付けていなければ
5
+ まだ何も手を付けていなければ、↓なんかはそのまま使えるかもしれません。
5
6
  [michaelsutton/hwnd-adorner: WPF library supporting layers (adornments) over any hwnd hosted by an HwndHost](https://github.com/michaelsutton/hwnd-adorner)
6
- こちらなんかはそのまま使えるかもしれません。
7
7
 
8
8
  ざっと試したところ動きました(ちょっとリサイズが重い気がするが、最悪参考にはなると思います)
9
9
 

2

見直しキャンペーン中

2023/07/23 05:22

投稿

TN8001
TN8001

スコア10111

answer CHANGED
@@ -1,52 +1,53 @@
1
- ### 空域問題(Airspace problem)
2
- WPFもフォームと同じで`WebBrowser`の上には重ねられません。
3
- `Chromium`だったらだいじょぶだったと思いますが、`WebBrowser`を使うなら同じようにウィンドウを重ねることになると思います。
4
- まだ何も手を付けていなければ
5
- [michaelsutton/hwnd-adorner: WPF library supporting layers (adornments) over any hwnd hosted by an HwndHost](https://github.com/michaelsutton/hwnd-adorner)
6
- こちらなんかはそのまま使えるかもしれません。
7
- ざっと試したところ動きました(ちょっとリサイズが重い気がするが、最悪参考にはなると思います)
8
-
9
- ### 描画方法
10
- `Canvas`では`Top` `Left`で座標指定ができるので、フォームと似た感覚で使えると思います。
11
-
12
- ---
13
-
14
- 追記
15
- デモプロジェクトから下2ファイルのみ変更
16
-
17
- ```xaml
18
- <UserControl
19
- x:Class="Demo.BrowserAdornment"
20
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
21
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
22
- <Canvas>
23
- <Label
24
- x:Name="label"
25
- Canvas.Left="0"
26
- FontSize="50"
27
- Foreground="DarkRed">
28
- Browser Adornment (;
29
- </Label>
30
- <Button Click="Button_Click" Content="aaa" />
31
- </Canvas>
32
- </UserControl>
33
- ```
34
-
35
- ```C#
36
- using System.Windows;
37
- using System.Windows.Controls;
38
-
39
- namespace Demo
40
- {
41
- public partial class BrowserAdornment : UserControl
42
- {
43
- public BrowserAdornment() => InitializeComponent();
44
-
45
- private void Button_Click(object sender, RoutedEventArgs e)
46
- {
47
- Canvas.SetLeft(label, Canvas.GetLeft(label) + 10);
48
- label.Content = $"Canvas.Left{Canvas.GetLeft(label)}";
49
- }
50
- }
51
- }
1
+ ### 空域問題(Airspace problem)
2
+ WPFもフォームと同じで`WebBrowser`の上には重ねられません。
3
+ `Chromium`だったらだいじょぶだったと思いますが、`WebBrowser`を使うなら同じようにウィンドウを重ねることになると思います。
4
+ まだ何も手を付けていなければ
5
+ [michaelsutton/hwnd-adorner: WPF library supporting layers (adornments) over any hwnd hosted by an HwndHost](https://github.com/michaelsutton/hwnd-adorner)
6
+ こちらなんかはそのまま使えるかもしれません。
7
+
8
+ ざっと試したところ動きました(ちょっとリサイズが重い気がするが、最悪参考にはなると思います)
9
+
10
+ ### 描画方法
11
+ `Canvas`では`Top`・`Left`で座標指定ができるので、フォームと似た感覚で使えると思います。
12
+
13
+ ---
14
+
15
+
16
+ デモプロジェクトから下記2ファイルのみ変更
17
+
18
+ ```xml
19
+ <UserControl
20
+ x:Class="Demo.BrowserAdornment"
21
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
22
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
23
+ <Canvas>
24
+ <Label
25
+ x:Name="label"
26
+ Canvas.Left="0"
27
+ FontSize="50"
28
+ Foreground="DarkRed">
29
+ Browser Adornment (;
30
+ </Label>
31
+ <Button Click="Button_Click" Content="aaa" />
32
+ </Canvas>
33
+ </UserControl>
34
+ ```
35
+
36
+ ```cs
37
+ using System.Windows;
38
+ using System.Windows.Controls;
39
+
40
+ namespace Demo
41
+ {
42
+ public partial class BrowserAdornment : UserControl
43
+ {
44
+ public BrowserAdornment() => InitializeComponent();
45
+
46
+ private void Button_Click(object sender, RoutedEventArgs e)
47
+ {
48
+ Canvas.SetLeft(label, Canvas.GetLeft(label) + 10);
49
+ label.Content = $"Canvas.Left{Canvas.GetLeft(label)}";
50
+ }
51
+ }
52
+ }
52
53
  ```

1

追記

2020/09/09 03:44

投稿

TN8001
TN8001

スコア10111

answer CHANGED
@@ -7,4 +7,46 @@
7
7
  ざっと試したところ動きました(ちょっとリサイズが重い気がするが、最悪参考にはなると思います)
8
8
 
9
9
  ### 描画方法
10
- `Canvas`では`Top` `Left`で座標指定ができるので、フォームと似た感覚で使えると思います。
10
+ `Canvas`では`Top` `Left`で座標指定ができるので、フォームと似た感覚で使えると思います。
11
+
12
+ ---
13
+
14
+ 追記
15
+ デモプロジェクトから下記2ファイルのみ変更
16
+
17
+ ```xaml
18
+ <UserControl
19
+ x:Class="Demo.BrowserAdornment"
20
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
21
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
22
+ <Canvas>
23
+ <Label
24
+ x:Name="label"
25
+ Canvas.Left="0"
26
+ FontSize="50"
27
+ Foreground="DarkRed">
28
+ Browser Adornment (;
29
+ </Label>
30
+ <Button Click="Button_Click" Content="aaa" />
31
+ </Canvas>
32
+ </UserControl>
33
+ ```
34
+
35
+ ```C#
36
+ using System.Windows;
37
+ using System.Windows.Controls;
38
+
39
+ namespace Demo
40
+ {
41
+ public partial class BrowserAdornment : UserControl
42
+ {
43
+ public BrowserAdornment() => InitializeComponent();
44
+
45
+ private void Button_Click(object sender, RoutedEventArgs e)
46
+ {
47
+ Canvas.SetLeft(label, Canvas.GetLeft(label) + 10);
48
+ label.Content = $"Canvas.Left{Canvas.GetLeft(label)}";
49
+ }
50
+ }
51
+ }
52
+ ```