|
leliup wrote: using the function SetWindowPos(...) with HWND_TOPMOST, inside a timer , solves the problem
Is that a good idea...
Owner drawn
Jesus Loves
|
|
|
|
|
How do i added an event handler or implement a virtual function of the baseclass in 2003 like it was there in VS.6 Class Browser?
-Prakash
|
|
|
|
|
Events, messages and overridable functions can be setup via the 'properties' slide-bar. Just select the class you want to edit, open the properties dialog window, then choose from the buttons at the top.
I Dream of Absolute Zero
|
|
|
|
|
Thanks, i figured that just a moment back, just when i got your mail.
I have justed started with VS.2003 and the IDE UI has changed a lot since VS.6. well i spend almost 2 hrs to figure this out, hope developing on 2003 IDE is lot more fun.
I thought in VS2003, they have removed this option, I was so pissed, I shouted at my GF and now she is angry.
I guess I should give her a call now
-Prakash
|
|
|
|
|
We moved over from VS6 just over a year now. Like you, it took a while to get used to the interface, but I love it now. The only thing that irritates me now is the Intelli-sense. It sucks! I should get myself a copy of Visual Assist X, then I would be complete!
I Dream of Absolute Zero
|
|
|
|
|
|
Well, they (WholeTomato)[^] claim it does, but I can't verify that. My department will be slowly moving us over to VS2005 in the next few months. From the feedback I've been reading here, it seems that I might not need VAssistX with VS2005 due to vastly improved intellisense features.
Fingers crossed
I Dream of Absolute Zero
|
|
|
|
|
RChin wrote: From the feedback I've been reading here, it seems that I might not need VAssistX with VS2005 due to vastly improved intellisense features
i think we've not read the same threads buddy !
what i've seen there about VS2005' intellisense is that it has been highly improved, but not for C++...
moreover, visual assist was really powerful on both VC6 and VS2003, ,so i hope that it can still improve productivity, even on VS2005
TOXCCT >>> GEII power [toxcct][VisualCalc 2.20][VCalc 3.0 soon...]
-- modified at 12:52 Wednesday 1st February, 2006
|
|
|
|
|
toxcct wrote: about VS2005' intellisense is that it has been highly improved, but not for C++...
Urgghh! NOooooooo!!!!!!
I Dream of Absolute Zero
|
|
|
|
|
|
you know what, Intelli-sence is a good feature, but it greatly reduces the ability to think or remember and it is a big problem when u move to some other platform or programming lang where these features are not there.
Yes reading the documentation is a tedious job, but you know what, everytime i look at the document to read something about the api or search for an api, I learn something new.
I like it this way, so I am not too upset with intelli-sence working or not.
CPHog is great!!!
|
|
|
|
|
|
toxcct wrote: you still code inside notepad ???
How can I forget the good ol' notepad.
No intellisense, only your common sense works there. He he;P
Owner drawn
Jesus Loves
|
|
|
|
|
I am curious about something dealing with constructors in dialog classes. I have seen a certain way of doing the constructor and I wonder if it actually buys anything. Here is what I am talking about:
FOO::FOO(CWnd* pParent /*=NULL*/)
: CDialog(FOO::IDD, pParent),
m_pSomeObject( NULL ),
m_bSomeBoolean( false ),
m_iSomeInt( 0 ),
m_sSomeString( "" )
{
//{{AFX_DATA_INIT(FOO)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
Now m_pSomeObject, m_bSomeBoolean, m_iSomeInt, and m_sSomeString are member variables of the class. So, they are being initialized. Is this method of defining a constructor better than doing it this way?
FOO::FOO(CWnd* pParent /*=NULL*/)
: CDialog(FOO::IDD, pParent)
{
//{{AFX_DATA_INIT(FOO)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_pSomeObject = NULL;
m_bSomeBoolean = false;
m_iSomeInt = 0;
m_sSomeString = "";
}
It is not importaint that it be a dialog class, this is just where I am seeing it used. I am just wondering what the advantages of one over the other are, or if there are advantages?
Thanks,
Troy
|
|
|
|
|
It is better to use the contructor syntax.
1. It is the only way to initialize reference member variables in your class. If you have any.
2. Let's say you have an object that has two contructors defined as
class A
{
public:
A()
{
DoSomeStuff();
}
A(int x)
{
DoSomeStuff(x);
}
A& operator = (int x)
{
Cleanup();
DoSomeStuff(x);
}
};
Now lets say you want to contain an object of this class in another class.
class B
{
private:
A a;
};
You can initialize in two ways
B::B()
: a(5)
{
}
or
B::B()
{
a = 5;
}
If you are not initializing the object in the constructor initialization list like that in the second case. The object will be initialized using the default constructor i.e. DoSomeStuff will be called and then when the contrsuctor code within the block gets processed the assignment operator will be called. In the first case only the constructor of A that takes int argument gets called.
|
|
|
|
|
It was not clear to me. So, is it better to do it this way?
Rama Krishna Vavilala wrote:
<br />
B::B()<br />
: a(5)<br />
{<br />
}
Or this way?
Rama Krishna Vavilala wrote:
<br />
B::B()<br />
{<br />
a = 5;<br />
}
Which one is "Constructor Syntax"?
|
|
|
|
|
The former is the proper way to do it (that's called a constructor initialization list).
Regards,
Nish
|
|
|
|
|
I think I am seeing this now. The one question I have is does the constructor initialization list buy you anything for primitive data types? It seems a waste for that and they would be better to initialize in the body of a constructor or in an initialization member function.
|
|
|
|
|
Only problem is when you have multiple constructors. So if your initialization list is huge, you need to copy/paste that for every constructor overload. In such cases a better solution might be to use an Init function that's called by all these constructors.
Regards,
Nish
|
|
|
|
|
The former is referred to as an initialization list. One benefit, if you need it, is improved performance. The latter is an assignment, which could cause a temporary object to be created. If the member variables you are initializing are intrinsic types (e.g., int , char ), there is no difference in performance.
"The greatest good you can do for another is not just to share your riches but to reveal to him his own." - Benjamin Disraeli
|
|
|
|
|
|
Aaaahhhhh.... The forum that Shall Not Be NamedTM
There's quite a few members here (including me) who left That Other Place when they sold their soul to the devil... This site was set up initially for that very reason.
Ryan "Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"
|
|
|
|
|
Scott Meyers, in "Effective C++" says to "Prefer initialization to assignment in constructors" (Item 12)
"From a purely pragmatic point of view, there are times when the initialization list must be used. In particular, const and reference members may only be initialized, never assigned."
There is also a question of efficiency: "When a member initialization list is used, only a single string member function is called. When assignment inside the constructor is used, two are called. . . Even in the case of the lowly string type, the cost of an unnecessary function call may be significant, and as classes become larger and more complex, so do their constructors, and so does the cost of constructing objects. If you establish the habit of using a member initialization list whenever you can, not only do you satisfy a requirement for const and reference members, you also minimize the chances of initializing data members in an inefficient manner."
check out the book for the whole article--good stuff!
----------------------------------------
Please reply in the forum--my email is filtered
|
|
|
|
|
|
Is there a way in MS VC++ 6.0 and/or VS 6.0 to export a dialog (buttons, dropdowns, etc.) and import it into a VB form or vice versa? I am in a position where I have to create some screens in VB that exist in VC++. I would prefer not to have to re-make the screens, i.e. add all the buttons, listboxes, etc again.
Thanks,
Troy
|
|
|
|