|
If you want to develop cross-platform GUI applications, the best way is to use a cross-platform framework: this will give you a coherent set of APIs to do almost everything in a platform independant way.
The best of them, in my opinion, is the Qt framework (see Qt - A cross-platform application and UI framework[^]): it give you a complete set of functionalities and OpenGL is included. It could be used under three licensing scenarios: GPL, LGPL and Commercial. There exists a Python binding too...
Another similar toolkit is the wxWidgets (see http://www.wxwidgets.org/[^]) which is licensed under a modified LGPL license, but I don't know if it supports OpenGL...
modified on Wednesday, July 21, 2010 3:36 AM
|
|
|
|
|
I've heard of both wxWidgedts and Wt, but when using Python, I chose to use GTK+, which lead me to believe that they were... Well, GUI libraries, not 3D libraries. Would using them, instead of pure OpenGL, not add unnecessary overheads?
|
|
|
|
|
Yes, that is true, however consider that OpenGL integrates in the platform-specific windowing system; in other words with ANSI C/C++ and OpenGL only you will be not able to do nothing, you need at least to use the platform-specific API required to access the windowing system. Said that, the little overhead of a cross-platform framework is nothing compared to what it offers you; for instance the Qt give you a class named QWindow that let you create a window in just 2 lines of code (instead of plenty of lines required using the platform-specific API), these 2 lines are always the same on every platform supported, and the window that you obtain is automatically bounded to an OpenGL rendering context, then you can call the standard gl and glu family of functions on it (without the need of writing plenty of lines of code required to create the rendering context, bind it to the window, activate and deactivate it in the right places and so on).
|
|
|
|
|
Sounds good, I'll look into it, thank you very much.
|
|
|
|
|
If you'd like to have a look to the Qt framework, I suggest you to download this: C++ GUI Programming with Qt4[^]
This is the first edition of the official book and is available for download from the Qt website: I remember that there is a chapter specific to the OpenGL...
|
|
|
|
|
Hi,
How could I pass data from MFC application to .Net user control? I have added .Net Chart Control to MFC application. The problem is passing data to that control.
Does anyone have any ideas about this?
Regards
Daniel
|
|
|
|
|
This[^] here looks promising, also this[^] might help.
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> "It doesn't work, fix it" does not qualify as a bug report. <
> Amazing what new features none of the programmers working on the project ever heard of you can learn about when reading what the marketing guys wrote about it. <
|
|
|
|
|
Thanks Code-o-mat
I'm using Forms::DataVisualization::Chartting control. How could I send X, Y data to chart?
Regards
Daniel
|
|
|
|
|
How could I send X, Y value to Chart control, this control in DataVisualization.Chartting.
Thanks
|
|
|
|
|
I never used any .NET controls in MFC so i'm not sure, but i suspect that if you used this CWinFormsControl class as shown in the example(s), you can get a pointer at the control's managed class thorough CWinFormsControl::GetControl[^] and then use it's methods to "communicate" with the control, try checking out this[^].
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> "It doesn't work, fix it" does not qualify as a bug report. <
> Amazing what new features none of the programmers working on the project ever heard of you can learn about when reading what the marketing guys wrote about it. <
|
|
|
|
|
how to add cur resources to any executable by program?
|
|
|
|
|
Have you looked at UpdateResource(hResource, RT_CURSOR, ...) and related functions?
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
Yes, I have looked. It's ok for icon resources, but fail for cur resources, who can help me, thanks
|
|
|
|
|
Explain what you mean by "fail"? It crashes, UpdateResource returns with FALSE (in this case, what does GetLastError give you?), everything seems to succeed but the executable is not updated/saved?
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> "It doesn't work, fix it" does not qualify as a bug report. <
> Amazing what new features none of the programmers working on the project ever heard of you can learn about when reading what the marketing guys wrote about it. <
|
|
|
|
|
Everything is ok, but the cur added is black and with wrong data attribute(size, color and so on), i don't know which go wrong, however the same code is fine for icon file
|
|
|
|
|
And you are sure the source is OK, i mean the cursor file you want to add.
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> "It doesn't work, fix it" does not qualify as a bug report. <
> Amazing what new features none of the programmers working on the project ever heard of you can learn about when reading what the marketing guys wrote about it. <
|
|
|
|
|
Yes, i think so, as i replace the source of one cur resource with the tools of "Res Hacker", it's ok!
|
|
|
|
|
Maybe the data gets corrupted when you load the cursor file to be passed as the pData parameter of UpdateResource[^]? The documentation also says that it has to be properly alligned, could this maybe be the cause of the problem?
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> "It doesn't work, fix it" does not qualify as a bug report. <
> Amazing what new features none of the programmers working on the project ever heard of you can learn about when reading what the marketing guys wrote about it. <
|
|
|
|
|
nenfa wrote: ...but fail for cur resources...
So UpdateResource() returns 0 ?
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
No, it returns non-zero value, if i change to RT_ICON, it'll show, this's so strange
|
|
|
|
|
I embed a COleDocObjectItem in my CView object, when COleDocObjectItem is initialized, it
makes my CMainFrame's toolbar disappeared.
I think COleDocObjectItem::OnActivateUI causes that. I am wondering if I can override
OnActivateUI and bring back the toolbar.
TIA for your help.
|
|
|
|
|
Hi Team,
I have written my Application using MFC Doc/View architecture and I am using the Print feature of MFC Doc /View Architecture . I have written some code to print the chart using Printer .
But if I want to print using Plotter ,do I need to write different logic ,or the same code which is used to print in Printer will be applicable for the Plotter also .
I would be really grateful for the Inputs.
Regards,
Jack
|
|
|
|
|
Provided your hardware has a Windows printer driver then you should be able to use the same (or almost the same) code to draw on the screen, on a bitmap style printer (like an old laser printer) or a vector printer (like a plotter). The only difference I can remember was having to set up the pages correctly - provided you're already scaling your output to the size of the output device it shouldn't be a problem.
Cheers,
Ash
|
|
|
|
|
Thanks Ash for your valuable inputs
|
|
|
|
|
Hi!
While Debugging(Ctrl + F5) my project,all the files get compiled if change is made at one or two files. What to do to compile only the files that has changes in it?
|
|
|
|