|
But when i write this code in my compiler that is microsft visual C++ 6.0
it gives error of undeclared identifier ..
true=1, false=0
but this is in caps .. TRUE and FALSE also tht data type is bool not BOOL .. this caps thing gives eror and if replaced by smalls it gives eror for return types .. i simply cant understand this code ..
Sir, if u plz take out little time from ur precious time and try 2 explain a little more , I'l b vry thankful ..
|
|
|
|
|
the BOOL type is either TRUE or FALSE
and
the bool type is either true or false
|
|
|
|
|
Pimra wrote: true=1, false=0
true and false are already defined.
Pimra wrote: ...this caps thing gives eror...
Because TRUE and FALSE have not been defined.
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
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
|
|
|
|