Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

document with dialogs

Posted on 2000-04-16
8
Medium Priority
?
167 Views
Last Modified: 2013-11-20
I have dialogbox in the view(dial1), now dial1 calls another dialogbox(dial2)
I want that this dialogboxes will update the Document's variable(not hte view's variable).
How do i do it?
Eyal
0
Comment
Question by:Edy1988
[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
  • 4
  • 2
  • 2
8 Comments
 
LVL 3

Accepted Solution

by:
GlennDean earned 150 total points
ID: 2720490
Hi:
   Have your dialog have a member variable say
  CMyDoc * pDoc;
Before your view creates the dialog, call it myDlg, write
CMyDoc * pDoc = (CMyDoc *)GetActiveDocument();
myDlg.pDoc=pDoc;
//Spin the dialog up, say via DoModal

Then, in the dialog, it has access to the document's variables.
   Glenn
0
 

Author Comment

by:Edy1988
ID: 2721540
But the GetActiveDocument is a FrameWnd method, how can i use it from the view?
0
 
LVL 3

Expert Comment

by:GlennDean
ID: 2723303
Hi Edy1988:
   Call the View's GetDocument function.
   Glenn
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 

Expert Comment

by:degarn
ID: 2723373
The view has also a specific member function which links it to its related view :
CDocument* GetDocument();

Well, now, if your document is specialized, I mean if you've added specific member variables in it that you want to acces from your dialogs, you 've got to ways to process :

1) Use casting :
dial1 aDlg;
CMyappDoc* pDoc=(CMyAppDoc*)pmyAppView->GetDocument();
aDlg.m_pDoc=pDoc; //where m_pDoc is declared CMyAppDoc* m_pDoc in dial1

2) Create a member function in your view :
CMyAppDoc* CMyAppView::GetMyAppDoc()
{
       return (CMyAppDoc*)GetDocument();
}

And then use the same member variable in your dialog that was offered by GlennDean :
//Place this code in your view
dial1 aDlg;
aDlg.m_pDoc=GetMyAppDoc();

Btw, a good thing would be to override your dialog's constructor to give them the doc pointer :

dial1 aDlg(GetMyAppDoc());

Hope this help...
Arn.
0
 

Expert Comment

by:degarn
ID: 2725654
Well, my comment seems upset now, but i promess when I began to write it, GlennDean's comment wasn't added yet !
I'll be faster the next time ...
0
 

Author Comment

by:Edy1988
ID: 2725683
degarn!
Had you posted your answer as answer and not as comment,i might have given you the points
Eyal
0
 

Expert Comment

by:degarn
ID: 2725955
Hi Edy,
when a question was answered once, it's placed in the list of locked questions that had received answers and have to be evaluated by asker. Then it's impossible to give it another answer till the asker accepts or rejects the proposed answer. When you answer a question in that list, you can only post comments and so you take the risk not receiving the related points.
Btw, I'm sure GlennDean would finally have arrived to the same answer a gave !
Well, I'm happy my answer was useful...
0
 

Expert Comment

by:degarn
ID: 2725960
>>to the same answer I gave !
Sorry...
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Here is how to use MFC's automatic Radio Button handling in your dialog boxes and forms.  Beginner programmers usually start with a OnClick handler for each radio button and that's just not the right way to go.  MFC has a very cool system for handli…
Introduction: Ownerdraw of the grid button.  A singleton class implentation and usage. Continuing from the fifth article about sudoku.   Open the project in visual studio. Go to the class view – CGridButton should be visible as a class.  R…
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.
Is your data getting by on basic protection measures? In today’s climate of debilitating malware and ransomware—like WannaCry—that may not be enough. You need to establish more than basics, like a recovery plan that protects both data and endpoints.…
Suggested Courses

610 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