Hi
We use an UltraGrid (.NET Framework 4.8) with these two settings configured:
.Override.CellClickAction = Infragistics.Win.UltraWinGrid.CellClickAction.CellSelect;.Override.AutoEditMode = Infragistics.Win.DefaultableBoolean.True;
We have the issue that if a cell is selected (not in edit mode) and the user starts typing the EURO sign (€) the cell does not display the € sign but a different character. Once in edit mode the € sign can be entered without any issue.
We tracked down the issue and it seems to be caused by a missing "Charset = Unicode" at the DllImport attribute for the SendMessage method of the user32.dll. If I implement my own Editor and override the ProcessForwardedKeyMessage method using a DllImport with the Charset configured to Unicode it seems to work. We can also see the changed key code of the WM_CHAR event using Microsoft Spy++.
Is there any other workaround or configuration that I'm missing where I can fix that behavior without having to exchange all used Editor implementations? Maybe some global Charset configuration for the Infragistics components that I'm missing?
Thanks for the help.
Regards,
Karsten
Hello ,
Thank you for the post. May I know how you are typing the euro sign ?
At my end for Euro sign I had to press Alt+0128 and when I am typing it to doc file its showing the euro sign as expected but for the grid its showing some other sign like you mentioned. But for me in the grid, behavior is not different for the cell selection and cell edit mode , for me I am getting this different sign in both the cases.
Here I attached my isolated sample for you to test it.Let me know if your behavior is still different for cell selection and edit mode.
Also just to know as per the support life cycle , we no longer bug fix for V21.2 so in order to apply the fix patch you would have to upgrade to most latest supported version V23.1.
TestWindowsFormsApp8.zip
I'm using a German keyboard so I just have to press "Alt Gr" (which is basically just "CTRL" + "ALT" together) and "E" to enter the €-Sign.
I've tried the test application (with the V23.1) using the keyboard input, using the virtual keyboard of windows, and using the "Alt" + 0128 combination, they all result in the same behavior. The first time the € sign is typed (before the cell is in edit mode) the character comes out wrong, the following times the character is entered (once the text box handles the input directly) the character is fine.
For all the input methods I get the same picture using Microsoft Spy++, so I can see that the character code or the SendMessage call is something different than the original WM_CHAR posted by windows. SendMessage is indicated by the 'S' where all the other lines have a 'P' at the beginning of the line.
I hope this helps analyze the issue.
<000001> 02A204FA P WM_KEYDOWN nVirtKey:VK_CONTROL cRepeat:1 ScanCode:1D fExtended:0 fAltDown:0 fRepeat:0 fUp:0 [wParam:00000011 lParam:001D0001] <000002> 02A204FA P WM_KEYDOWN nVirtKey:VK_MENU cRepeat:1 ScanCode:38 fExtended:1 fAltDown:1 fRepeat:0 fUp:0 [wParam:00000012 lParam:21380001] <000003> 02A204FA P WM_KEYDOWN nVirtKey:'E' cRepeat:1 ScanCode:12 fExtended:0 fAltDown:1 fRepeat:0 fUp:0 [wParam:00000045 lParam:20120001] <000004> 02A204FA P WM_CHAR chCharCode:'128' (128) cRepeat:1 ScanCode:12 fExtended:0 fAltDown:1 fRepeat:0 fUp:0 [wParam:00000080 lParam:20120001] <000005> 00CD0F14 S WM_CHAR chCharCode:'172' (172) cRepeat:1 ScanCode:12 fExtended:0 fAltDown:1 fRepeat:0 fUp:0 [wParam:000000AC lParam:20120001] <000006> 00CD0F14 R WM_CHAR lResult:00000001 <000007> 00CD0F14 P WM_KEYUP nVirtKey:'E' cRepeat:1 ScanCode:12 fExtended:0 fAltDown:1 fRepeat:1 fUp:1 [wParam:00000045 lParam:E0120001] <000008> 00CD0F14 P WM_SYSKEYUP nVirtKey:VK_CONTROL cRepeat:1 ScanCode:1D fExtended:0 fAltDown:1 fRepeat:1 fUp:1 [wParam:00000011 lParam:E01D0001] <000009> 00CD0F14 P WM_KEYUP nVirtKey:VK_MENU cRepeat:1 ScanCode:38 fExtended:1 fAltDown:0 fRepeat:1 fUp:1 [wParam:00000012 lParam:C1380001] <000010> 00CD0F14 P WM_KEYDOWN nVirtKey:VK_CONTROL cRepeat:1 ScanCode:1D fExtended:0 fAltDown:0 fRepeat:0 fUp:0 [wParam:00000011 lParam:001D0001] <000011> 00CD0F14 P WM_KEYDOWN nVirtKey:VK_MENU cRepeat:1 ScanCode:38 fExtended:1 fAltDown:1 fRepeat:0 fUp:0 [wParam:00000012 lParam:21380001] <000012> 00CD0F14 P WM_KEYDOWN nVirtKey:'E' cRepeat:1 ScanCode:12 fExtended:0 fAltDown:1 fRepeat:0 fUp:0 [wParam:00000045 lParam:20120001] <000013> 00CD0F14 P WM_CHAR chCharCode:'128' (128) cRepeat:1 ScanCode:12 fExtended:0 fAltDown:1 fRepeat:0 fUp:0 [wParam:00000080 lParam:20120001] <000014> 00CD0F14 P WM_KEYUP nVirtKey:'E' cRepeat:1 ScanCode:12 fExtended:0 fAltDown:1 fRepeat:1 fUp:1 [wParam:00000045 lParam:E0120001] <000015> 00CD0F14 P WM_SYSKEYUP nVirtKey:VK_CONTROL cRepeat:1 ScanCode:1D fExtended:0 fAltDown:1 fRepeat:1 fUp:1 [wParam:00000011 lParam:E01D0001] <000016> 00CD0F14 P WM_KEYUP nVirtKey:VK_MENU cRepeat:1 ScanCode:38 fExtended:1 fAltDown:0 fRepeat:1 fUp:1 [wParam:00000012 lParam:C1380001] <000017> 00CD0F14 P WM_KEYDOWN nVirtKey:VK_CONTROL cRepeat:1 ScanCode:1D fExtended:0 fAltDown:0 fRepeat:0 fUp:0 [wParam:00000011 lParam:001D0001] <000018> 00CD0F14 P WM_KEYDOWN nVirtKey:VK_MENU cRepeat:1 ScanCode:38 fExtended:1 fAltDown:1 fRepeat:0 fUp:0 [wParam:00000012 lParam:21380001] <000019> 00CD0F14 P WM_KEYDOWN nVirtKey:'E' cRepeat:1 ScanCode:12 fExtended:0 fAltDown:1 fRepeat:0 fUp:0 [wParam:00000045 lParam:20120001] <000020> 00CD0F14 P WM_CHAR chCharCode:'128' (128) cRepeat:1 ScanCode:12 fExtended:0 fAltDown:1 fRepeat:0 fUp:0 [wParam:00000080 lParam:20120001] <000021> 00CD0F14 P WM_KEYUP nVirtKey:'E' cRepeat:1 ScanCode:12 fExtended:0 fAltDown:1 fRepeat:1 fUp:1 [wParam:00000045 lParam:E0120001] <000022> 00CD0F14 P WM_SYSKEYUP nVirtKey:VK_CONTROL cRepeat:1 ScanCode:1D fExtended:0 fAltDown:1 fRepeat:1 fUp:1 [wParam:00000011 lParam:E01D0001] <000023> 00CD0F14 P WM_KEYUP nVirtKey:VK_MENU cRepeat:1 ScanCode:38 fExtended:1 fAltDown:0 fRepeat:1 fUp:1 [wParam:00000012 lParam:C1380001] <000024> 02A204FA P WM_KEYDOWN nVirtKey:VK_CONTROL cRepeat:1 ScanCode:1D fExtended:0 fAltDown:0 fRepeat:0 fUp:0 [wParam:00000011 lParam:001D0001] <000025> 02A204FA P WM_KEYDOWN nVirtKey:VK_MENU cRepeat:1 ScanCode:38 fExtended:0 fAltDown:1 fRepeat:0 fUp:0 [wParam:00000012 lParam:20380001] <000026> 02A204FA P WM_KEYDOWN nVirtKey:'E' cRepeat:1 ScanCode:12 fExtended:0 fAltDown:1 fRepeat:0 fUp:0 [wParam:00000045 lParam:20120001] <000027> 02A204FA P WM_CHAR chCharCode:'128' (128) cRepeat:1 ScanCode:12 fExtended:0 fAltDown:1 fRepeat:0 fUp:0 [wParam:00000080 lParam:20120001] <000028> 00CD0F14 S WM_CHAR chCharCode:'172' (172) cRepeat:1 ScanCode:12 fExtended:0 fAltDown:1 fRepeat:0 fUp:0 [wParam:000000AC lParam:20120001] <000029> 00CD0F14 R WM_CHAR lResult:00000001 <000030> 00CD0F14 P WM_KEYUP nVirtKey:'E' cRepeat:1 ScanCode:12 fExtended:0 fAltDown:1 fRepeat:1 fUp:1 [wParam:00000045 lParam:E0120001] <000031> 00CD0F14 P WM_SYSKEYUP nVirtKey:VK_CONTROL cRepeat:1 ScanCode:1D fExtended:0 fAltDown:1 fRepeat:1 fUp:1 [wParam:00000011 lParam:E01D0001] <000032> 00CD0F14 P WM_KEYUP nVirtKey:VK_MENU cRepeat:1 ScanCode:38 fExtended:0 fAltDown:0 fRepeat:1 fUp:1 [wParam:00000012 lParam:C0380001] <000033> 00CD0F14 P WM_KEYDOWN nVirtKey:VK_CONTROL cRepeat:1 ScanCode:1D fExtended:0 fAltDown:0 fRepeat:0 fUp:0 [wParam:00000011 lParam:001D0001] <000034> 00CD0F14 P WM_KEYDOWN nVirtKey:VK_MENU cRepeat:1 ScanCode:38 fExtended:0 fAltDown:1 fRepeat:0 fUp:0 [wParam:00000012 lParam:20380001] <000035> 00CD0F14 P WM_KEYDOWN nVirtKey:'E' cRepeat:1 ScanCode:12 fExtended:0 fAltDown:1 fRepeat:0 fUp:0 [wParam:00000045 lParam:20120001] <000036> 00CD0F14 P WM_CHAR chCharCode:'128' (128) cRepeat:1 ScanCode:12 fExtended:0 fAltDown:1 fRepeat:0 fUp:0 [wParam:00000080 lParam:20120001] <000037> 00CD0F14 P WM_KEYUP nVirtKey:'E' cRepeat:1 ScanCode:12 fExtended:0 fAltDown:1 fRepeat:1 fUp:1 [wParam:00000045 lParam:E0120001] <000038> 00CD0F14 P WM_SYSKEYUP nVirtKey:VK_CONTROL cRepeat:1 ScanCode:1D fExtended:0 fAltDown:1 fRepeat:1 fUp:1 [wParam:00000011 lParam:E01D0001] <000039> 00CD0F14 P WM_KEYUP nVirtKey:VK_MENU cRepeat:1 ScanCode:38 fExtended:0 fAltDown:0 fRepeat:1 fUp:1 [wParam:00000012 lParam:C0380001] <000040> 02A204FA P WM_SYSKEYDOWN nVirtKey:VK_MENU cRepeat:1 ScanCode:38 fExtended:0 fAltDown:1 fRepeat:0 fUp:0 [wParam:00000012 lParam:20380001] <000041> 02A204FA P WM_SYSKEYDOWN nVirtKey:VK_NUMPAD0 cRepeat:1 ScanCode:52 fExtended:0 fAltDown:1 fRepeat:0 fUp:0 [wParam:00000060 lParam:20520001] <000042> 02A204FA P WM_SYSKEYUP nVirtKey:VK_NUMPAD0 cRepeat:1 ScanCode:52 fExtended:0 fAltDown:1 fRepeat:1 fUp:1 [wParam:00000060 lParam:E0520001] <000043> 02A204FA P WM_SYSKEYDOWN nVirtKey:VK_NUMPAD1 cRepeat:1 ScanCode:4F fExtended:0 fAltDown:1 fRepeat:0 fUp:0 [wParam:00000061 lParam:204F0001] <000044> 02A204FA P WM_SYSKEYDOWN nVirtKey:VK_NUMPAD2 cRepeat:1 ScanCode:50 fExtended:0 fAltDown:1 fRepeat:0 fUp:0 [wParam:00000062 lParam:20500001] <000045> 02A204FA P WM_SYSKEYUP nVirtKey:VK_NUMPAD1 cRepeat:1 ScanCode:4F fExtended:0 fAltDown:1 fRepeat:1 fUp:1 [wParam:00000061 lParam:E04F0001] <000046> 02A204FA P WM_SYSKEYUP nVirtKey:VK_NUMPAD2 cRepeat:1 ScanCode:50 fExtended:0 fAltDown:1 fRepeat:1 fUp:1 [wParam:00000062 lParam:E0500001] <000047> 02A204FA P WM_SYSKEYDOWN nVirtKey:VK_NUMPAD8 cRepeat:1 ScanCode:48 fExtended:0 fAltDown:1 fRepeat:0 fUp:0 [wParam:00000068 lParam:20480001] <000048> 02A204FA P WM_SYSKEYUP nVirtKey:VK_NUMPAD8 cRepeat:1 ScanCode:48 fExtended:0 fAltDown:1 fRepeat:1 fUp:1 [wParam:00000068 lParam:E0480001] <000049> 02A204FA P WM_KEYUP nVirtKey:VK_MENU cRepeat:1 ScanCode:38 fExtended:0 fAltDown:0 fRepeat:1 fUp:1 [wParam:00000012 lParam:C0380001] <000050> 02A204FA P WM_CHAR chCharCode:'128' (128) cRepeat:1 ScanCode:38 fExtended:0 fAltDown:0 fRepeat:1 fUp:1 [wParam:00000080 lParam:C0380001] <000051> 00CD0F14 S WM_CHAR chCharCode:'172' (172) cRepeat:1 ScanCode:38 fExtended:0 fAltDown:0 fRepeat:1 fUp:1 [wParam:000000AC lParam:C0380001] <000052> 00CD0F14 R WM_CHAR lResult:00000001 <000053> 00CD0F14 P WM_SYSKEYDOWN nVirtKey:VK_MENU cRepeat:1 ScanCode:38 fExtended:0 fAltDown:1 fRepeat:0 fUp:0 [wParam:00000012 lParam:20380001] <000054> 00CD0F14 P WM_SYSKEYDOWN nVirtKey:VK_NUMPAD0 cRepeat:1 ScanCode:52 fExtended:0 fAltDown:1 fRepeat:0 fUp:0 [wParam:00000060 lParam:20520001] <000055> 00CD0F14 P WM_SYSKEYUP nVirtKey:VK_NUMPAD0 cRepeat:1 ScanCode:52 fExtended:0 fAltDown:1 fRepeat:1 fUp:1 [wParam:00000060 lParam:E0520001] <000056> 00CD0F14 P WM_SYSKEYDOWN nVirtKey:VK_NUMPAD1 cRepeat:1 ScanCode:4F fExtended:0 fAltDown:1 fRepeat:0 fUp:0 [wParam:00000061 lParam:204F0001] <000057> 00CD0F14 P WM_SYSKEYDOWN nVirtKey:VK_NUMPAD2 cRepeat:1 ScanCode:50 fExtended:0 fAltDown:1 fRepeat:0 fUp:0 [wParam:00000062 lParam:20500001] <000058> 00CD0F14 P WM_SYSKEYUP nVirtKey:VK_NUMPAD1 cRepeat:1 ScanCode:4F fExtended:0 fAltDown:1 fRepeat:1 fUp:1 [wParam:00000061 lParam:E04F0001] <000059> 00CD0F14 P WM_SYSKEYUP nVirtKey:VK_NUMPAD2 cRepeat:1 ScanCode:50 fExtended:0 fAltDown:1 fRepeat:1 fUp:1 [wParam:00000062 lParam:E0500001] <000060> 00CD0F14 P WM_SYSKEYDOWN nVirtKey:VK_NUMPAD8 cRepeat:1 ScanCode:48 fExtended:0 fAltDown:1 fRepeat:0 fUp:0 [wParam:00000068 lParam:20480001] <000061> 00CD0F14 P WM_SYSKEYUP nVirtKey:VK_NUMPAD8 cRepeat:1 ScanCode:48 fExtended:0 fAltDown:1 fRepeat:1 fUp:1 [wParam:00000068 lParam:E0480001] <000062> 00CD0F14 P WM_KEYUP nVirtKey:VK_MENU cRepeat:1 ScanCode:38 fExtended:0 fAltDown:0 fRepeat:1 fUp:1 [wParam:00000012 lParam:C0380001] <000063> 00CD0F14 P WM_CHAR chCharCode:'128' (128) cRepeat:1 ScanCode:38 fExtended:0 fAltDown:0 fRepeat:1 fUp:1 [wParam:00000080 lParam:C0380001]
Thank you for your support.
Hello,
Thank you for the detail information . I am able to reproduce the issue and asked the development team to investigate it further. To ensure that it will receive attention, I have logged this behavior in our internal tracking system with a Development ID of 24112.
I created a private case C-00233629 to link with the issue. You can access the case from your infragistics account support section .
Let me know if you have any question.