|
The only issue I can see is that you could have problems with the menu/icon/accelerator loading, which is done in the LoadTemplate() virtual function. If you could get these resources to only load at such time an actual document of the given type is created it may solve/alleviate your problem. But MS may have killed that option for you as they stupidly call LoadTemplate in the CDocTemplate base class constructor. Its a virtual function so you cn override it (except if its called in the base class constructor).
Some investigation may give you a work around on the issue.
On a side note, why on earth do you have so many document templates? Now I have a project with 6 and thats pretty excesive. But 100? Are you covering every single document type in existance?
Roger Allen - Sonork 100.10016
Roger Wright: Remember to buckle up, please, and encourage your friends to do the same. It's not just about saving your life, but saving the quality of life for those you may leave behind...
|
|
|
|
|
Well, after declaring each pointer to a document template, I call the function AddDocTemplate(pDocX) and I believe this is where LoadTemplate() is being called. Perhaps I should change my design and utilize something else besides CMultiDoc? However, SDI would still give me the same problem right? Basically, my project has over 100 drawn forms and I access them from a menu. When a form is selected from the menu, it is opened in the window for viewing. Only one instance of each form can be viewed at one time, but more than one form can be viewed. I am still trying to find where LoadTemplate is being called. I am still at a loss as to how I can fix this. Any ideas?
|
|
|
|
|
why dont u create the forms dynamically?
have a generic form and populate it with controls etc as u need them no?
even consider using an html based solution?
"there is no spoon" biz stuff about me
|
|
|
|
|
OK - so how do I delete a member function (besides manually) in VC++.net.
Used to be you selected the function from the class in question and hit delete - all code would then be commented out. (How simple and elegent was that!) I can't seem to do that in VC7 and I can't find anything in any of the menus...Aghhh!
So far in converting my projects over from VC6 all I've found is some cool features, even less area for looking at code, slow compiles, slow environment, the elimination of some really useful features and a lot of frustration. What are they (Microsoft) trying to do to us?
Sorry for the rant...
John
|
|
|
|
|
ditto, so i came back to VS.06, i really dont need VS.NET as of now...
But any way to answer your question, i myself didn't find any option to delete a method and also didn't find any help form ppl in this forum or any where else.
"When death smiles at you, only thing you can do is smile back at it" - Russel Crowe (Gladiator)
|
|
|
|
|
This is poorly implemented and confusing, but you can delete some member funtions:
Open the .cpp file in question, click properties (you may have to click on the cpp file again to get the properties to recognize it.) You then select one of icons (events/messages/overrides) find the function click on it, then selecte <delete>... from the drop down.
Anyone who thinks he has a better idea of what's good for people than people do is a swine.
- P.J. O'Rourke
|
|
|
|
|
Thank you.
I actually got a response from someone at Microsoft asking about specific features I miss. This is my response:
Thank you for your reply.
1) Being able to delete member functions (user written or message handler) or member variables as in VC++6 (selected from the class view) would be nice.
2 Why was the tab order in the solution explorer changed from VC++6? Used to be Classes/Resource/Files now its Files/Classes/Resources I go back and forth from VC++6 to VC++7 and now it's a hassle to have to remember (or read) the tabs...
3) Why does the solution explorer switch to the right side when running debug - and why does the class view disappear - to me the class view is much more useful than the file view. And why does it switch sides? Why screw with my prefrences. I'm used to and like the explorer(s) on the left so that's where I put them...
4) What happend to the brouse mini bar that was in VC++6? I found that to be extremely useful when digging down through function calls
5) I'm sure there are other things that await my discovery. I've only been using .net for about 2 weeks...
You've added a lot of nice stuff for managing projects but it seems that your forgetting that the original intent is to write code...
There are a lot of thing I like too...<grin>...treating open files as property pages is very cool...
I'm suprised that I got that kind of response to my original question.
Regards,
John Horstkamp
|
|
|
|
|
Isn't that called pissing into the wind?
Anyone who thinks he has a better idea of what's good for people than people do is a swine.
- P.J. O'Rourke
|
|
|
|
|
2&3) Change them. Once you move the solution explorer is both debug and coding mode, it will stay there. Annoying, but you only have to do it once. You can also change the order of the tabs by dragging the tab over the other tabs.
Tim Smith
I'm going to patent thought. I have yet to see any prior art.
|
|
|
|
|
Tried those suggestions - they didn't stay put from 1 session to the next but perhaps I did something wrong...thanks.
|
|
|
|
|
|
I've the vertical scroll bar property checked for an EDIT BOX control, however as more text is written to the box, the EDIT BOX ALWAYS displays the very first line of text, not the last (which I would prefer).
Suggestions much appreciated
Kind Regards
Caoimh
|
|
|
|
|
I dont recal the exact syntax but I believe there is a LineScroll that you can use when text is entered.. something like
m_cEdit.LineScroll(m_cEdit.GetLineCount(), 0);
Anyway this should get you on the right path.
Rob
Whoever said nothing's impossible never tried slamming a revolving door!
|
|
|
|
|
How to make ClientEdge at CDialog?
i.e. one line round along client field.
If I set this property at dialog template editor,
line appers also around title bar, but it is unneded,
how to set ClientEdge only around Client area ?
Thanks.
|
|
|
|
|
What you are asking is not a standard option in windows..
The Border is to both the client area and also the nonclient are i.e the title bar and toolbar, menubar if they are present. To have ClientEdge only to client area and another type of border to the window title, you need to custom draw the window.
"When death smiles at you, only thing you can do is smile back at it" - Russel Crowe (Gladiator)
|
|
|
|
|
|
Not that i can think of , sorry.
"When death smiles at you, only thing you can do is smile back at it" - Russel Crowe (Gladiator)
|
|
|
|
|
For more fun:
I have two dialogs,
inherited wrom one immediate paent,
one works as needed but second is not.
Installation code is simple,
(I have all code).
|
|
|
|
|
well, i cant give you a solution for this.
Any way check wheather the initialization is failing or not for the second dialog.
"When death smiles at you, only thing you can do is smile back at it" - Russel Crowe (Gladiator)
|
|
|
|
|
I am trying to get a int varibale into a char variable. any help here?
int temp = 20;
char *demo = (char) temp;
|
|
|
|
|
int temp =20;
char demo =(char) temp; // failed if temp > 128
|
|
|
|
|
Failed if temp >128?
what does it mean the addressing or the value?
|
|
|
|
|
elvis8900 wrote:
what does it mean the addressing or the value?
I believe it's the value.
(signed) char holds number from -127 to 128, due to its nature of 8-bit capacity (2^8).
|
|
|
|
|
-128 to 127.
Tim Smith
I'm going to patent thought. I have yet to see any prior art.
|
|
|
|
|
As a signed char is a 1 byte value (Range: -128 to 127), it can be used to hold values only within the range. The most significant bit (MSB) of the char variable is used to denote a negative or a positive value stored in it. If the MSB is ON (1), it means a negative value stored in the 7 bits remaining.
An unsigned char , on the other hand, can hold values ranging from 0 to 255.
An int is a 2 byte value (N.B.: In a 32-bit platform, it is a 4-byte value). Whichever way, if you're trying to store an int in a char variable, it will ONLY store the first byte (because char can only have a byte).
That means, if:
int n = 50;
char c = (char) n;
But, if:
int n = 300;
char c = (char) n; I hope this explains in detail.
Nirav
* Don't wish it was easier, wish you were better! *
|
|
|
|