Why can't i sent parameters to an IDC(I.D. Control)

  • Thread starter Thread starter sweetjones
  • Start date Start date
  • Tags Tags
    Control Parameters
AI Thread Summary
In programming with MFC in C++, sending parameters directly to an IDC (I.D. Control) is not possible due to the requirement that event handler functions, like OnBnClicked, must have a specific signature: they cannot accept arguments and must be defined as "void OnBnClicked()". To work around this limitation, member variables can be used to store the necessary values. When the button is clicked, the OnBnClicked function can call another function (e.g., DoBlah) using these member variables. This approach allows the desired parameters to be utilized indirectly. Users experiencing issues with implementation are encouraged to ensure they are correctly referencing member variables and function calls.
sweetjones
Messages
44
Reaction score
0
Why can't i send parameters to an IDC(I.D. Control)

I'm programming a MFC project in C++ using Visual Studio. I'm trying to send 2 parameters through an IDC, so the values of these variables can past through other methods, but i keep getting an error message:error C2440: 'static_cast' : cannot convert from 'void (__thiscall CMFC_testDlg::* )(int &,int &)' to 'AFX_PMSG'
So I took the "afx_msg" off of the class function in my header file, but it still doesn't work. It keeps referring back to this line of code in my Message Map: "ON_BN_CLICKED(IDC_Multiply, OnBnClickedMultiply)" What could I do to pass parameters to a Control, or is it just not possible? Let me know if you need anymore info to help me out. Thankx In Advance!
 
Last edited:
Technology news on Phys.org
You can't have any arguements to the OnBnClicked function it must be "void OnBnClicked()"

If you have a function DoBlah(int a,int b) that must be called when clicked you have to do something like

void OnBnClicked()
{
DoBlah(m_a,m_b);
}

Where m_a, m_b are member variables set somewhere else
 
mgb_phys said:
You can't have any arguements to the OnBnClicked function it must be "void OnBnClicked()"

If you have a function DoBlah(int a,int b) that must be called when clicked you have to do something like

void OnBnClicked()
{
DoBlah(m_a,m_b);
}

Where m_a, m_b are member variables set somewhere else

Ok! I think I know what you mean. I tried that before, but I think I put in the wrong function call. I'll try it again your way. I would have move some things around to get the right results, though. I'll keep you posted. Thanks for your help.
 
Thread 'Is this public key encryption?'
I've tried to intuit public key encryption but never quite managed. But this seems to wrap it up in a bow. This seems to be a very elegant way of transmitting a message publicly that only the sender and receiver can decipher. Is this how PKE works? No, it cant be. In the above case, the requester knows the target's "secret" key - because they have his ID, and therefore knows his birthdate.
I tried a web search "the loss of programming ", and found an article saying that all aspects of writing, developing, and testing software programs will one day all be handled through artificial intelligence. One must wonder then, who is responsible. WHO is responsible for any problems, bugs, deficiencies, or whatever malfunctions which the programs make their users endure? Things may work wrong however the "wrong" happens. AI needs to fix the problems for the users. Any way to...
Back
Top