VB6 usercontrol takes away focus from NET usercontrol
Hi all,
I have a form with a VB6 usercontrol, a .NET usercontrol (made using WPF), a textbox (say "Resetter") and a button.
VB6 usercontrol has 3 text boxes. .NET usercontrol has one textbox and a label.
For test purposes both usercontrols have no background logic, just GUI elements.
In following scenario VB6 usercontrol steals focus from .NET usercontrol when using arrow buttons:
Click the middle textbox of VB6 usercontrol
Click textbox in .NET usercontrol
Try to move the cursor with arrow buttons - the focus jumps back to the VB6 usercontrol
If I change the scenario a bit - the focus doesn't change:
Click the middle textbox of VB6 usercontrol
Click the "Resetter" textbox (or button)
Click textbox in .NET usercontrol
Try to move the cursor with arrow buttons - no focus changes occur, cursor is moved normally
The question is - how can I avoid those focus changes?
Last edited by firelex; Dec 3rd, 2021 at 04:29 AM.
Re: VB6 usercontrol takes away focus from NET usercontrol
Welcome to the forums...and as a welcome gift, I removed your attachment.
We don't allow compiled code to be included in attachments, because we've had trouble with that in the past. Most of what you attached looked good, but you included the compiled exe, which is not allowed. Please strip that out and re attach.
Re: VB6 usercontrol takes away focus from NET usercontrol
Originally Posted by firelex
Hi Shaggy Hiker,
I've removed exe from the attachment. Dll-file is still there - should I remove it as well?
Yes. Any and all compiled binaries should be removed. We can't see what's in compiled binaries, and we've been bitten by that before, so the policy is that you either only post the relevant code in the post (preferred option) or if you post the project, you first delete all binary files before zipping it up and attaching it.
Re: VB6 usercontrol takes away focus from NET usercontrol
Originally Posted by firelex
Hi all,
I have a form with a VB6 usercontrol, a .NET usercontrol (made using WPF), a textbox (say "Resetter") and a button.
VB6 usercontrol has 3 text boxes. .NET usercontrol has one textbox and a label.
For test purposes both usercontrols have no background logic, just GUI elements.
In following scenario VB6 usercontrol steals focus from .NET usercontrol when using arrow buttons:
Click the middle textbox of VB6 usercontrol
Click textbox in .NET usercontrol
Try to move the cursor with arrow buttons - the focus jumps back to the VB6 usercontrol
If I change the scenario a bit - the focus doesn't change:
Click the middle textbox of VB6 usercontrol
Click the "Resetter" textbox (or button)
Click textbox in .NET usercontrol
Try to move the cursor with arrow buttons - no focus changes occur, cursor is moved normally
The question is - how can I avoid those focus changes?
It seems this cannot be avoided. I tried a whole bunch of different things to try to eliminate the behavior but everything failed. It seems there is some incompatibility deep in the guts of VB6 and WPF that causes them to not play well together like this.
I would suggest that if you want to utilize WPF, the entire Form should be a WPF Form. I'd avoid mixing WPF UI elements with VB6 controls on the same Form.
I'll poke and prod at it in the meantime to see if I can figure it out but don't pin your hopes on this. It's very unlikely I will be able to figure out how to eliminate this behavior.
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
Re: VB6 usercontrol takes away focus from NET usercontrol
Originally Posted by Schmidt
What is it (speciality-wise), the WPF-based control does?
The similarities between VB6/Win32 controls and WPF controls are only skin deep. Beneath the surface, they are completely different. WPF is designed in such a way that you can go wild with customizations without any special knowledge. Like you could have the drop-down of a ComboBox use a DataGrid where each row cell of the DataGrid has a calendar control next to a ListBox stacked on top of a video player. Like you could just just do all kinds of crazy customizations in WPF at will without all the Win32 wizardry you'd need in VB6, C or WinForms that very few people have the knowledge or time to do.
EDIT:
Oh and WPF's rendering engine is powered by DirectX so it can be very fast.
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
Re: VB6 usercontrol takes away focus from NET usercontrol
Originally Posted by Niya
The similarities between VB6/Win32 controls and WPF controls are only skin deep.
I didn't ask for an explanation how WPF works.
My question was related to my recommendation, to use a true COM-control (instead of a .NET one).
(e.g. why not use a VB6-TextBox on a VB6-implemented UserControl to avoid all those focusing-problems)?
Seems there is something to this "WPF-based control", which the OP thinks is "difficult to find" in the VB6-world.
I just wanted to know, what this "special something" is...
Re: VB6 usercontrol takes away focus from NET usercontrol
Originally Posted by Schmidt
Seems there is something to this "WPF-based control", which the OP thinks is "difficult to find" in the VB6-world.
I just wanted to know, what this "special something" is...
I'm trying to say that OP probably wants the easy customization that WPF offers. I could be completely wrong but this is the only reason I'd ever consider mixing WPF and VB6.
For example if I wanted to spice up a VB6 application with some fancy UI tricks like this, you really think in 2021 I'm going to bother with sub-classing writing a bunch of GDI/User32 code? I'd just write the damn thing in WPF, import it in VB6 and be done with it.
Of course that's just me. Hopefully OP comes back and can answer your question so you can then provide a pure VB6 solution if possible.
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
Re: VB6 usercontrol takes away focus from NET usercontrol
I would also like to point out that I'm sure you're far more knowledgeable than me on the inner workings of Win32/VB6 controls so you could probably solve this focusing problem in in like 2 minutes, which gives the OP exactly what he asked for.
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
Re: VB6 usercontrol takes away focus from NET usercontrol
Originally Posted by Niya
For example if I wanted to spice up a VB6 application with some fancy UI tricks like this,
you really think in 2021 I'm going to bother with sub-classing writing a bunch of GDI/User32 code?
Re: VB6 usercontrol takes away focus from NET usercontrol
Originally Posted by Niya
I would also like to point out that I'm sure you're far more knowledgeable than me on the inner workings of Win32/VB6 controls so you could probably solve this focusing problem in in like 2 minutes, which gives the OP exactly what he asked for.
I'm not going to do that, because it would be "bad advice" IMO.
Dragging .NET-stuff into a working VB6-App isn't a good idea at all (as the current problems show)...
In addition, it just opens a lot of potential deployment-problems "down the line", one has to take into account.
A little less risky is the opposite direction (using VB6-COM-Components within a .NET-app).
Though one has to be aware, that this limits the .NET-app to 32Bit then.
Yea, that's pretty cool but that example seems to be particularly about the ComboBox. In WPF you could do any level of customization with any Control. Like you could have buttons with calendars on them or menu items with media player controls on the left and a ComboBox on the right. Like you could go absolutely nuts in WPF with the kinds of insane things you could do. You just imagine any crazy combination UI elements and WPF could probably do it fairly easily.
Originally Posted by Schmidt
And FTR, my question was meant for the OP - let's see what he has to say about this.
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
Re: VB6 usercontrol takes away focus from NET usercontrol
Originally Posted by Schmidt
I'm not going to do that, because it would be "bad advice" IMO.
Well, this depends on what the OP wants. We'll find out if he ever comes back.
Originally Posted by Schmidt
Dragging .NET-stuff into a working VB6-App isn't a good idea at all (as the current problems show)...
Hmmmmm. Not really. I mean you're not wrong in that there could be problems. However, it's not as bad as you'd expect especially if you avoid UI related stuff. .Net objects tend to work extremely well in VB6 applications most of the time.
Originally Posted by Schmidt
In addition, it just opens a lot of potential deployment-problems "down the line", one has to take into account.
Actually it doesn't add anything in the way of deployment problems. You have to register .Net COM interop components just as you would have to do with any other COM component. The only real difference is that you have to use RegAsm instead of RegSvr32. The only other problem that could come up is not having the right version of the .Net Framework on the target machine. However, if you know beforehand which versions of Windows you want to target, you can just compile it against the relevant Framework and that problem goes away since all recent versions of Windows come with some version of the .Net Framework already installed.
Originally Posted by Schmidt
A little less risky is the opposite direction (using VB6-COM-Components within a .NET-app).
I agree here since the same version of the VB6 runtime is on practically every Windows installation in the wild. You never have to worry about if it's going to be there or version conflicts. One of the few benefits of Microsoft abandoning VB6. It's very stable.
Originally Posted by Schmidt
Though one has to be aware, that this limits the .NET-app to 32Bit then.
I personally think 64 bit compilation is bit overrated.
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
Re: VB6 usercontrol takes away focus from NET usercontrol
Holy pentium!
Didn't thought my question would cause such a discussion.
First of all: usage of NET elements is caused by the evolution of the programm. Originally written in VB5, it was maintained all time long - in terms of VB6. And now because clients complain "GUI isn't sexy enough" it will be step by step transferred into NET.
Main technique so far is usage of elements capsuled in register-free dlls. It was OK until now because elements were not mixed on one VB-form. Mainly it were new featues, which were completely implemented using WPF. So it was enough to make window border invisible and embed it into VB-form using SetParent.
Now older forms should be transferred. Due to the complexity it would take much time to replace the whole VB6-form at once. So the idea was to replace only GUI elements and leave VB6 as back-end. Now we've got to the original problem with focus switching back to VB6-controls.
In the meantime we have got out that using VB6-forms and WPF-forms parallelly leads to the same problem.
Namely when using a floating WPF-window in a MDI V6 application arrow and TAB keys also make focus get back to the VB6 application.
Of course only if in VB6 application is currently a form visible with a VB6-usercontrol on it.
Re: VB6 usercontrol takes away focus from NET usercontrol
Well I guess we have to solve this focus problem then. My investigation so far has revealed that focus events aren't even being raised when the change of focus happens so something weird is definitely going on underneath the hood. I'll do a little more poking and prodding to see what I come up with. There is probably some simple solution.
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
Re: VB6 usercontrol takes away focus from NET usercontrol
Originally Posted by firelex
...clients complain "GUI isn't sexy enough"
Can only repeat my advice... stay in VB6 if you want to make it "more sexy".
There is tons and tons of nice, unicode-capable VB6-controls in the VB6-CodeBank.
Easiest (as in "cheapest") thing to do in that regard is, to include a Manifest in your compiled executable,
to make the system render the Common Controls in the current (modern) styles.
Re: VB6 usercontrol takes away focus from NET usercontrol
Originally Posted by Schmidt
There is tons and tons of nice, unicode-capable VB6-controls in the VB6-CodeBank.
I'm curious about this.
@firelex.
Why didn't you guys choose this route? Why did you choose to combine WPF with VB6? I mean I could think of reasons why I would have gone this way but I wonder what your reasons were. Is it because you intend to eventually migrate the entire application to .Net?
My personal opinion is that it should be migrated to .Net ASAP but this is a huge commitment if the application is large. Not many people can commit to something like this and in such cases it's just easier to maintain it in VB6.
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
Re: VB6 usercontrol takes away focus from NET usercontrol
Originally Posted by Schmidt
Easiest (as in "cheapest") thing to do in that regard is, to include a Manifest in your compiled executable,
to make the system render the Common Controls in the current (modern) styles.
Yes, it was the first thing we've tried. It is really simple and makes VB6 application look in modern style.
It could have worked, but as soon as the head of client's IT department sees "VB6" as basic application language - your app is immediately classified as "old-fashioned" (and not future proof), what brings negative mood no matter how good the application is (and no matter that Microsoft adds VB6 support in every new Windows version).
It is very annoying, but seen at quite a few potential customers.
Re: VB6 usercontrol takes away focus from NET usercontrol
Wait. Are you saying your clients actually care that the application is written in VB6? This is quite surprising to me. I've never heard a client of ours complain about the language our solutions were created using.
EDIT:
Oh I just realize you said that it's their IT department that's giving you the headaches. Well in this case, moving to .Net is the best option. You aren't going to convince IT people in 2021 that VB6 is any good. Outside of this forum, most programmers and other IT specialists think it's trash and no real argument exists to convince them otherwise.
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
Re: VB6 usercontrol takes away focus from NET usercontrol
Originally Posted by Niya
Outside of this forum, most programmers and other IT specialists think it's trash and no real argument exists to convince them otherwise.
It is true and it is very sad. VB6 is a wonderful and powerful programming language and I think it is undeserved to downgrade it with such clichees.
But maintaining an app, which is in a "soft changeover" has it's good sides: that annoying IT'er has his bone and doesn't seek much more. Others see "using modern and future proof .NET technology" and are also satisfied. And we are happy having a solid base.
Re: VB6 usercontrol takes away focus from NET usercontrol
Originally Posted by firelex
...as soon as the head of client's IT department sees "VB6" as basic application language -
your app is immediately classified as "old-fashioned"...
At the place where I work, we maintain a huge VB6-App
(which certainly looks modern, after an overhaul we did 5 years ago).
It has about 170MB of regfree deployed COMponents (in about 200 Dlls and OCXes in a Bin-SubFolder).
With new customers, one doesn't have to mention VB6 directly (unless "directly and specifically asked").
E.g. one can explain, that MS-COM-technology is used, to be able to interact more directly with MS-Office-Apps
("thankful nod" at the customer-side, which in our case, without exception all run MS-Office-Apps so far)...
And one could also mention *beforehand*, that ones own COM-binaries are produced with a 32Bit-C++-compiler
(which is true - and often enough "avoids" the question about the implementation-language).
When questions about 64Bit-binaries (or direct questions about the impl. language) *are* asked,
you have to be truthful of course - but we accompany that, by mentioning our "awareness" -
and demonstrate the latest results of our Web-migration-efforts (as well as all the "side-bindings",
our Desktop-App offers when interacting with a given Customers WebSite, for "Online-Orders" and stuff).
This "Web-Shifting" started "slowly" (about 4 years ago), but gained speed over the years -
and we are now roughly at 40-50% of the functionality of the "big Desktop-Monster-App".
A few customers who don't need "everything and the kitchen-sink", already use that "light-version" of our App.
We found, that any "mixing" or "migrating" (Desktop-to-Desktop) -
takes roughly the same amount of time and efforts as a "full Web-Port".
Maybe that story helps with your own decisions...
(you might also keep in mind, that many "C#-Shops" are considering "going full Web" as well,
"leaving the big Desktop-solutions behind")
Re: VB6 usercontrol takes away focus from NET usercontrol
Originally Posted by firelex
It is true and it is very sad. VB6 is a wonderful and powerful programming language and I think it is undeserved to downgrade it with such clichees.
But maintaining an app, which is in a "soft changeover" has it's good sides: that annoying IT'er has his bone and doesn't seek much more. Others see "using modern and future proof .NET technology" and are also satisfied. And we are happy having a solid base.
I'm just going to be honest. I think the best idea is to aim towards an eventual complete port of the application to .Net. It makes no sense exhausting yourself by fighting to keep it in VB6. VB6 isn't really that bad of a development environment but lets face reality, it's 20+ years old and unsupported by Microsoft while .Net is continuously being updated and has a massive community behind it providing support. These IT heads giving you a hard time about VB6 know this. Most people don't have time or the will to wrangle with the issues that come with dealing with outdated tech. I think integrating .Net into your VB6 application is a good first step but it should be fully ported eventually.
Also, Olaf touched on something very important, the move to web applications. This is also something that is also becoming the new norm and in this case you definitely do not want to find yourself in VB6.
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
Re: VB6 usercontrol takes away focus from NET usercontrol
As an independent observer to this thread IMO best would be to move away both from VB6 and .Net towards more web friendly tech stack incl. web-based desktop technologies like Electron and many other emerging WebView2-based ones (for Windows at least).
Re: VB6 usercontrol takes away focus from NET usercontrol
Originally Posted by wqweto
As an independent observer to this thread IMO best would be to move away both from VB6 and .Net towards more web friendly tech stack incl. web-based desktop technologies like Electron and many other emerging WebView2-based ones (for Windows at least).
cheers,
</wqw>
This is also a very good idea as far as web application development goes. However, Microsoft is pushing .Net in this direction also. Stacks like Electron are more mature but I'm willing to bet that in a few short years that technologies like Blazor Hybrid will become very competent in their own right.
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
Re: VB6 usercontrol takes away focus from NET usercontrol
Originally Posted by firelex
Yes, it was the first thing we've tried. It is really simple and makes VB6 application look in modern style.
It could have worked, but as soon as the head of client's IT department sees "VB6" as basic application language - your app is immediately classified as "old-fashioned" (and not future proof), what brings negative mood no matter how good the application is (and no matter that Microsoft adds VB6 support in every new Windows version).
It is very annoying, but seen at quite a few potential customers.
Originally Posted by Niya
Wait. Are you saying your clients actually care that the application is written in VB6? This is quite surprising to me. I've never heard a client of ours complain about the language our solutions were created using.
EDIT:
Oh I just realize you said that it's their IT department that's giving you the headaches. Well in this case, moving to .Net is the best option. You aren't going to convince IT people in 2021 that VB6 is any good. Outside of this forum, most programmers and other IT specialists think it's trash and no real argument exists to convince them otherwise.
Yep... some IT departments care about such things. After you sell them the system, they have to maintain it... and often, they're not going to want to tinker with aging technology. Circa 2008 we lost out on a $3M deal because our app was still in VB6 at the time, and we didn't have plans yet to migrate to .NET.... and that was in 2008! VB6 hadn't even gotten to the rigor mortis stage yet!
So, yes, some places do care what platform their stuff is built on. When you spend a couple million on something, you want to have confidence that it's going to work for a while. And if you see something that's built on VB6, you don't know if it's going to die tomorrow. There's also the issue of knowledge attrition. The amount of VB6 developers is dropping. Some to retirement, some due to frustration, some due to career change. It's easier to find a .NET developer to make changes than it is to find a VB6 developer. And when you do, you have to worry about that proverbial beer truck. O.O
Originally Posted by firelex
It is true and it is very sad. VB6 is a wonderful and powerful programming language and I think it is undeserved to downgrade it with such clichees.
But maintaining an app, which is in a "soft changeover" has it's good sides: that annoying IT'er has his bone and doesn't seek much more. Others see "using modern and future proof .NET technology" and are also satisfied. And we are happy having a solid base.
It may also be about knowledge... we get older and we cling to our older tech, younger people are moving in and taking over... they have to maintain this stuff. When I started out, I didn't want to have to maintain COBOL app written '64 any more than someone starting out today wants to maintain a VB6 app written in '2000.
Re: VB6 usercontrol takes away focus from NET usercontrol
Originally Posted by techgnome
And when you do, you have to worry about that proverbial beer truck. O.O
-tg
I would have said "bread truck", but when you get right down to it, beer trucks are dangerous in TWO ways. Very few people EAT themselves into a stupor.
Re: VB6 usercontrol takes away focus from NET usercontrol
@firelex
Ok I've found some possible workarounds.
It seems that siting the WPF UserControl on a VB6 Frame is one of the causes. The Frame object swallows up certain key strokes like the arrow keys. Site the WPF UserControl directly on the VB6 Form or in a PictureBox. Also, if there is a VB6 UserControl on the same Form that contains focusable controls and one of those controls get focus at any point, then from that point forward any arrow key press will change the focus. However, if the controls within the VB6 UserControl are sited directly on the VB6 Form, everything works correctly.
One more thing, I really didn't like how the WPF controls were exported so I made some changes there. I wanna investigate a little more before I post any code.
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
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
Re: VB6 usercontrol takes away focus from NET usercontrol
Originally Posted by Niya
I mean instead of siting on a UserControl, you site it on the Form itself.
You mean - not to use VB6 UserControls in such situations? It is a complicated way, but it would do.
I think I've found solution for this problem. We are testing it now but it seems to be promicing so far.
I've found an old post on Microsoft Helpdesk forum. An expert said, that using combination "WPF + VB6" will always bring such problems thus techniques of keyboard event handling is too different. However combination "WinForms + VB6" won't because of similiarity of the techniques used.
So the idea is to use WPF for .NET-UserControl creation, but wrap it in a WinForms form.
Re: VB6 usercontrol takes away focus from NET usercontrol
I almost suggested something like that but I felt it was too complicated and you may not have wanted such a convoluted solution that involved WinForms, WPF and VB6.
But yea, I pretty much reached the same conclusion about VB6 and WPF being incompatible. I've tried all manner tricks and nothing really worked 100%. I'd get close but never quite properly working.
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