|
1. Sounds like the conditional expression syntax is confusing you.
return tree ? TRUE : FALSE; is equivalent to
if (tree != NULL)
return TRUE;
else
return FALSE;
2. A long time ago, in a time now forgotten, the data type bool and it's associated constants of true and false had not been created.
Microsoft wanted a boolean type for use in their Windows code, so they created one and named it 'BOOL'. It was created using a typedef statement. BOOL has associated constants of TRUE and FALSE that are defined using the C-Preprocessor macro facility (in other words, #define). Much code was written using BOOL, TRUE and FALSE.
Some time later, the ANSI committee got around to adding bool to the language as a native type (that is exactly one byte in size). Alas, the Windows code base, which used BOOL, was now quite large. It was a bigger pain to change to use bool than not to change, so BOOL was kept. So we have the legacy in Windows C++ code of seeing both BOOL and bool used.
In order for BOOL to work, the proper headers must be included in the file. The definitions live in <WinDef.h> but if you just include <windows.h> ( or "stdafx.h" if you are using MFC ) before the template definition, the template code will have these values defined.
Dan
Be clear about the difference between your role as a programmer and as a tester. The tester in you must be suspicious, uncompromising, hostile, and compulsively obsessed with destroying, utterly destroying, the programmer's software.
-----
Boris Beizer
|
|
|
|
|
Gave you a 5 for the "tale of the BOOL".
- S
50 cups of coffee and you know it's on!
|
|
|
|
|
Hi,
I have just a teenie weenie humble question. I am a student just learning C++. I have to develop a graphical project in C++ (VC++) and using win32 SDK.
Where can I download this SDK? Help?
I am working on a old machine, Windows 2000 Professional, low memory and with VC++ 6.0 version. I cannot upgrade to XP and hence to VC++ 2005 because my system will not allow it.
Thank you
Dan
|
|
|
|
|
|
thanks toxcct for the reply. I have been up and down the microsoft website for the past 2 days. Maybe i am not familiar with the terminologies, but all i know is that i need a win32 SDK. Now which one is that from all the ones on the link that you have given.
|
|
|
|
|
Download the Feb 2003 Platform SDK: clickety[^]
|
|
|
|
|
What's the best way to get the item height in a list control?
GetItemRect()? Assuming there are items.
Trying to restore a scroll position.
Since Scoll() divides by the height of the control line...
Thanks.
-- modified at 12:45 Thursday 7th December, 2006
|
|
|
|
|
Are you trying to ensure that a previously-selected item is visible the next time your application runs?
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
No, my listctrl is a reflection of an internal list. When I update the listctrl I clear it first and just add the items that are in the list. Any data updates are performed on the internal list.
I hope to only update the modifed items in the future, but for now, I am clearing the listctrl. And that's why I need the restore the scroll position.
I'm currently trying to use the item height times the top item's index that I store, and I pass that to Scroll() in the CSize() parameter.
-- modified at 15:00 Thursday 7th December, 2006
|
|
|
|
|
//Store the top item position
topItemIndex = listControl->GetTopIndex();
...
//Scroll window back to original position, assuming starting at 0
if (listControl->GetItemCount() > 0) {
CRect itemRect;
listControl->GetItemRect(0, itemRect, LVIR_LABEL);
int x = 0;
x = listControl->Scroll(CSize(0, topItemIndex * itemRect.Height()));
_ASSERT(x != 0);
}
This seems to work except after to item 500+ it will scroll too far up or all the way to the beginning.
|
|
|
|
|
Anyone know if there is limit as to how many Scroll() can scroll?
|
|
|
|
|
Can't you use SetTopIndex() instead?
- S
50 cups of coffee and you know it's on!
|
|
|
|
|
Don't see a SetTopIndex() for CListCtrl
|
|
|
|
|
Ooops, thought you we're using CListBox. Never mind....
- S
50 cups of coffee and you know it's on!
|
|
|
|
|
I think EnsureVisible() could work for you. Save the top index using GetTopIndex, then use EnsureVisible( nTopIndex, FALSE ) to scroll it into view.
- S
50 cups of coffee and you know it's on!
|
|
|
|
|
Bless you!
It only scrolls until the index is visible on the bottom, so I add the value from GetCountPerPage() minus one:
...
result = listControl->EnsureVisible(
topItemIndex + listControl->GetCountPerPage() - 1,
FALSE);
_ASSERT(result = TRUE);
...
Seems to work, even on 1000+ items.
Hopefully I'll get the time to rewrite to where only modified items will be updated...
-- modified at 10:41 Friday 8th December, 2006
|
|
|
|
|
Hi,
I wanted to ask a very simple question. Okay I am reading this article on video conferencing(http://www.codeproject.com/internet/videonet.asp[^]), I was wondering is there anyway I could integrate this into like a C# container. I am creating a eLearning system in C#, but I am forced to use C++ for video conferencing since the encoder has not been ported from C++ to C#. So is it possible for me to create the eLearning system in C# and just add video conferencing facility via c++. Thanks
|
|
|
|
|
Absolutely. One approach is to use C++/CLI. You can find all sorts of information on MSDN and here at CP. There is even a specific Code Project Forum for C++/CLI[^]
led mike
|
|
|
|
|
Revant Jain wrote:
So is it possible for me to create the eLearning system in C# and just add video conferencing facility via c++. Thanks
COM/ATL would be good start
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and you
|
|
|
|
|
Hi all,
I am operating a Tab to Move the Controls in the Dialog, how can i detected that the Control is got Focused when i am using a Tab Control.
Example:
i am having three controls in a Dialog, i am pressing a Tab in the Key Board then the Cursor moves to all the Controls, here how can i detect that the Control have moved to the Third Control.
Any Ideas with GetFocus(...) Api,
Please help me out.
Uday kiran
|
|
|
|
|
Handle the WM_KEYDOWN event and check if its the tab key.
Nobody can give you wiser advice than yourself. - Cicero
|
|
|
|
|
uday kiran janaswamy wrote: ...how can i detect that the Control have moved to the Third Control.
Any Ideas with GetFocus(...) Api,
if (GetFocus() == GetDlgItem(hDlg, IDD_THIRD_CONTROL))
...
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
Hi David,
I am very Much Thankfull to give a great idea, Thanks a Lot.
Uday kiran
|
|
|
|
|
Hello,
I wanted to start learning WIN32API. Now before that could anyone pls recommend me a good C book. I am familiar with basics of C. If I read a C++ book, would that make a difference?
Thank you
|
|
|
|
|
All new programs should be written using C++, so you should learn it first. You should learn C just to be able to read other people's code.
It is better to learn C++ first without learning Windows programming. Then when you are familiar with C++ learn Windows programming.
|
|
|
|