Is it an editable combo box? If so, you probably should subclass the edit field instead of the combo itself. Also you could try overwriting PreTranslateMessage for the combo, maybe those messages cross it before trabslation, am not sure.
> The problem with computers is that they do what you tell them to do and not what you want them to do. < > Life: great graphics, but the gameplay sux. <
I have resource sharing issue in my MFC programming. Below, I will describe the scenario.
I am using VC++ 6.o version
I have a dialog(modeless) based application.
Main dialog box has a Button( say "Button1" ) with OnButton1(), that will call member function DisplayChildDialog()
I have a worker thread also, that will call DisplayChildDialog() using PostMessage() of main dialog.
DisplayChildDialog() will dispaly a child dialog(modal). Child dialog's object is created locally in DisplayChildDialog().
So DisplayChildDialog() will always called from the GUI thread.
When I clicks on "Button1", OnButton1() will call a member function DisplayChildDialog() and a child dialog(modal) will appear.
This time worker thread will also call DisplayChildDialog() using PostMessage() of Main dialog.
When I click on "Button1" DisplayChildDialog() will also call from worker thread using PostMessage(). of the main dialog. So two dialogs will appear simultaniously.
To avoid this situation I made the second caller of DisplayDialog() to enter in a MessageLoop, and will check a flag that will infrom whether the first caller has left the DisplayChildDialog() or not.
I wrote the message loop in DisplayDialog() like this.
But this will work 5 or 6 times correctly. But after that, when I clicks on "Button1", the first caller of DisplayDialog() will terminate before showing the dialog box it will just make CChildDlg::m_bDisply = true. So the second caller will enter in Message loop and never exit.
I tried this too instead of above given message loop:
while( CChildDlg::m_bDisply && WaitMessage())
There is a simpler way.
Just type "devenv <.sln filename>" or "devenv <.vcproj filename>"
You need to ensure that devenv is in the path.
For this you can take the Visual Studio 2005 Command Prompt.
You will find the link in All Programs -> Microsoft Visual Studio 2005 -> Visual Studio Tools.
«_Superman_» I love work. It gives me something to do between weekends.
I converted one window based application from vs2002 to vs2008.Whenever I open a dialog and when i move my mouse on that dialog then dialog beocmes invisible only if mouse goes on some controls like(button,checkboxes).
Please suggest me some solution.
but it seems that, you are doing some thing there.
first try to comment the whole code in on mouse move and see what happens?
and, do you observe the dialog hidden or killed?
if it is hidden, then is it again coming back in any other event?
-------------------------------------------- Suggestion to the members:
Please prefix your main thread subject with [SOLVED] if it is solved.
I have created a program which can scan windows update, download updates, install updates.
But its scan results defer from that of MBSA, it always gets more results. After I checked it, I found that it involves "SupersededUpdateIDs". MBSA often removes update items that are superseded by others. However, this is not always true. After I improved the program according it, I indeed reduced the difference between MBSA and my program, but still some difference. Can anyone tell me how MBSA dealed with the scan results? I mean, what MBSA has done with the scan results according to "SupersededUpdateIDs" or anything else?
Also, When I use "download" and "install" function in my program, sometimes there are errors, like "0x80240024"(when download), "4"(when install) HRESULT value returned. I want to known if it concerns with my os setting or something else. So can anyone tell something about this?
thanks a lot
Last Visit: 31-Dec-99 18:00 Last Update: 30-Sep-23 3:59