From 146aeb10921d1d7da75f63fdf8dffcbffca520e5 Mon Sep 17 00:00:00 2001 From: sekelsenmat Date: Sun, 24 Mar 2013 11:53:58 +0000 Subject: [PATCH] LCL-WinCE: Adds code to get some barcode scanners working with TEdit. Others still dont work. git-svn-id: trunk@40630 - --- lcl/interfaces/wince/wincecallback.inc | 3 +++ lcl/interfaces/wince/winceint.pp | 1 + lcl/interfaces/wince/winceobject.inc | 2 ++ 3 files changed, 6 insertions(+) diff --git a/lcl/interfaces/wince/wincecallback.inc b/lcl/interfaces/wince/wincecallback.inc index ed3c5b98d5..f47605ccb8 100644 --- a/lcl/interfaces/wince/wincecallback.inc +++ b/lcl/interfaces/wince/wincecallback.inc @@ -1478,6 +1478,9 @@ begin begin Msg := CN_KEYDOWN; KeyData := LParam; + // Work around to get readings of some barcode scanners + if (WParam = 0) and (WinCEWidgetset.BarcodeScannerWorkaround) then + WParam := VK_0; CharCode := Word(WParam); Result := 0; //DebugLn(Format('WM_KEYDOWN KeyData= %d CharCode= %d ',[KeyData,CharCode])); diff --git a/lcl/interfaces/wince/winceint.pp b/lcl/interfaces/wince/winceint.pp index f16aae410d..86a0a8755b 100644 --- a/lcl/interfaces/wince/winceint.pp +++ b/lcl/interfaces/wince/winceint.pp @@ -215,6 +215,7 @@ type { Variables to be set by the user } WinCETitlePolicy: TWinCETitlePolicy; + BarcodeScannerWorkaround: Boolean; end; {$I wincelistslh.inc} diff --git a/lcl/interfaces/wince/winceobject.inc b/lcl/interfaces/wince/winceobject.inc index 05aaff8dd4..62cef1c8f6 100644 --- a/lcl/interfaces/wince/winceobject.inc +++ b/lcl/interfaces/wince/winceobject.inc @@ -52,6 +52,8 @@ begin GetObject(Font, SizeOf(FMetrics.lfStatusFont), @FMetrics.lfStatusFont); GetObject(Font, SizeOf(FMetrics.lfMenuFont), @FMetrics.lfMenuFont); + BarcodeScannerWorkaround := True; + WinCEWidgetSet := Self; end; {------------------------------------------------------------------------------