3ds Max C++ API Reference
ITabbedDialog Class Referenceabstract

#include <ITabDialog.h>

+ Inheritance diagram for ITabbedDialog:

Public Types

enum  { kSystemPage = 20 , kNormalPage = 50 , kMaxPage = 100 }
 

Public Member Functions

virtual void DeleteThis ()=0
 Delete yourself. More...
 
virtual Class_ID GetDialogID () const =0
 Return the dialogID for this dialog. More...
 
virtual ITabPageAddPage (const MCHAR *text, HINSTANCE instance, const MCHAR *tmplt, ITabPageProc *proc, const Class_ID &pageID, ITabDialogPluginTab *plugin=NULL, DWORD helpID=0, int order=kNormalPage, int image=-1)=0
 Add a page to the dialog. More...
 
virtual ITabPageAddRollout (const MCHAR *text, ITabPageProc *proc, const Class_ID &pageID, ITabDialogPluginTab *plugin=NULL, int controlID=-1, int width=0, int bottomMargin=0, DWORD helpID=0, int order=kNormalPage, int image=-1)=0
 Add a rollout page to the dialog. More...
 
virtual void SyncRegisteredTabs ()=0
 Add and remove registered tabs to the dialog. More...
 
virtual ITabDialogFilterGetTabFilter () const =0
 Get the filter for this dialog. More...
 
virtual ITabDialogProcGetProc () const =0
 Get the dialog proc. More...
 
virtual ITabDialogProcSetProc (ITabDialogProc *newProc)=0
 Set the dialog proc. More...
 
virtual INT_PTR DoModal (const Class_ID &page)=0
 Display and process modal dialog. More...
 
virtual bool DoFloater (const Class_ID &page)=0
 Display and process modeless dialog. More...
 
virtual void Switch (const Class_ID &page)=0
 Switch to the given page. More...
 
virtual void Invalidate ()=0
 Invalidate all pages in the dialog. More...
 
virtual void SetImageList (HIMAGELIST list)=0
 Set the image list for the tab control. More...
 
virtual int CurrentPage () const =0
 Get the index of the current page. More...
 
virtual void SetMargins (int left, int top, int right, int bottom)=0
 Set the margins for the tab in the dialog. More...
 
virtual void SetTabbedRect (const RECT &rect)=0
 Set the margins for the tab in the dialog. More...
 
virtual int GetNbPages () const =0
 Get the number of pages. More...
 
virtual ITabPageGetPage (int index) const =0
 return the page at index More...
 
virtual ITabPageGetPage (const Class_ID &id) const =0
 return the page with the passed class ID More...
 
virtual HWND GetHWND () const =0
 Get the window for the tabbed dialog. More...
 
virtual bool OkToCommit ()=0
 Used for modal dialogs with IDOK and IDCANCEL. More...
 
virtual bool CommitPages ()=0
 Used for modal dialogs with IDOK and IDCANCEL. More...
 
virtual void CloseDialog ()=0
 Used for modeless dialogs. More...
 
virtual void ClosePages ()=0
 Used for modeless dialogs. More...
 
virtual void CancelDialog ()=0
 Used for both modal and modeless dialogs. More...
 
virtual void CancelPages ()=0
 Used for both modal and modeless dialogs. More...
 
virtual HWND GetTabHWND () const =0
 Get the window for the tab control. More...
 

Static Public Member Functions

static ITabbedDialogGetPointer (HWND dialog)
 
- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e)
 Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport void operator delete (void *ptr)
 Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator. More...
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator. More...
 
static UtilExport voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary. More...
 
static UtilExport voidaligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary. More...
 
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More...
 

Protected Member Functions

virtual ~ITabbedDialog ()
 

Detailed Description

See also
Class ITabDialogPluginTab, Class ITabDialogManager
Description:
This interface is used to manage a tabbed dialog. You can add pages and either display a modal or modeless dialog. You can add a rollout page, that can contain MAX rollouts

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
kSystemPage 
kNormalPage 
kMaxPage 
298  {
299  kSystemPage = 20,
300  kNormalPage = 50,
301  kMaxPage = 100
302  };
@ kSystemPage
Definition: ITabDialog.h:299
@ kMaxPage
Definition: ITabDialog.h:301
@ kNormalPage
Definition: ITabDialog.h:300

Constructor & Destructor Documentation

◆ ~ITabbedDialog()

virtual ~ITabbedDialog ( )
inlineprotectedvirtual
452 {}

Member Function Documentation

◆ GetPointer()

static ITabbedDialog* GetPointer ( HWND  dialog)
inlinestatic
304  {
305  return DLGetWindowLongPtr<ITabbedDialog*>(dialog);
306  }

◆ DeleteThis()

virtual void DeleteThis ( )
pure virtual

Delete yourself.

◆ GetDialogID()

virtual Class_ID GetDialogID ( ) const
pure virtual

Return the dialogID for this dialog.

◆ AddPage()

virtual ITabPage* AddPage ( const MCHAR text,
HINSTANCE  instance,
const MCHAR tmplt,
ITabPageProc proc,
const Class_ID pageID,
ITabDialogPluginTab plugin = NULL,
DWORD  helpID = 0,
int  order = kNormalPage,
int  image = -1 
)
pure virtual

Add a page to the dialog.

Parameters
text- the tab text.
instance- instance for the dialog template. If instance is NULL, the tmplt is a pointer to the dialog template in memory.
tmplt- The resource for the dialog template.
proc- The message handler for the page.
pageID- The ID of the page to add the rollout to
plugin- The plugin to set as the tab pages plugin
helpIDis ID used for context sensitive help.
order- The order that the tab will appear in the tabs. Two pages with the same order are ordered by the order they are added.
image- An image for the tab in the image list set by SetImageList.
Returns
The created page

◆ AddRollout()

virtual ITabPage* AddRollout ( const MCHAR text,
ITabPageProc proc,
const Class_ID pageID,
ITabDialogPluginTab plugin = NULL,
int  controlID = -1,
int  width = 0,
int  bottomMargin = 0,
DWORD  helpID = 0,
int  order = kNormalPage,
int  image = -1 
)
pure virtual

Add a rollout page to the dialog.

Parameters
text- the tab text.
proc- the message handler for the page.
pageID- The ID of the page to add the rollout to
plugin- The plugin to set as the tab pages plugin
controlID- The ID of the control window
width- The width of the rollout to create
bottomMargin- The margins give additional space between the rollout control and the client.
helpID- ID used for context sensitive help.
order- the order that the tab will appear in the tabs. Two pages with the same order are ordered by the order they are added.
image- an image for the tab in the image list set by SetImageList.

◆ SyncRegisteredTabs()

virtual void SyncRegisteredTabs ( )
pure virtual

Add and remove registered tabs to the dialog.

◆ GetTabFilter()

virtual ITabDialogFilter* GetTabFilter ( ) const
pure virtual

Get the filter for this dialog.

Returns
This dialogs filter

◆ GetProc()

virtual ITabDialogProc* GetProc ( ) const
pure virtual

Get the dialog proc.

Returns
The current dialog proc

◆ SetProc()

virtual ITabDialogProc* SetProc ( ITabDialogProc newProc)
pure virtual

Set the dialog proc.

Returns
The previous dialog proc

◆ DoModal()

virtual INT_PTR DoModal ( const Class_ID page)
pure virtual

Display and process modal dialog.

◆ DoFloater()

virtual bool DoFloater ( const Class_ID page)
pure virtual

Display and process modeless dialog.

◆ Switch()

virtual void Switch ( const Class_ID page)
pure virtual

Switch to the given page.

◆ Invalidate()

virtual void Invalidate ( )
pure virtual

Invalidate all pages in the dialog.

◆ SetImageList()

virtual void SetImageList ( HIMAGELIST  list)
pure virtual

Set the image list for the tab control.

◆ CurrentPage()

virtual int CurrentPage ( ) const
pure virtual

Get the index of the current page.

◆ SetMargins()

virtual void SetMargins ( int  left,
int  top,
int  right,
int  bottom 
)
pure virtual

Set the margins for the tab in the dialog.

This is only applicable if the tabCtrl is not part of the dialog template. If SetTabbedRect is called with a nonempty rectangle, it is used, otherwise the margins are used.

Parameters
left- The left margin
top- the top margin
right- the right margin
bottom- the bottom margin

◆ SetTabbedRect()

virtual void SetTabbedRect ( const RECT &  rect)
pure virtual

Set the margins for the tab in the dialog.

This is only applicable if the tabCtrl is not part of the dialog template. If SetTabbedRect is called with a nonempty rectangle, it is used, otherwise the margins are used.

◆ GetNbPages()

virtual int GetNbPages ( ) const
pure virtual

Get the number of pages.

◆ GetPage() [1/2]

virtual ITabPage* GetPage ( int  index) const
pure virtual

return the page at index

◆ GetPage() [2/2]

virtual ITabPage* GetPage ( const Class_ID id) const
pure virtual

return the page with the passed class ID

◆ GetHWND()

virtual HWND GetHWND ( ) const
pure virtual

Get the window for the tabbed dialog.

◆ OkToCommit()

virtual bool OkToCommit ( )
pure virtual

Used for modal dialogs with IDOK and IDCANCEL.

◆ CommitPages()

virtual bool CommitPages ( )
pure virtual

Used for modal dialogs with IDOK and IDCANCEL.

◆ CloseDialog()

virtual void CloseDialog ( )
pure virtual

Used for modeless dialogs.

note that if the user hits the X in the upper right corner, a cancel message will be sent.

◆ ClosePages()

virtual void ClosePages ( )
pure virtual

Used for modeless dialogs.

note that if the user hits the X in the upper right corner, a cancel message will be sent.

◆ CancelDialog()

virtual void CancelDialog ( )
pure virtual

Used for both modal and modeless dialogs.

◆ CancelPages()

virtual void CancelPages ( )
pure virtual

Used for both modal and modeless dialogs.

◆ GetTabHWND()

virtual HWND GetTabHWND ( ) const
pure virtual

Get the window for the tab control.