?
Solved

Sending a command (not a message)

Posted on 2001-07-03
9
Medium Priority
?
254 Views
Last Modified: 2013-11-20
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
0
Comment
Question by:Sintax
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
9 Comments
 
LVL 2

Accepted Solution

by:
MadYugoslav earned 600 total points
ID: 6247701
SendMessage(WM_COMMAND, D_PRX_CHANGEVIEW, (LPARAM )NULL);
0
 
LVL 1

Author Comment

by:Sintax
ID: 6247786
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
 
LVL 2

Expert Comment

by:MadYugoslav
ID: 6247811
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
Will your db performance match your db growth?

In Percona’s white paper “Performance at Scale: Keeping Your Database on Its Toes,” we take a high-level approach to what you need to think about when planning for database scalability.

 
LVL 1

Author Comment

by:Sintax
ID: 6247873
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
 
LVL 2

Expert Comment

by:MadYugoslav
ID: 6247886
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
 
LVL 9

Expert Comment

by:BeyondWu
ID: 6251009
Delay your calling of SendMessage(WM_COMMAND, ID_PRX_CHANGEVIEW, (LPARAM )NULL);
0
 
LVL 2

Expert Comment

by:MadYugoslav
ID: 6252082
Describe your last comment.
0
 
LVL 1

Author Comment

by:Sintax
ID: 6252179
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
 

Expert Comment

by:lil_elvis2000
ID: 6254076
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

Featured Post

[Webinar] How Hackers Steal Your Credentials

Do You Know How Hackers Steal Your Credentials? Join us and Skyport Systems to learn how hackers steal your credentials and why Active Directory must be secure to stop them.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction: Finishing the grid – keyboard support for arrow keys to manoeuvre, entering the numbers.  The PreTranslateMessage function is to be used to intercept and respond to keyboard events. Continuing from the fourth article about sudoku. …
Introduction: Database storage, where is the exe actually on the disc? Playing a game selected randomly (how to generate random numbers).  Error trapping with try..catch to help the code run even if something goes wrong. Continuing from the seve…
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
In this video you will find out how to export Office 365 mailboxes using the built in eDiscovery tool. Bear in mind that although this method might be useful in some cases, using PST files as Office 365 backup is troublesome in a long run (more on t…

765 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question