Has anyone succesfully made a vb6 multi touch app using vb6.
A while back the sdk is based on com/win32 so i assume it could be done. Just hoping someone has done and give any hints on how and if this is possible.
Windows XP Tablet PC Edition and Windows Vista include the Tablet PC subsystem and API, and this should also still be available through Windows 8 and even Windows 8.1.
Tablet PC is a full ActiveX API, and most of it is easily used in VB6 programs.
Starting with Windows 7 there is a newer Touch Input API. This was the first support for multitouch aside from its narrowly available predecessor the Surface API almost nobody ever had. That "Surface" has nothing to do with the Win8 convertable-laptop Surface products on the market today.
This is a Win32 COM API, but only at a low level and not fully available to a VB6 program. I don't know of anyone using it successfully, or why you would want it.
Basically multitouch is a non-starter. What do you think you want it for? Tablet PC may do everything you would want such as pen-input text recognition and drawing.
Windows XP Tablet PC Edition and Windows Vista include the Tablet PC subsystem and API, and this should also still be available through Windows 8 and even Windows 8.1.
Tablet PC is a full ActiveX API, and most of it is easily used in VB6 programs.
Starting with Windows 7 there is a newer Touch Input API. This was the first support for multitouch aside from its narrowly available predecessor the Surface API almost nobody ever had. That "Surface" has nothing to do with the Win8 convertable-laptop Surface products on the market today.
This is a Win32 COM API, but only at a low level and not fully available to a VB6 program. I don't know of anyone using it successfully, or why you would want it.
Basically multitouch is a non-starter. What do you think you want it for? Tablet PC may do everything you would want such as pen-input text recognition and drawing.
With my program users need to be able to touch multiple faders and buttons at the same time during operation
The attached is a demo of Multitouch in VB6. I’m posting here because I haven’t been able to find a similar demo written in VB6 anywhere. Of course you need a computer with a touch sensitive screen for it work – otherwise the demo does nothing!
Many thanks to dilettante and Bonnie West for their posts on WM_TOUCH and SubClassing respectively which made it possible for me to construct this demo.
I’ve tested it successfully on Microsoft Surface Go and Surface Pro tablets and laptops. If anyone has a different style touch screen, I’m curious to learn if it works on your system.
Although Multitouch is fun to play with, I can’t think of much general use beyond pinch-zoom-move for photos, maps, documents, games, or control pads for robotics and musicians, which in those cases it might be useful and intuitive.
I’ve tested it successfully on Microsoft Surface Go and Surface Pro tablets and laptops. If anyone has a different style touch screen, I’m curious to learn if it works on your system.
......
...many thanks for this! It works great on a cheap W8 Tablet with up to ten touches. It also works on a rather ancient optical touchscreen with two touches, though it gets confused easily if you cross touches.
....or control pads for robotics and musicians
.... well, that's exactly what I intend to do, so your demo is a great starting point, thanks a lot!!!
The attached is a demo of Multitouch in VB6. I’m posting here because I haven’t been able to find a similar demo written in VB6 anywhere. Of course you need a computer with a touch sensitive screen for it work – otherwise the demo does nothing!
Many thanks to dilettante and Bonnie West for their posts on WM_TOUCH and SubClassing respectively which made it possible for me to construct this demo.
I’ve tested it successfully on Microsoft Surface Go and Surface Pro tablets and laptops. If anyone has a different style touch screen, I’m curious to learn if it works on your system.
Although Multitouch is fun to play with, I can’t think of much general use beyond pinch-zoom-move for photos, maps, documents, games, or control pads for robotics and musicians, which in those cases it might be useful and intuitive.
The attached is a demo of Multitouch in VB6. I’m posting here because I haven’t been able to find a similar demo written in VB6 anywhere. Of course you need a computer with a touch sensitive screen for it work – otherwise the demo does nothing!
Many thanks to dilettante and Bonnie West for their posts on WM_TOUCH and SubClassing respectively which made it possible for me to construct this demo.
I’ve tested it successfully on Microsoft Surface Go and Surface Pro tablets and laptops. If anyone has a different style touch screen, I’m curious to learn if it works on your system.
Although Multitouch is fun to play with, I can’t think of much general use beyond pinch-zoom-move for photos, maps, documents, games, or control pads for robotics and musicians, which in those cases it might be useful and intuitive.
SeabrookStan
Hello, I am trying to migrate your code to vbnet but without success. Did you take the test?
Thank you
Once you strip away all the glitter of the photo rotation and graphics from the demo code, the key to getting multitouch to work is in understanding the GetTouchInputInfo and associated APIs, along with SubClassing. Regarding the test – so far it has worked on all multitouch devices.
I don’t know of any reason why the code couldn’t be rewritten in VB.NET, but I don't have any plans on migrating there, especially since MS signaled that its demise is on the horizon. Personally, the alternative I dabble in is C#, since the VS IDE feels familiar, and since I expect it will have some longevity along with a sufficiently large user base - but for now, VB6 is still my home.
Thank you SO very much for posting this!
I need to add touch screen support to an old VB6 application, and must detect the "touch" of a button press when it is depressed/held, not released.
This code example looks great!
I compiled your project to an EXE, and created a deployment package without issues..
While it does launch/run on my HP All-In-One, the application reports "Touch Available = False" on the top and does not react to touch inputs..
Compounding my issue is my IDE is not on that machine..
Any ideas as to why this might not detect the touch screen?
Scratch my last post!!
I had fubar'd the environment with my own code testing, a reboot restored the driver..
Everything works great.. Than you for posting this!
I'd love to better understand how the code works..!
especially since MS signaled that its demise is on the horizon.
Originally Posted by yostone
After that I understand that Vbnet is not up to date.
Gross misinformation here. VB.Net is going to be around for a very long time. MS wants VB to remain approachable and have decided not to add any more significant language features. They consider it mature enough going forward.
As for .Net, on the whole, it seems intent on establishing a foothold outside the Windows ecosystem for the foreseeable future and the developers have choses C# as their flagship language. You won't see much of VB.Net there. However, VB.Net is not going anywhere. It's just not moving forward into this exciting new world outside of Windows. If you intend on dipping you feet into the waters of .Net Core and non-Windows development, you'd best go with C#. However, if you plan on remaining a Windows Desktop programmer, VB.Net would remain a fine choice for many many years to come. VB.Net is as up to date as is necessary.
C++ programmers will dismiss you as a cretinous simpleton for your inability to keep track of pointers chained 6 levels deep and Java programmers will pillory you for buying into the evils of Microsoft. Meanwhile C# programmers will get paid just a little bit more than you for writing exactly the same code and VB6 programmers will continue to whitter on about "footprints". - FunkyDexter
There's just no reason to use garbage like InputBox. - jmcilhinney
The threads I start are Niya and Olaf free zones. No arguing about the benefits of VB6 over .NET here please. Happiness must reign. - yereverluvinuncleber
I'd say that's a bit of misinformation, too, and that's largely the problem with the world these days: It's moving so doggone fast that it's hard to keep up.
You mentioned core and multi platform. .NET 5 is supposed to replace both Core and Framework with a unified approach...which VB.NET will be a part of. Some or all of this will also compile to native, will be cross-platform, will make a cup of coffee and bring in the wash...well, who knows. At least .NET 5 is now out, so we'll soon figure out what was real and what was hype.
OMG!!!!! With your sample, you have helped me to fix my app within 3 hours. 8 hours before I have to deliver it to a customer, thank you soooooooooo much!!!! I never expected it to be so complex.