Click here to Skip to main content
15,921,622 members
Home / Discussions / C#
   

C#

 
GeneralRe: playing a wav file :- directx/c# Pin
exhaulted13-Jul-04 1:39
exhaulted13-Jul-04 1:39 
GeneralRe: playing a wav file :- directx/c# Pin
S020035613-Jul-04 2:02
S020035613-Jul-04 2:02 
GeneralRe: playing a wav file :- directx/c# Pin
exhaulted13-Jul-04 2:31
exhaulted13-Jul-04 2:31 
GeneralRe: playing a wav file :- directx/c# Pin
S020035614-Jul-04 11:31
S020035614-Jul-04 11:31 
Generalneed an opinion.. Pin
OMalleyW12-Jul-04 9:02
OMalleyW12-Jul-04 9:02 
GeneralRe: need an opinion.. Pin
Nick Parker12-Jul-04 9:11
protectorNick Parker12-Jul-04 9:11 
GeneralRe: need an opinion.. Pin
OMalleyW12-Jul-04 9:35
OMalleyW12-Jul-04 9:35 
GeneralRe: need an opinion.. Pin
Heath Stewart12-Jul-04 9:41
protectorHeath Stewart12-Jul-04 9:41 
I would also study how current property sheets / wizards work in the Platform SDK. Both the Shell APIs and MFC contain implementations (MFC is most often a wrapper around the common APIs) of the property sheets and pages and offer good idea to implementing your own. For example, by simply setting a single variable your property sheet is not a wizard. Perhaps this isn't important to you, but what should be is the implementation.

Through interface support, the property sheet (hosts the tab control and buttons, or simply controls the paging of wizard pages) can determine whether a page should allow the user to go back or forward, or cancel, etc. In a property sheet, this wizard-like behavior often corresponds to the Apply button being enabled (i.e., data has changed to either Apply is enabled (for property sheets) or the Next button is enabled (data has been provided).

Even if you completely ignore the property sheet implementation, the power is still in the interface. Your wizard could accept an list or collection of Control, UserControl, or whatever basic class that implements a particular interface (for example, IWizardPage), or simply an abstract class (for example, WizardPage). The pages determine what buttons are enabled and how pages are cycled (depending on their own internal state). You don't really need to worry about resizing the dialog: always maintain a particular order of buttons. If a button is needed, squeeze the buttons down (like if no Next button is needed, a Back button may shift over to where the Next button is, and a Done button should replace a Next button on the final step. The recommended and consistent order of buttons is Back, Next/Finish, Cancel. Sometimes a Help button may be shoved way over to the left corner or be found in the far right after (in a LTR reading order) the Cancel button.

A good wizard control would also make it easy for pages to communicate by implementing a property bucket (a place where pages can store information used by other pages).

Again, many of these concepts are supported by the Shell API for property pages (the very ones you see in the file Properties dialog, etc.).

For a starting point, look-up IPropertyPage in the Platform SDK in the MSDN Library[^].

 

Microsoft MVP, Visual C#
My Articles
GeneralRe: need an opinion.. Pin
OMalleyW12-Jul-04 10:55
OMalleyW12-Jul-04 10:55 
Generalplaying a wav file :- directx/c# Pin
Anonymous12-Jul-04 8:57
Anonymous12-Jul-04 8:57 
GeneralClass or Struct Pin
Gomac12-Jul-04 7:34
Gomac12-Jul-04 7:34 
GeneralRe: Class or Struct Pin
Heath Stewart12-Jul-04 9:31
protectorHeath Stewart12-Jul-04 9:31 
QuestionScroll a Treeview in Code? Pin
selden0312-Jul-04 6:29
selden0312-Jul-04 6:29 
AnswerRe: Scroll a Treeview in Code? Pin
Jay Shankar12-Jul-04 20:54
Jay Shankar12-Jul-04 20:54 
QuestionConstructing a setup project with variable paths not working??? Pin
LongRange.Shooter12-Jul-04 5:13
LongRange.Shooter12-Jul-04 5:13 
QuestionCan not catch KeyDown message from RETURN key Pin
Roman Muntyanu12-Jul-04 3:49
Roman Muntyanu12-Jul-04 3:49 
AnswerRe: Can not catch KeyDown message from RETURN key Pin
Peter Vertes12-Jul-04 4:22
Peter Vertes12-Jul-04 4:22 
GeneralRe: Can not catch KeyDown message from RETURN key Pin
Nick Parker12-Jul-04 4:56
protectorNick Parker12-Jul-04 4:56 
GeneralRe: Can not catch KeyDown message from RETURN key Pin
Roman Muntyanu12-Jul-04 6:28
Roman Muntyanu12-Jul-04 6:28 
GeneralRe: Can not catch KeyDown message from RETURN key Pin
Mike Dimmick12-Jul-04 12:51
Mike Dimmick12-Jul-04 12:51 
GeneralRe: Can not catch KeyDown message from RETURN key Pin
Roman Muntyanu12-Jul-04 14:31
Roman Muntyanu12-Jul-04 14:31 
GeneralRe: Can not catch KeyDown message from RETURN key Pin
Roman Muntyanu14-Jul-04 1:55
Roman Muntyanu14-Jul-04 1:55 
Generalblock an IP Pin
chuchichäschtli12-Jul-04 2:28
chuchichäschtli12-Jul-04 2:28 
GeneralRe: block an IP Pin
Heath Stewart12-Jul-04 3:04
protectorHeath Stewart12-Jul-04 3:04 
Generalrequest socket Pin
shahrokh nabavi12-Jul-04 1:31
shahrokh nabavi12-Jul-04 1:31 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.