|
You can create the font, which gives you an HFONT (HGDIOBJ).
Then use SelectObject() to select it into the DC.
HFONT hFont = ::CreateFont...
HGDIOBJ hOldFont = ::SelectObject(hdc, (HGDIOBJ)hFont);
...
...draw some text
...
::SelectObject(hdc, hOldFont);
Mark
"Posting a VB.NET question in the C++ forum will end in tears." Chris Maunder
|
|
|
|
|
Why is the following done?
In Project Settings (Alt-F7) under the C++/C tab, set the category to "General" and change the "_DEBUG" preprocessor definition to "NDEBUG".
Under the C++/C tab, set the category to "Preprocessor" and add the preprocessor definition "_DEBUG" to the "Undefined Symbols" edit field.
Recompile using "Rebuild All"
|
|
|
|
|
Is it a quiz, isn't?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
|
|
|
|
|
I want to know the significance of changing _DEBUG to NDEBUG and other related stuff.
|
|
|
|
|
Please elaborate and share your thoughts on the following
If you are using DLLs of your own, that use the shared MFC library, make certain that all your DLLs are either debug or release!
Why is it so?
However, it is very important to not have a mix of debug and release DLLs using MFC (note that a "straight", non-MFC release DLL can be called from a debug version of an MFC program
|
|
|
|
|
There's a variety of problems with mixing MFC DLLs.
First, all the DLLs your app uses and all the DLLs the DLLs your app uses are mapped into
the apps address space.
Now say one DLL uses the debug MFC DLL and your app uses the redistributable MFC DLL...
Now there's multiple versions of MFC, one DLL being used by your app, one by the DLL.
The two MFC dlls are probably using different versions of the CRT library.
That means the two MFC DLLs are using different runtime heaps. That can be a problem if you start
passing heap-allocated pointers between your app and dll.
MFC also uses internal static/global variables for caching and mapping handles to objects.
With two MFC DLLs you have two sets of these. If you are using a DLL from your app which uses
a different MFC DLL than your app, then any MFC-related interaction between your app and your
dll is going to be unstable/unreliable at best.
Just my thoughts,
Mark
"Posting a VB.NET question in the C++ forum will end in tears." Chris Maunder
|
|
|
|
|
That's why I always static-link to MFC DLLs. The extra disk usage is worth it to me to not have to deal with that garbage. Plus, I don't have to make sure the MFC DLLs are installed on my target systems.
Judy
|
|
|
|
|
i want to be able to create vectors as the prgram runs, but all i can think of is something like this
<code>
void create_vector(int index)
{
if(index == 1)
vector<int>number1;
if(index == 2)
vector<int>number2;
if(index == 3)
vector<int>number3;
if(index == 4)
vector<int>number4;
if(index == 5)
vector<int>number5;
}</code>
but i want to do something like this
<code>void create_vector(int index)
{
string name;
name = "number0";
name[6] = (index + 48);
cout << name << "\n";
vector<int>name;
}</code>
thank you
|
|
|
|
|
What exactly are you trying to accomplish?
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
I don't think you can assign variable names at runtime.
You could use a map to map runtime strings to a given vector (or to an index to a vector in a
list/array of vectors.
Mark
"Posting a VB.NET question in the C++ forum will end in tears." Chris Maunder
|
|
|
|
|
Why don't you create a vector of vectors?
For instance:
vector < vector < int > > number;
then you car reference each (inner) vector with [] operator, e.g.
number[5].push_back(11);
...
You're not creating vectors dynamically but it is not such a memory waste...
BTW you may accomplish dynamically creation with pointers, but IMHO, it is a bit involved using std::vector and pointers togheter.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
|
|
|
|
|
What are you trying to do? All I see is a bunch of code that does nothing accept copy “number0” to a string and the change the character “0” to character “index+48”, which assumes index is [0-9].
Neither example creates anything but temporary (stack) vectors and the second one would choke the compiler.
INTP
"Program testing can be used to show the presence of bugs, but never to show their absence."Edsger Dijkstra
|
|
|
|
|
Hi EvryBody,
I m trying to put a hyperlink over a Balloon styled tool tip and execute a program on click of it. I am able to display the tooltip as balloon with hyperlink onit, but i m not able to click on it. when i try to get the moouse cursor over tooltip, the tool tip disappears, i tried a lot i nothing worked out.
Plz can nybody help me..
Thanks
P.Somasundaram
|
|
|
|
|
somasundaram_be wrote: I m trying to put a hyperlink...
Which is what type of control (e.g., static)?
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
:(hi,
Thnk you for repling but it happens for any type of control. i m working with buttons and dialog boxes...
|
|
|
|
|
somasundaram_be wrote: i m working with buttons and dialog boxes...
So your "hyperlink over a Balloon styled tool tip" is actually a button on a dialog box?
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
somasundaram_be wrote: I am able to display the tooltip as balloon with hyperlink onit, but i m not able to click on it.
Here yea go -> CPPToolTip v2.1[^]
|
|
|
|
|
Hi
I have one silly question.
I have a class
Shape
{
private:
int x, y, z;
public:
void Get(Shape& s)
{
x = s.x;
y = s.y;
z = s.z;
}
};
This code compiles fine. But how? How can I access the private memebers s.x, s.y and s.z inside Get() even if it is member function of Shape. Both this and s are two different objects how can they access private members inside the class definition? if this happens then,
int main()
{
Shape s, s1;
s.x = s1.x;
}
this should also work, right?
I am wondering why things are designed like this?
Regards
The Best Religion is Science.
Once you understand it, you will know God.
|
|
|
|
|
private effects members at the class level, not the object level.
Remember, when you declared the members as private, there was no object involved
When you are IN a member of the class (like in your Get() method) then you have access to all
the private members of that class.
From outside the class, like in your main function, you CANNOT access private members of the
class, unless main() is a friend function of the class.
Mark
"Posting a VB.NET question in the C++ forum will end in tears." Chris Maunder
|
|
|
|
|
Hi
Thank you very much for your time,
But am not still fully convinced anyway.
Regards
The Best Religion is Science.
Once you understand it, you will know God.
|
|
|
|
|
|
Private is a class scope (or meaning...) rule not an instance (or object) one.
Hence what happens inside Get method it is legal (an instance of the class can access private member of another instance of the same class). On the other hand
Zainu wrote: int main()
{
Shape s, s1;
s.x = s1.x;
}
it is INVALID because inside main you cannot access private member of (both s and s1 ) instances of the Shape class.
Hope that helps.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
|
|
|
|
|
Zainu wrote:
I am wondering why things are designed like this?
If things were not designed like this then how one can implement the copy constructor, assignment operator etc
One more pint if you remeber that if any member is used in a clss function the its gets prepent with this->. which is again the instance (object) of the class.
These are the reason why things are designed in that way. So that private member of a object can be used directly when there are used in a member fucnction.
Manoj
Never Gives up
|
|
|
|
|
Think of each class as a person.
Think of each method and variable as something that person owns.
You can assign many things different access modifiers: public, protected, private, ect.
If you make an item you own(variable or method) private or protected you don't want any other person(class) using it right? Now say you want to be nice and share, make it public and then other people(class) can use it.
Does that make it make more sense?
The only way to speed up a Macintosh computer is at 9.8 m/sec/sec.
|
|
|
|
|
ExpertComing wrote: Does that make it make more sense?
Not even to those of us that are in the know.
ExpertComing wrote: The only way to speed up a Macintosh computer is at 9.8 m/sec/sec.
This would look a lot better as:
The only way to speed up a Macintosh computer is at 9.8 m/s2.
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|