Sending a command (not a message)

Hi,

I have an application which does many things based on menu item clicks. The functions are written in classes which are very complicated and hard to access. I want to be able to trigger the function assigned to ID_PRX_CHANGEVIEW. Is there a way to "trick" the application and emulate the menuitem selection so the hidden function would be called? This is vital since the code is too big and many object instances are hidden from the MainFrame (this is where I wish to emulate the command)

Please help,
Sintax
LVL 1
SintaxAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
MadYugoslavConnect With a Mentor Commented:
SendMessage(WM_COMMAND, D_PRX_CHANGEVIEW, (LPARAM )NULL);
0
 
SintaxAuthor Commented:
It doesn't do what it should.
I have SendMessage(WM_COMMAND, ID_PRX_CHANGEVIEW, (LPARAM )NULL); in the mainframe. And I have an ON_COMMAND(ID_PRX_CHANGEVIEW,OnChange) in the DBViewDoc with a messagebox in OnChange. This messagebox is NEVER raised.

Sintax
0
 
MadYugoslavCommented:
If ID_PRX_CHANGEVIEW is menu item (is it ?) than check is there only one override for that command (only in CDocument). If it is then tru to send message to your CChildFrame window not to CMainFrame.
0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
SintaxAuthor Commented:
It doesn't do what it should.
I have SendMessage(WM_COMMAND, ID_PRX_CHANGEVIEW, (LPARAM )NULL); in the mainframe. And I have an ON_COMMAND(ID_PRX_CHANGEVIEW,OnChange) in the DBViewDoc with a messagebox in OnChange. This messagebox is NEVER raised.

Sintax
0
 
MadYugoslavCommented:
Do You try to look from Debugger ?
Is there any enter in Your function OnChange() ?
What happened if You click on menu item ID_PRX_CHANGEVIEW ?
0
 
BeyondWuCommented:
Delay your calling of SendMessage(WM_COMMAND, ID_PRX_CHANGEVIEW, (LPARAM )NULL);
0
 
MadYugoslavCommented:
Describe your last comment.
0
 
SintaxAuthor Commented:
I managed to solve the command send, however I need to use HWND_BROADCAST to make it get the command. This is ok in some cases, however, when you have a lot of windows, eachone gets the command and may respond to it. How can I send the command to the document ? The problem is I have a fake window which relays, thus making the processing only possible with the broadcast.

Sintax
0
 
lil_elvis2000Commented:
I don't understand. Which window is sending the WM_COMMAND? try sending it to the frame by obtaining the mainframe pointer. AfxGetMainWnd()(sp?) and sending the command to it. The command routing will kick in and send it first to the active view, then to its document, and so on...
0
All Courses

From novice to tech pro — start learning today.