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

回答編集履歴

1

ダブルクリックしたときの挙動に違和感があったので EditWordBreak を修正しました。

2021/11/23 06:37

投稿

KOZ6.0
KOZ6.0

スコア2736

answer CHANGED
@@ -1,7 +1,11 @@
1
1
  とりあえず、こんな感じでいかがでしょう。
2
+ ダブルクリックしたときの挙動に違和感があったので EditWordBreak を修正しました。
2
3
 
3
4
  ```C#
4
5
  const int EM_SETWORDBREAKPROC = 0xD0;
6
+ const int WB_LEFT = 0;
7
+ const int WB_RIGHT = 1;
8
+ const int WB_ISDELIMITER = 2;
5
9
 
6
10
  [DllImport("user32")]
7
11
  private static extern IntPtr SendMessage(IntPtr hWnd, int msgId, IntPtr wParam, EditWordBreakProc lParam);
@@ -16,6 +20,15 @@
16
20
 
17
21
  private int EditWordBreak(IntPtr ipch, int ichCurrent, int cch, int code)
18
22
  {
23
+ switch (code)
24
+ {
25
+ case WB_ISDELIMITER:
26
+ return 0;
27
+ case WB_LEFT:
28
+ return 0;
29
+ case WB_RIGHT:
30
+ return cch;
31
+ }
19
32
  return 0;
20
33
  }
21
34
  ```