Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
690 views
in Technique[技术] by (71.8m points)

dll - Can I add a .Net visual component on a Progress-4GL window?

I would like to add a tabstrip component to a frame of a Progress-4GL window.

In my company, this is currently done, using a ActiveX component (OCX). This, however, can't be defined at design-time, and in top of that, in order to view a certain tabpage, this is done by turning its components visible while turning all others invisible.

This, obviously, is a big burden, and I'd like to make this easier.

In a previous question, I've learnt that it is possible to add references to external .Net DLLs, in order to add features to the Progress development.

Although I've seen it work, I can't understand why, for the following reason:
Several years ago, I learnt that DLLs only contain functions, I had no idea DLLs could be used for hosting classes.

As a result, I'm unable to understand whether or not DLLs can contain visual components (and in case not, why not).

In case DLLs (especially .Net DLLs) can contain .Net visual components, can anybody tell me which .Net DLL contains the tabpage (tabstrip) visual component and where I can find information on how to use it?

Thanks in advance


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

No. You can embed the ABL window into a .NET Form, so that the contents of the ABL window are actually appearing on a .NET Control (the Progress.Windows.WindowContainer). And then you can overlay this .NET Control with another .NET Control (e.g. tabstrip).

If you look for the GUI for .NET documentation, look for "embedding ABL Windows". That's the technique that describes the foundation.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...