|
We know that MFC does not have Good UI controls. I am searching for a UI library either free or paid library(paid should have few days trial license so that I can test the performance).
My application is a Trading application so UI library must be fast and stable(No memory leaks). There will be immediate text updates, chart updates(LineCharts, bar, graphs), market-watch updates which show prices of shares and other details whith change of twice, thrice or sometimes 10times in a second.
Let me know if any other details are needed.
Thanks,
Rahul Kulshreshtha
|
|
|
|
|
I would prefer Qt Library[^]
You talk about Being HUMAN. I have it in my name
AnsHUMAN
|
|
|
|
|
Yes QtGui on Linux.
I's so easy to learn , like so:
#include <QtGui>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel label("Hello, world!");
label.show();
return app.exec();
}
more here
Why even use windows? Wall street trading systems all use Red Hat/SUSE.
Windows is mostly relegated to the back office, Windows typically has larger latency times than that of Linux.
|
|
|
|
|
My application is already ready for windows platforms, now I am tweaking the things and changing UI to catch more peoples. So I am bound to windows and Visual Studio
|
|
|
|
|
I had a little experience with QT, but I don't know if it has UI controls which I need. Can you suggest a website for that?
|
|
|
|
|
Well! The link I shared had some forward links to the examples for using the Qt Lib.
You talk about Being HUMAN. I have it in my name
AnsHUMAN
|
|
|
|
|
rahul.kulshreshtha wrote: know that MFC does not have Good UI controls.
I don't know this. why do you believe it is so ?
In my experience, most "generic" 3rd party UI kit turn out to be more pain than necessary and become hell to support after a few years.
I find that MFC (with the new-ish improvements) will satisfy 95% of our development need; the rest of our need will be filled by specialized controls (most of the time home-made)
Watched code never compiles.
|
|
|
|
|
In the time I worked with MFC I gathered a lot of painful memories stemming from bad documentation*, undefined behaviour, and applications silently breaking upon OS updates. I happily haven't been actively working with it for years now, but the API is still horrible and anything but what a clean, modern OO API should be. Who in his right mind would design an OO interface that requires you to fiddle apart some obscure parameter into several parts? (LPARAM anyone?)
I've been working with XT Toolkit Pro and it's a much more modern and consistent API. It does offer better UI components too, but of course that's an IMHO.
True, nothing prevents you to keep using an outdated GUI API if it fulfills your needs. The question is if it still fulfills your client's needs! Besides, I doubt that MS will continue to put any more work into MFC once W8 and Metro are out. So if you're starting on a new project aimed at more than just your personal needs, using MFC is certainly not the best way to go.
* P.S.: I have to admit that the MFC online documentation has quite improved, though I find the process of retrieveing a specific bit of information from MSDN a lot more time consuming than it used to be in the days of .hlp files.
|
|
|
|
|
Thanks, I will check out XT toolkit also
|
|
|
|
|
|
Thanks I will check out these.
|
|
|
|
|
Implement the GUI in .NET that can communicate with whatever backend.
|
|
|
|
|
Thanks all for answering,
After going through the suggestions suggested by all of you. I shortlisted 3 libraries which I can use.
1. BCG UI library
2. CodeJock's XtToolkit Pro
3. Prof-UIs
But still one component is missing, I am also looking for a Grid in which cells can be formatted as "Conditional Formating -> Data bars" similar to excel 2007
I want something similar to this
Example 1
Example 2
Thanks,
Rahul
|
|
|
|
|
For the grid which have conditional formatting; I chose Ultimate Grid.
|
|
|
|
|
Hi,
Not sure if this question belongs here but I wondered if there is a location on the disk where I can gaurantee that I can always write a file to under Windows 7. In the good old days of XP I could use C:\ but thats a no-no (I guess it was under XP but hey!).
Thanks
Tony
|
|
|
|
|
You could use the C:\Users\Public\Documents folder for this.
All users on a Windows 7 machine should have access to it.
0100000101101110011001000111001011101001
|
|
|
|
|
C:\Users\username\AppData could be just the place you are looking for.
You talk about Being HUMAN. I have it in my name
AnsHUMAN
|
|
|
|
|
AppData it is.
Get the path to this folder using the API SHGetSpecialFolderPath with CSIDL_APPDATA as the nFolder parameter.
|
|
|
|
|
Thanks guys that's great
|
|
|
|
|
|
Thanks for info and the links. It has made me realise that I should not take the lazy way out and need to do things properly.
Good to see I am not on my own though
|
|
|
|
|
I ran into that too last week on Windows 7,
I ended up using Windows\Temp for now
I tried Documents Setting\account\Application Data\My Folder
but ran into issues with the long names, and file not found when pointing to config files I put in it.
|
|
|
|
|
Hmmm windows\temp eh? Didn't think of that. I still think APPDATA is probably the best place (thanks AnsHUMAN and Superman.
Tony
|
|
|
|
|
Hi.
I got my own custom button where i am doing all the painting myself. And now there is a problem: default button behavior. You know, like, these fancy regular windows buttons - when you click inside some Edit Box (let it be anywhere on the main app window) - button is drawn with blue shinning color. When you click on another button - that another button becomes default one. When you click inside some other edit box, again - this first button is drawn with a blue shinning color. The thing is : it is not an issue to check the style with:
if( GetStyle() & BS_DEFPUSHBUTTON ) then...
and do some additional drawing. The problem is: how to catch when a user clicked somewhere on another control which is not mine, which is regular windows edit box for example. Or another button which is just windows regular button? How do my button know when to draw some additional stuff to indicate it is a default button?
Thanks
011011010110000101100011011010000110100101101110
0110010101110011
|
|
|
|
|