|
Hello,
I am getting the strangest error. I have a VC++ Dialog-based
application using VC++ 6.0. At one point in my
application, if I press "Enter" the application just
quits. If I press anything else of click the button to go
on a next screen etc. .. it works fine. IF I press the "X"
on top corner to quit, it asks me if I want to quit and
quits normally. But if I press Enter on that screen it
just suddenly terminates, completely blimps out!!
I doesn't happen if I press space. If I press Esc then a messagebox comes and and asks me if I want to quit the application. ...
I do have OnOk() function over ridden. and when I press Enter, the application quits before it even enters the over ridden OnOk() function. I have changed the declaration of OnOk in my .h file in many different ways. I do not have an event handler explicitly declared for OnOk function.
It doesn't happen if the focus is on one of the buttons. Then that buttons click event gets executed. It doesn't happen if I set one of the buttons to be Default Ok .. then by pressing Enter that button gets executed.
But if I have focus on any text or combo box .. and press Enter .. it just terminates the application with no warning or message.
Please help. I will really appreciate any insight into
this. Thanks
Sincerely,
anjum Gupta.
|
|
|
|
|
You should override OnOK() not OnOk() (capitalization matters). This is covered in the VC forum FAQ.
--Mike--
Just released - RightClick-Encrypt v1.3 - Adds fast & easy file encryption to Explorer
My really out-of-date homepage
Sonork-100.19012 Acid_Helm
|
|
|
|
|
Hey Mike,
I feel a little ebarassed .. but more glad that you could really help me with this problem. I looked into it .. but completely missed the capitalization of "K" !!!
Thanks once again!
Anjum.
|
|
|
|
|
Hi,
With a locally defined buffer, the following works fine: but I want to use doc variable to fill my list with, and it crashes:
if(NULL != m_list1.GetSafeHwnd())
{
CTrain1Doc* pDoc = (CTrain1Doc*) GetDocument();
char* pc;
CString string;
int nListIndex = 0;
for (pc = pDoc->m_buffer ; *pc ; pc = strchr(pc,0) + 1) //////crashes here in debug...
{
char* pc1 = strchr(pc,','); // search for a comma, returns a null pointer if not found
if (pc1) *pc1 = 0; // if we find a comma we replace it with a null character, if we didn't find a comma then the word is already null-terminated
string = pc;
int nItem = m_list1.InsertItem(nListIndex,string);
nListIndex ++;
}
}
|
|
|
|
|
You should call GetBuffer on a CString before accessing it like this.
Overall I would discourage you from using char * like this, you're better off using the member functions of CString ( if you must ) or std::string.
If you use std::string, I reckon you could write a function object to do this more nicely.
Christian
come on all you MS suckups, defend your sugar-daddy now. - Chris Losinger - 11/07/2002
|
|
|
|
|
Hi.
I began to start MFC Windows programming via Jeff Prosise close to seven months ago. I believe it is an excellent MFC reference for beginner MFC Windows programmers.
I am to the point where I have ideas about upcoming projects, but there are some uncertainties including MFC issues. I would like to know whether there is an intermiate to pro level MFC book? Please post recommendation only if are believe the book and author present information that are more advanced than that from Jess Prosise book. Information could including overriding key MFC classes and functions. So basically, I am looking at a look that could help you begin modifiying MFC to whatever you want.
Thanks,
Kuphryn
|
|
|
|
|
MFC Internals is a good book, if a little dated. You should probably just download some MFC extensions from a web site, if you can find one that offers such a thing :P. Have a look at some code on CP and read some articles here, is my advice. Although MFC's days are most certainly numbered IMO.
Christian
come on all you MS suckups, defend your sugar-daddy now. - Chris Losinger - 11/07/2002
|
|
|
|
|
Got to agree with Christian's recommendations.
MFC Internals is a good book for finding out what's going on inside MFC. Also reading the MFC source code will give you an excellent starting point.
Downloading code from CodeProject will also help to give you an understanding about what is and isn't possible.
Michael
Look, try and use your intelligence, man, even if you are a politician. - The Doctor
|
|
|
|
|
Thanks.
I have read reviews of MFC Internals at Amazon. I many reviewers recommend Programming Windows with MFC before going with MFC Internals. I think it is just about right to study from MFC Internals.
Kuphryn
|
|
|
|
|
In my view class I did GetClientRect and got a height of 334.
I went over to my mainframe class, got a pointer to the activeview and did
pView->GetClientRect(&rect);
This was so bizzare, but I got 504 instead!!! FRom looking at the view, 504 is more accurate, but why did I get two different heights? The view I'm looking at is active, so I have the right pointer.ANy ideas why?
Thank you very much,
Very puzzled,
ns
|
|
|
|
|
It's not wierd at all - one is the size of the view, the other the size of the frame. The frame includes the non client area of the view, the menu, the toolbars, etc.
Christian
come on all you MS suckups, defend your sugar-daddy now. - Chris Losinger - 11/07/2002
|
|
|
|
|
I'm missing something!
I did pView->GetClientRect(&rect);
which is to say get the views client area (not plain old GEtClientRect which would be the frames area), so as I understand it,
getting the height in view and storing it in a variable to give to mainframe is the same as getting the rect with the pointer to the view.
Am I lost in a haze of confusion here? I do so want to understand your response,
Thanks,
ns
|
|
|
|
|
In that case, I dunno. You're sure both functions were called at the same time, or when the view was the same size ? It's not an MDI app and they were two different views ?
Christian
come on all you MS suckups, defend your sugar-daddy now. - Chris Losinger - 11/07/2002
|
|
|
|
|
Its an MDI app with 2 views but when I'm doing all this, the second view isnt even spawned. I'll be puzzling over this I guess....
Thanks so much for answering though! Have a good weekend!
ns
|
|
|
|
|
If I want to set a member variable of my inactive view from the mainframe class, how do I get a pointer to it? I was doing GetActive View but that obviously wont work if my view is inactive. Thanks,
ns
|
|
|
|
|
if you have a pointer to your doc, you can use CDocument::GetFirstViewPosition (and GetNextView) to get a list of all your views.
-c
To explain Donald Knuth's relevance to computing is like explaining Paul's relevance to the Catholic Church. He isn't God, he isn't the Son of God, but he was sent by God to explain God to the masses. /. #3848917
|
|
|
|
|
The only way i saw to get a doc pointer from the mainframe calss was to go through activeview->getdocument which is I suppose what i have to do, to get to the inactive view. Is this correct?
Luckily Ihave only two views. What is the heirarchy of views, what is the order and how do I know when I've got to the one I want (in case I had 4-5 views?)
Thanks so much for the response,
ns
|
|
|
|
|
you can always use the IsKindOf function to tell the class of each CView pointer you get:
if (pView->IsKindOf( RUNTIME_CLASS( CMyView ) ) )
{
...
}
-c
To explain Donald Knuth's relevance to computing is like explaining Paul's relevance to the Catholic Church. He isn't God, he isn't the Son of God, but he was sent by God to explain God to the masses. /. #3848917
|
|
|
|
|
I have a menu item "Display" that has COMMAND handled by the mainframe. I want a menu item "Switch" handled in my view, to disable "Display". I am thinking that I could set a flag in my "search" menu handler, and in the automatic updateUI that runs when idle, disable or enable the "display" menu. Any commments on the soundness of my approach?
Thanks,
ns
|
|
|
|
|
The update UI handler should be in the view (and refer to a view specific flag) if you want the disabling to be per-view. If it's a "global" disable, put the handler (and the flag) in the mainframe window.
/ravi
Let's put "civil" back into "civilization"
http://www.ravib.com
ravib@ravib.com
|
|
|
|
|
Hello all.
I want to know what kind of classes and what I should read about if I want to let my friend to access my computer, folders, files.... well his job folder through the internet.
I know i might have to do alot of html.. but how to let the user view his folder. Let say i create one folder for him. and only he and I can open it. even through the internet so he can view his folder anywhere in the world as long as he is online.
it there anyway i can do that??? Any useful links, books, what classes i should use??
|
|
|
|
|
this is really more of a system/network configuration thing, than a programming thing. what you need to do is to turn your PC into a file server. while programming can get you there, all of the functionality you need is pretty much already part of Windows. the realy work lies in configuring it.
i don't have any good sources for you - but i know that this isn't primarily a programming issue.
-c
To explain Donald Knuth's relevance to computing is like explaining Paul's relevance to the Catholic Church. He isn't God, he isn't the Son of God, but he was sent by God to explain God to the masses. /. #3848917
|
|
|
|
|
On a Windows server look into IIS administration. Create him a folder under wwwroot that is password protected (he'll have to enter it from the browser) and allow a directy listing for that folder only for a quick way to let him see the files (by default it's off).
You could also use Apache as the web server. In which case look into .htacess to password protect the folder. Directy listing is on by default with Apache, so you're set there.
Oh, and restrict physical access to the server.
You may also want a book on web programming with HTML, ASP, or PHP, etc.
Jeremy Falcon
Imputek
<nobr>"..." - Paul Watson 07-17
|
|
|
|
|
Hello, the codegurus around the world.;)
There are a couple of approaches to satisfy your desire.
One is the application like PC Anywhere.
AT&T UK Lab provides us the free source codes for this.
But, these cool developers use their own code difficult to understand.
(Sorry, now I don't have its URL.)
The other is Open source code project called Gnucleus project (P2P).
Check http://www.gnucleus.net
They use CAsyncSocket in their project very well.
Please, don't send me your email about your questions directly.
Have a nice day!
Sonork - 100.10571:vcdeveloper
-Masaaki Onishi-
|
|
|
|
|