|
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
|
|
|
|
|
|
i cannot see how this should solve my problem.
011011010110000101100011011010000110100101101110
0110010101110011
|
|
|
|
|
|
It handles. But i need to catch somehow messages from other controls.
Currently i am handling WM_MOUSEACTIVATE on a dialog window (this msg is posted when non-focused control gets focus, so basically when you click on any control on a dialog window , this dialog window gets this message) and then posting some dummy message to all child controls to make my controls redraw them selfs. But. There is one BUT. This message is posted before last control loses focus or something like that, anyways, only after second message my controls redraw them selfs correctly, so its like, "there is one click delay" - unacceptable in my case So there should be some better way i dont know about
011011010110000101100011011010000110100101101110
0110010101110011
|
|
|
|
|
You need to several things:
1. Override CWnd::OnGetDlgCode[^] and specify that your control accepts becoming a default push button (DLGC_DEFPUSHBUTTON ).
2. Handle the BM_SETSTYLE[^] message in your button class, so that you are informed when windows set and removes the BS_DEFPUSHBUTTON style for your button and paint the button accordingly.
0100000101101110011001000111001011101001
|
|
|
|