|
transoft wrote: I designed a dialog box using "DlgProc" to handle message.
...
CMyDialog::CMyDialog()
{
...
GetOFN().lpfnHook = DlgProc;
...
}
Unless you've written something by yourself that you named GetOFN() , I hope you are aware that the letters 'OFN' in GetOFN() is an abbreviation for the OPENFILENAME struct and that your dialog should derive from CFileDialog .
Otherwise you'll have to explain this a bit further.
Regarding the use of the lpfnHook member, you'd better read the documentation[^], especially the part about lpfnHook . It clearly states that you need to include OFN_ENABLEHOOK among the flags in the Flags member of the OPENFILENAME struct.
"It's supposed to be hard, otherwise anybody could do it!" - selfquote "High speed never compensates for wrong direction!" - unknown
|
|
|
|
|
This part works just fine. What I need is to get OnInitDialog() called.
|
|
|
|
|
transoft wrote: This part works just fine.
What part?
Never mind.
transoft wrote: What I need is to get OnInitDialog() called.
Well, you haven't shown anything that will call your OnInitDialog() .
It won't get called by magic.
What base class did you use for your dialog?
Is it really meant to be a file dialog?
What flags have you set for the Flags member of the OPENFILENAME struct?
How do you set up and show the dialog to the user? Calling DoModal() ?
Why do you think you need the hook since your using subclassing? It mixes Win32 API and MFC.
The most important question is "What Are You Trying To Do"?
"It's supposed to be hard, otherwise anybody could do it!" - selfquote "High speed never compensates for wrong direction!" - unknown
|
|
|
|
|
What base class did you use for your dialog?
CFileDialog
Is it really meant to be a file dialog?
Yes,
What flags have you set for the Flags member of the OPENFILENAME struct?
I did as you said in the last comments.
How do you set up and show the dialog to the user? Calling DoModal()?
Yes, I called "DoModal()"
The most important question is "What Are You Trying To Do"?
I am trying to display bitmap image in a CFiledialog attached with "CStatic" control. This image should be changed whenever I select a different bitmap file.
|
|
|
|
|
Okay.
First of all: throw the hook thing in the trash can; it's a Bad Idea.
It's like refusing to use a caterpillar and favour a spade when digging a ditch.
MFC already makes use of the hook and that's why your functions doesn't get called; you've pulled the rug for MFC, so to say.
Have a look at these two articles to get your customized file dialog up and running: here[^] and here[^].
Override the CFileDialog::OnLBSelChangedNotify() to know when the user selects another file and your image should be updated.
"It's supposed to be hard, otherwise anybody could do it!" - selfquote "High speed never compensates for wrong direction!" - unknown
|
|
|
|
|
|
I'm going to take a fast, quick, guess but it looks like you are taking over the dlg procedure and not letting it do default processing. If you hook, you need to call the previous procedure in the chain.
|
|
|
|
|
|
Looking at the MFC source, it appears that your shouldn't be hooking this function if you derive from CFileDialog and that you should get an assert in debug mode. Furthermore, since CFileDialog is hooking this, I fail to see why you need to.
|
|
|
|
|
Joe Woodbury wrote: Looking at the MFC source, it appears that your shouldn't be hooking this function if you derive from CFileDialog and that you should get an assert in debug mode. Furthermore, since CFileDialog is hooking this, I fail to see why you need to.
Exactly, that's my point as well[^].
"It's supposed to be hard, otherwise anybody could do it!" - selfquote "High speed never compensates for wrong direction!" - unknown
|
|
|
|
|
hi
i when i compile cppunit-12.1 in visual studio 2005, i got this error message. how to solve this problem?
error C3505: cannot load type library '{80CC9F66-E7D8-4DDD-85B6-D9E6CD0E93E2}'
and could you please explain me what the following line means?
#import "libid:80cc9f66-e7d8-4ddd-85b6-d9e6cd0e93e2" version("7.0") lcid("0") raw_interfaces_only named_guids
thank you.
sumani
|
|
|
|
|
rsumanan wrote: hi
i when i compile cppunit-12.1 in visual studio 2005, i got this error message. how to solve this problem?
error C3505: cannot load type library '{80CC9F66-E7D8-4DDD-85B6-D9E6CD0E93E2}'
What about documentation [^]?
rsumanan wrote: and could you please explain me what the following line means?
#import "libid:80cc9f66-e7d8-4ddd-85b6-d9e6cd0e93e2" version("7.0") lcid("0") raw_interfaces_only named_guids
What about documentation (reprise) [^]?
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.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
I want to write the code that notifies me, when new socket is established? Does windows generates any kind of event when new socket is established?
Thanks in advance.
|
|
|
|
|
Could you please stop posting your question again and again ? As someone already told you before, if you didn't get any replies it is probably because your question is not clear enough. So, provide some feedback information and provide more details about what you ar trying to achieve exactly. And please, do not delete your message and post a new one, simply edit your message is enough.
|
|
|
|
|
Hello,
I am trying to read username from registry of a remote computer.
I am testing the code on two machines. On first machine, I am getting correct output for all remote machines. On second machine, I am getting correct output for some remote machines and error(Access denied)(in RegOpenKeyEx()) for some remote machines.
All the machines are WIN XP SP2 and on same domain. I am really perplexed by this behaviour. Please help.
Below is the code snippet:
lRetVal = RegConnectRegistry(remoteHost, HKEY_LOCAL_MACHINE,&lHKeyhandle);
printf("RegConnectRegistry()=%d\n",lRetVal);
if(lRetVal == ERROR_SUCCESS)
{
lRetVal = RegOpenKeyEx(lHKeyhandle,TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon"), 0, KEY_QUERY_VALUE, &lhkey);
printf("RegOpenKeyEx()=%d\n",lRetVal);
if(lRetVal == ERROR_SUCCESS)
{
DWORD size1 = 1024;
RegQueryValueEx( lhkey, TEXT("DefaultUserName"), NULL, NULL,
(LPBYTE) DefUserName,&size1);
|
|
|
|
|
1. What your account permission level on that system,
whether you are domain or network admin?
2. Which OS you are using?
modified on Tuesday, July 14, 2009 7:43 AM
|
|
|
|
|
1) I am using the same limited account on both the machines.
2) Windows XP with SP2.
I suppose it has to do something with some system setting, since, I am using same network userid on both machines - but things working fine on one machine and not on other machine. Please help.
|
|
|
|
|
hackcrackvirus wrote: ...but things working fine on one machine and not on other machine.
All that proves is that you have permission on somne machines and not others. Can you read that registry key manually (i.e., no code)?
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
I can read the registry key manually(using both regedit and regedt32).
Is anybody aware of any specific system setting on the machine that will run this application?
|
|
|
|
|
|
The firewall (and firewall service) is off.
DCOM configuration is same on both the machines.
|
|
|
|
|
Hi all,
I have made a simple dialog based application in vc2008(Multi Byte Character Set).
My problem is, i have Dragged custom control on my dialog box and now when i run my program i am getting buffer overrun error.
Can anybody help me in this?
Thanks in advance
|
|
|
|
|
VCProgrammer wrote: i have Dragged custom control on my dialog box and now when i run my program i am getting buffer overrun error.
May I politely ask you to read the guidelines, please?
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
i simply dragged a custom control from toolbox and dropped it on my dialog box and after that when i run my program it gives buffer overrun error
|
|
|
|
|
Have you debugged it? Where does single stepping break? What does the stack trace look like?
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|