/// IME変換時のイベントハンドラ
/// </summary>
/// <param name="type"></param>
- public delegate void ImeCompositionEventHandler(string text);
+ public delegate void ImeCompositionEventHandler(int type, string text);
public event ImeCompositionEventHandler ImeComposition;
private bool complemented = false;
set { complemented = value; }
}
+ private string imeText;
+ public string ImeText
+ {
+ get { return imeText; }
+ set { imeText = value; }
+ }
protected override void Dispose(bool disposing)
{
switch (e.KeyCode)
{
case Keys.Tab:
- if (this.dropdownForm.Visible)
+ if (this.dropdownForm.Visible && this.dropdownForm.DropdownListBox.SelectedIndex >= 0)
{
//タブキーによるコマンド補完
this.complemented = true;
//e.Handled = true;
}
break;
-/*
+
case Keys.A:
if ((Keys.Control & Control.ModifierKeys) == Keys.Control || Keys.Home == e.KeyCode)
{
e.Handled = true;
}
break;
-*/
+
case Keys.Up:
if (listBox.Items.Count > 0)
{
switch (m.Msg)
{
case 0x010F: //WM_IME_COMPOSITION
- if (((int)m.LParam & GCS_COMPSTR) == GCS_COMPSTR)
- {
+ //if (((int)m.LParam & GCS_COMPSTR) == GCS_COMPSTR)
+ //{
IntPtr hIMC = ImmGetContext(this.Handle);
StringBuilder sb = new StringBuilder(1024);
byte[] buffer = new byte[1024];
ImmReleaseContext(this.Handle, hIMC);
string str = Encoding.GetEncoding("Shift_JIS").GetString(buffer);
str = str.TrimEnd('\0');
- this.ImeComposition(str);
- }
+ this.ImeComposition((int)m.LParam, str);
+ //}
break;
}
base.WndProc(ref m);