|
BTW, if all I do is get rid of the custom control , the property page that contained the control displays. For some reason the custome control is not getting created when it is in a propery control. Is DDX_CONTROL the proper way to assign a variable name to this control....
|
|
|
|
|
I've noticed within my MFC application that should a MessageBox() API be invoked while the user is displaying a context menu that the menu is taken down and the MessageBox is shown. However, if a DoModal() API is called to show one of my dialogs while a context menu is being shown the menu stays up but you can no longer select from it. Its kind of frozen.
How can I go about causing the context menu to go away prior to calling the DoModal() API? Is there a way to search for a visible menu and then subsequently destroy them? Any ideas or code snipits?
Craig
|
|
|
|
|
|
Thanks very much. That's just what I needed to learn.
Craig
|
|
|
|
|
Hello,
I was looking for way to enumarate applications systemwide that currently using serial ports, let's say to get PID of who currenly has open COM1 or COM2... Actually I'm interested in the ports that are in use: "Port Settings->Advanced->Com Port Number" from "(in use)".
Thanks
|
|
|
|
|
I have a CWnd-derived class. In the demo dialog I'm put the object from this class. I'm need to handle an arrow button push in the object of the CWnd-derived class, but I can't retrive a WM_KEYDOWN message.
Can somebody help me?
Best regards,
Eugene Pustovoyt
ICQ UIN: 161325180
|
|
|
|
|
You're not getting WM_KEYDOWN at all, or just for the arrow ?
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
I'm not getting WM_KEYDOWN at all, but I need a arrow button only.
I'm try to handle a message in the OnKeyDown() handler and in the PreTranslateMessage() method.
Best regards,
Eugene Pustovoyt
ICQ UIN: 161325180
|
|
|
|
|
Then something else is swallowing the message - what on the dialog has the focus ?
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
Yes, dialog has the focus. By press arrow button has effect in the last focused window (for example - CListBox). If I press TAB then after some steps I jump to the my CWnd::OnFocus() method.
Best regards,
Eugene Pustovoyt
ICQ UIN: 161325180
|
|
|
|
|
Eugene Pustovoyt wrote:
Yes, dialog has the focus. By press arrow button has effect in the last focused window (for example - CListBox).
Then, the dialog does not have the focus. How is this window being shown, is it a modeless dialog ?
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
No, it's modal dialog
Best regards,
Eugene Pustovoyt
ICQ UIN: 161325180
|
|
|
|
|
Then how can you be pressing tab to move the focus into the dialog ? Or did I misunderstand you ?
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
You're misunderstand me. When I press TAB then focus jump by all controls of the MODAL dialog and to my control (OnSetFocus method) too. Therefore I think a dialog do process WM_KEYDOWN message, but this message isn't arrive at my CWnd-derived class.
Best regards,
Eugene Pustovoyt
ICQ UIN: 161325180
|
|
|
|
|
Oh - is your CWnd derived class a control on the dialog ? If that's the case, then the fact you need to press tab proves that your control does not have focus, and therefore does not get any keyboard messages.
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
Yes, my CWnd-derived class is a control on the dialog.
And how can set focus if SetFocus() method has not effect or how can I get WM_KEYDOWN message??
Best regards,
Eugene Pustovoyt
ICQ UIN: 161325180
|
|
|
|
|
To get the message, you need the focus. Can't you set your control to be the one that recieves initial focus in the dialog editor ? Perhaps making it top of the tab order will do this ?
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
In my OnSetFocus() handler I call CWnd::OnSetFocus(pOldWnd) and just SetFocus(), but it has not effect to getting WM_KEYDOWN message. How another I can set a focus?
Best regards,
Eugene Pustovoyt
ICQ UIN: 161325180
|
|
|
|
|
Which OnSetFocus handler ? YOu're saying you call OnSetFocus in the dialog, and the handler in your control calls it as well, as it's a composite control ?
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
Probably it because my bad English.
Start from begin step by step:
1. I wrote a Cwnd-derived control which must to get a WM_KEYDOWN
2. I'm put his to MODAL DEMO DIALOG
3. If I press TAB in my demo then I see as a focus jump from the control to the control. Focus also jump into WM_SETFOCUS handler of the my control CMyControl::OnSetFocus()
4. In the WM_SETFOCUS handler of the my control I call CWnd::OnSetFocus() or SetFocus() but it has not effect to getting a WM_KEYDOWN message. I can't get this message neither in the WM_KEYDOWN handler of the CMyControl nor in the CMyControl::PreTranslateMessage.
Best regards,
Eugene Pustovoyt
ICQ UIN: 161325180
|
|
|
|
|
Now what - dialog of CWnd??
With dialogs you'll never get this msg since always a child wnd has the focus.
Dig into PreTranslateMessage() instead.
----------------------
~hamster1
|
|
|
|
|
I'm understand, but how can I set a focus, if SetFocus() method has not effect.
In the PreTranslateMessage() method I don't retrive a WM_KEYDOWN message too.
Best regards,
Eugene Pustovoyt
ICQ UIN: 161325180
|
|
|
|
|
Hello,
For some reason my dialog boxes that have radio buttons in them don't show the "underscore" portion of the name unless the user hits the "Alt" key. So if I have a radio button with the word "&Hello" as its caption it doesn't put an underscore the 'H' as it should.
Any clues as to why this is happening?
Thank you,
Al
|
|
|
|
|
there's a display property ( display control panel, in the appearance section ) that regulates the display or not of the underscore.
Maximilien Lincourt
Your Head A Splode - Strong Bad
|
|
|
|
|
Thank you Maximilien, but I'm unfamiliar with this property. Is it a property of the Radio Button, the Dialog Box, or withing Visual C++ itself?
Any help is greatly appreciated.
Thanks,
Al
|
|
|
|