Skip to content

Commit c25d8ba

Browse files
committed
Merge branch 'CefSharp1' of github.com:shen6041/CefSharp into shen6041-CefSharp1, so we can work towards closing #211.
2 parents 3b076d1 + b121f93 commit c25d8ba

File tree

2 files changed

+37
-18
lines changed

2 files changed

+37
-18
lines changed

CefSharp.Wpf/WebView.cpp

Lines changed: 36 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -184,24 +184,42 @@ namespace CefSharp
184184

185185
void WebView::OnPreviewKey(KeyEventArgs^ e)
186186
{
187-
CefRefPtr<CefBrowser> browser;
188-
if (!TryGetCefBrowser(browser))
189-
{
190-
return;
191-
}
192-
193-
if (e->Key == Key::Tab ||
194-
e->Key >= Key::Left && e->Key <= Key::Down)
195-
{
196-
CefBrowser::KeyType type = e->IsDown ? KT_KEYDOWN : KT_KEYUP;
197-
CefKeyInfo keyInfo;
198-
keyInfo.key = KeyInterop::VirtualKeyFromKey(e->Key);
199-
browser->SendKeyEvent(type, keyInfo, 0);
200-
201-
e->Handled = true;
202-
}
203-
}
204-
187+
CefRefPtr<CefBrowser> browser;
188+
if (!TryGetCefBrowser(browser))
189+
{
190+
return;
191+
}
192+
193+
if (e->Key == Key::Tab ||e->Key >= Key::Left && e->Key <= Key::Down)
194+
{
195+
CefBrowser::KeyType type = e->IsDown ? KT_KEYDOWN : KT_KEYUP;
196+
CefKeyInfo keyInfo;
197+
keyInfo.key = KeyInterop::VirtualKeyFromKey(e->Key);
198+
browser->SendKeyEvent(type, keyInfo, 0);
199+
200+
e->Handled = true;
201+
}
202+
}
203+
204+
void WebView::OnPreviewTextInput(TextCompositionEventArgs^ e)
205+
{
206+
CefRefPtr<CefBrowser> browser;
207+
if (!TryGetCefBrowser(browser))
208+
{
209+
return;
210+
}
211+
212+
CefBrowser::KeyType type;
213+
for (int i = 0;i<e->Text->Length;i++)
214+
{
215+
CefKeyInfo keyInfo;
216+
keyInfo.key =(int)e->Text[i];
217+
type = KT_CHAR;
218+
browser->SendKeyEvent(type, keyInfo, 0);
219+
}
220+
e->Handled = true;
221+
}
222+
205223
void WebView::OnMouseButton(MouseButtonEventArgs^ e)
206224
{
207225
CefRefPtr<CefBrowser> browser;

CefSharp.Wpf/WebView.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ namespace CefSharp
103103
virtual void OnLostFocus(RoutedEventArgs^ e) override;
104104
virtual void OnPreviewKeyDown(KeyEventArgs^ e) override;
105105
virtual void OnPreviewKeyUp(KeyEventArgs^ e) override;
106+
virtual void OnPreviewTextInput(TextCompositionEventArgs^ e) override;
106107

107108
virtual void OnMouseMove(MouseEventArgs^ e) override;
108109
virtual void OnMouseWheel(MouseWheelEventArgs^ e) override;

0 commit comments

Comments
 (0)