Touch screen troubles


I'm using a TDBPlanner for a POS app. It works fine on our older touch hardware with win7 (first tap to select item, second tap to move). But on new ones running Windows 10, it's almost impossible to move an item. Sometime, by chance with the right timing, the item move. But most of the time, it's the planner that scrolls. Is there a solution to improve this ?

On the same hardware, there's a bug with the right click. By keeping the finger on an item, Windows display the overlay square, then the right-click menu. But the square remains on the screen when the menu appears. It's not a huge issue as the menu works.


If your items do not have inplace editing, did you try 
Planner.DefaultItem.ReadOnly = true and Planner.DirectMove = true? This way, you should be able to touch anywhere on the item and directly drag the item to a new position.

It's the way it's setup in my case. Works fine for the mouse. But on new touch screens, I have the feeling that the drag is not handled properly. When taping and draging on an item, it's scrolling the planner instead of the item that was tapped (even if item has been previously selected). I'm even not sure the component is getting the down event properly from Windows. In rare cases, with the perfect timing, the item gets dragged.

Maybe it's a matter of touch configuration on this machine?
Unfortunately not. Disabling long touch for right click just ... disable right click :-). It doesn't make the tap and drag work properly.

I have the feeling that Windows doesn't report events like it did in the paste on touch screens. Because with the mouse, clicking an item and dragging it without release the mouse selects the item and move it. If I do the same with the finger, the item is not selected. So it seems you do not get the down event. It's maybe necessary to link to another event on touch. Something like this :

I finally found a solution around this problem. I've added a message handler that catch WM_POINTERDOWN events. If the touch is inside a calendar meeting, I stop propagation and send a WM_MOUSEDOWN event to the planner grid. I then replace pointer update events with mouse move events and pointer up with mouse up. With that work around, users are again able to drag calendar items on touch devices running Win8 or later.

Thanks for informing. Do you handle this at form level or at Planner level?

As we already had an event procedure at application level, we used that one for the tests. But it's probably possible to manage the event at planner level.