|
Hi!
I'm trying to make an MFC app that has two dialogs.
The first dialog is the main one, has some editboxes to imput some values, and a ok button. Pressing the ok button the second window comes up and there is another edit box showing the values previously insertd.
I used this code to open the second Dialog:
void CFirstDlg::OnBnClickedOk()<br />
{<br />
CSecondDlg dlg;<br />
dlg.DoModal();<br />
}
Once opened I don't know how to use the variable of the first I have tryed with firstDlg.m_VAR, adding #include "FirstDlg.h" and CFirstDlg firstDlg; but I'm making something wrong cause it doesn't work. I also tryed to search something on the web but got no results...
Does anyone has some ideas? Advices or some demo?
modified 11-Mar-21 21:01pm.
|
|
|
|
|
blpdone wrote: Does anyone has some ideas? Advices or some demo?
From a design perspective UI components (views) should NOT be tightly coupled (see MVC design pattern).
That issue aside, Dialogs are C++ classes so passing variables between them is the same as passing variables between any two classes. Do you know how to do that?
blpdone wrote: I have tryed with firstDlg.m_VAR
How? we can't read your mind.
"Just about every question you've asked over the last 3-4 days has been "urgent". Perhaps a little planning would be helpful?" Colin Angus Mackay in the C# forum
led mike
|
|
|
|
|
If you want to pass m_VAR from the 1st to 2nd dialog, you can add a SetVar() method to the 2nd dialog class. Then, the code becomes:
void CFirstDlg::OnBnClickedOk()
{
CSecondDlg dlg;
dlg.SetVar(m_VAR);
dlg.DoModal();
}
Best,
Jun
|
|
|
|
|
void CFirstDlg::OnBnClickedOk()
{
CSecondDlg dlg;
dlg.DoModal();
}
"Money talks. When my money starts to talk, I get a bill to shut it up." - Frank
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
Thankyou So much everybody!!!
I understood!!! it works!!!
I didn't know I could do that!
modified 11-Mar-21 21:01pm.
|
|
|
|
|
Hi fellows,
I have a CStatic-derived class. When I get the WM_LBUTTONDOWN message, I change the current bitmap into another one, and restore them in the WM_LBUTTONUP message. It woks fine. Then I include it in my CDialog-derived class using DDX. However, when I add the ON_STN_CLICKED to the message map of my dialog, it does not receive any message. I assume that is because the control already managed te WM_LBUTTONDOWN message. What can I do about it? Prehaps I need to do some subclassing? Any thoughts will be really appreciated.
Regards,
FG.
A polar bear is a bear whose coordinates has been changed in terms of sine and cosine.
|
|
|
|
|
Are you wanting the WM_LBUTTONDOWN message to be handled in both the control class and in the dialog class? Have you seen this?
"Money talks. When my money starts to talk, I get a bill to shut it up." - Frank
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
one possible approach send dialog messages inside control derived class
Kuphryn
|
|
|
|
|
Fernando A. Gómez F. wrote: I assume that is because the control already managed te WM_LBUTTONDOWN message. What can I do about it?
Maybe. Read some MSDN articles on MFC message routing.
Fernando A. Gómez F. wrote: What can I do about it?
Lots of things. Since you have a custom control "CStatic-derived class" you can define a message that you post that the parent dialog can handle. Or you can do more of a Observer/Observable Design Pattern.
"Just about every question you've asked over the last 3-4 days has been "urgent". Perhaps a little planning would be helpful?" Colin Angus Mackay in the C# forum
led mike
|
|
|
|
|
I think I'll try your approach. Thanks a lot.
Regards,
FG.
A polar bear is a bear whose coordinates has been changed in terms of sine and cosine.
|
|
|
|
|
In your CStatic derived class' WM_LBUTTONUP and WM_LBUTTONDOWN handlers try placing a call to Default() .
You may be right I may be crazy -- Billy Joel --
Within you lies the power for good, use it!!!
|
|
|
|
|
Didn't work...
A polar bear is a bear whose coordinates has been changed in terms of sine and cosine.
|
|
|
|
|
|
Hi All,
It's a uncommon application that ihave to code and _mainly_ will be basing on
WM_LBUTTONDOWN message.
The problem is that wm_lbuttondown is not beign received when application is "minimized" - please help, this is really urgent..
With regards,
Paul.
|
|
|
|
|
I don't see how you can receive anything when your application is minimized...
|
|
|
|
|
For example:
an application counting mouse clicks - sitting somewhere in the tray does that..
|
|
|
|
|
That's a tray icon which has nothing to do with whether your application is minimized or not.
When you called Shell_NotifyIcon you had to specify a callback message in the NOTIFYICONDATA struct right? The lParam of that message would contain the mouse or keyboard message associated with the event.
|
|
|
|
|
So no chance to 'track' message while app is minimized ?
All i want to do is write an app that draws a box using Rectangle(...) on the desktop and check wether WM_LBUTTONDOWN appeared on the box X,Y values - if so, box would be redrawed in other position.
|
|
|
|
|
In that case I think PJ Arends' suggestion[^] would be just about the only way I can think of as well.
|
|
|
|
|
Your app has to have the input focus in order to handle mouse messages. When your app is minimized it does not have the input focus. The only work around that I know of is to setup a global hook. See SetWindowsHookEx(WH_MOUSE, ...) in MSDN and do a search here on CP for "Global Hooks"
You may be right I may be crazy -- Billy Joel --
Within you lies the power for good, use it!!!
|
|
|
|
|
Not a good idea,
that's because - app is beign developed on the PPC.
Any other idea?
|
|
|
|
|
int01h wrote: The problem is that wm_lbuttondown is not beign received when application is "minimized" - please help, this is really urgent..
Are you sure other messages are received by your application ?
<marquee scrollamount="1" scrolldelay="1" direction="up" height="10" step="1">--[ ]--
[My Current Status]
|
|
|
|
|
|
Hello,
I have a quick question about serialization. I have a custom built classe (we'll call it MyClass) that contain standard C++ items (i.e. int, float, etc...), MFC objects (i.e. CString, etc...), a few vectors, and some of my custom classes as data memebers. If I derive it (MyClass) from CObject, can I use the standard MFC Serialize functions to save it (MyClass) to a file?
Thanks in advance,
BP
|
|
|
|
|