Why does this UI Control not work?



This control looks to be just what I need - an editbox with a file browser button.

However, when I instance 1, I get a link error. Is it not supported?


This class is not exported for SDK usage. That is, it is not decorated with a RHINO_SDK_CLASS macro.

If you need such a control, you will need to code up one on or own or find something on the web (like this):


Cheers. I’ll take a look.

Its been suggested I use C# for the GUI components. Can I do that and still use all my C++ rendering engine? And keep my sanity - as in it doesn’t become a ‘Feat of Engineering’ to mix C# & C++


Ah, just followed your link. Its for an MFC dialog.

I want to stick to CRhinoUI elements. Or is it the same thing?

Sure! This is exactly how Flamingo works.

Without going into too much detail, you create a C# plug-in that can call into C++ DLLs using a technique called “Platform Invoke”, or P/Invoke. I’ll let you search the Internet for more details on this.

Here is an example that might be useful to you.

Try the attached…

RhUiOptionsListCtrlFileNameEditBox.zip (4.6 KB)

Fantastic support! Thanks Dale.

Do I need to IMPLEMENT_DYNCREATE somewhere? I was getting the ctor unresolved at link time…


If your dialog class declares the DECLARE_DYNCREATE, then you dialog implementation will need to include the IMPLEMENT_DYNCREATE macro.

Here is an example:


Just compiled it up… Nice. Just what I need.

I’m undecided though because LightUp for Rhino is working fine with 30Hz in-viewport rendering - but all written using the C++ SDK.


I’m sorry, undecided on what?

Doh! :smile:

Undecided on whether I start again and use the shiny, cool-kids C# SDK.

Not sure I really want to do that right now.