Solved

How to create wizards in VC++

Posted on 2001-07-31
16
328 Views
Last Modified: 2013-11-20
hi everyone,

I am developing an application in VC++.I want a wizard to be there (in my application) just as it happens to be when we select File|New in VC++. This can be done by several dialog boxes in series but as per as Back|Next is concerned lots of overheads are coming into scene. Is there any easy way to build wizards? That is, is there any wizard to create wizards? Or is there any special tool to create that?

Please reply quickly....

Thank you in advance....
0
Comment
Question by:netwiz
  • 10
  • 5
16 Comments
 
LVL 12

Expert Comment

by:migel
ID: 6339390
Hi!
You have to use CPropertySheet in the wizard mode.
Also you can automate such Wizard creation just inserting in the project PropertySheet component in  the
MSVC ide:
menu Project|Add to project|Components and Controls
in the appeared dialog select
"Visual C++ component" folder and select PropertySheet icon
0
 

Author Comment

by:netwiz
ID: 6339599
ok migel,
let me try it...
0
 

Author Comment

by:netwiz
ID: 6344105
Well I'm being able to add wizards.But I want that acording to the user input in the first property page of the wizard ,the next dialog(Property Page) (among say three) will come. That I'm not being able to do. Please suggest how to proceed...

thank you very much for giving me the first light on wizards
0
NAS Cloud Backup Strategies

This article explains backup scenarios when using network storage. We review the so-called “3-2-1 strategy” and summarize the methods you can use to send NAS data to the cloud

 
LVL 12

Expert Comment

by:migel
ID: 6344240
Hi!
please explain this
>>But I want that acording to the user input in the first property
>>page of the wizard ,the next dialog(Property Page) (among say three) will come

Do you mean that next page depended on selection that user make in the first one?
or second page must appear automaticall when user click(, doubleclick) on the button(select list item , choose radio button)???
0
 

Author Comment

by:netwiz
ID: 6344520
I mean that next page is depended on selection that user make in the first one.Say on the first page two radio buttons are there.1. Create rectangle 2.Create triangle. If the user selects first one then the next page will ask him the length and bredth. And if user selects the 2nd one then it will ask for base and height.So, the second page will be different and will depend on the user input in the first page.

How to diverge like this...
0
 

Author Comment

by:netwiz
ID: 6344552
I mean that next page is depended on selection that user make in the first one.Say on the first page two radio buttons are there.1. Create rectangle 2.Create triangle. If the user selects first one then the next page will ask him the length and bredth. And if user selects the 2nd one then it will ask for base and height.So, the second page will be different and will depend on the user input in the first page.

How to diverge like this...
0
 
LVL 12

Expert Comment

by:migel
ID: 6344818
0
 

Author Comment

by:netwiz
ID: 6347392
Well I'm trying that...
0
 

Author Comment

by:netwiz
ID: 6347792
I tried that...but once DoModal is called it will start showing all the sequence of pages and before calling DoModal I'm not being able to Enable or disable any  of the pages.....so how to implement that....I tried adding handlers in the first page...but then passing the reference of the PropertySheet is being a problem .
0
 
LVL 12

Expert Comment

by:migel
ID: 6348040
Hi!
but you can add all pages you need regardless first page choose
and then according selection in the 1 page make unused pages disable by calling
m_page2.Enable(FALSE);
m_page2.Enable(FALSE);
and so on
0
 

Author Comment

by:netwiz
ID: 6348132
but where to call ?after calling DoModal?
0
 

Author Comment

by:netwiz
ID: 6348189
I will retrieve data from the PropertyPage objects after DoModal returns IDOK(ie,ID_CANCEL or ID_WIZFINISH for wizards).That is after all the pages are displayed. So how can I retrieve the result of the first page when DoModal is running...
0
 
LVL 12

Accepted Solution

by:
migel earned 200 total points
ID: 6348196
Hi!
there is virtual method for property page:
virtual LRESULT OnWizardNext();
just override it in the your first page and disable appropriate pages by calling parent window method(Enable);
for example:
LRESULT CMyFirstPage::OnWizardNext()
{
CWizPropertySheet* pSheet = (CWizPropertySheet*)GetParent();
if (pSheet)
 {
//according user choose
pSheet->Enable(FALSE, 2,3);
 }
}
0
 

Author Comment

by:netwiz
ID: 6348217
well trying it...
0
 
LVL 1

Expert Comment

by:Moondancer
ID: 6352236
Sorry to be off topic here, but netwiz, which expert did you intend to award here, since it requires manual intervention:

http://www.experts-exchange.com/jsp/qShow.jsp?ta=mfc&qid=20153556

Thanks, looking for your response to complete and award the intended expert promptly.

Moondancer
Community Support Moderator @ Experts Exchange
0
 

Author Comment

by:netwiz
ID: 6363222
Sorry I was out of station...itn is working fine ...thank U migel.
0

Featured Post

Best Practices: Disaster Recovery Testing

Besides backup, any IT division should have a disaster recovery plan. You will find a few tips below relating to the development of such a plan and to what issues one should pay special attention in the course of backup planning.

Question has a verified solution.

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

Suggested Solutions

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…
Introduction: Dialogs (1) modal - maintaining the database. Continuing from the ninth article about sudoku.   You might have heard of modal and modeless dialogs.  Here with this Sudoku application will we use one of each type: a modal dialog …
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.
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.

831 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