Sdílet prostřednictvím


Rutiny výměny dat standardního dialogového okna

Toto téma uvádí standardní rutiny výměny dat dialogových oken (DDX) používané pro běžné ovládací prvky dialogových oken MFC.

Poznámka:

Standardní rutiny výměny dat dialogového okna jsou definovány v souboru afxdd_.hhlavičky . Aplikace by však měly zahrnovat afxwin.h.

Funkce DDX

Název Popis
DDX_CBIndex Inicializuje nebo načte index aktuálního výběru ovládacího prvku pole se seznamem.
DDX_CBString Inicializuje nebo načte aktuální obsah pole pro úpravy ovládacího prvku pole se seznamem.
DDX_CBStringExact Inicializuje nebo načte aktuální obsah pole pro úpravy ovládacího prvku pole se seznamem.
DDX_Check Inicializuje nebo načte aktuální stav ovládacího prvku zaškrtávacího políčka.
DDX_Control Podtřídy daného ovládacího prvku v dialogovém okně.
DDX_DateTimeCtrl Inicializuje nebo načte data data a času ovládacího prvku pro výběr data a času.
DDX_IPAddress Inicializuje nebo načte aktuální hodnotu ovládacího prvku IP adresy.
DDX_LBIndex Inicializuje nebo načte index aktuálního výběru ovládacího prvku seznamu.
DDX_LBString Inicializuje nebo načte aktuální výběr v rámci ovládacího prvku seznam.
DDX_LBStringExact Inicializuje nebo načte aktuální výběr v rámci ovládacího prvku seznam.
DDX_ManagedControl Vytvoří ovládací prvek .NET odpovídající ID prostředku ovládacího prvku.
DDX_MonthCalCtrl Inicializuje nebo načte aktuální hodnotu ovládacího prvku kalendáře měsíce.
DDX_Radio Inicializuje nebo načte index 0 rádiového ovládacího prvku, který je aktuálně kontrolován v rámci skupiny ovládacích prvků rádia.
DDX_Scroll Inicializuje nebo načte aktuální pozici palce ovládacího prvku posouvání.
DDX_Slider Inicializuje nebo načte aktuální pozici ovládacího prvku posuvníku.
DDX_Text Inicializuje nebo načte aktuální hodnotu ovládacího prvku pro úpravy.

DDX_CBIndex

Funkce DDX_CBIndex spravuje přenos int dat mezi ovládacím prvku pole se seznamem v dialogovém okně, zobrazení formuláře nebo ovládacím objektem zobrazení a datovým int členem dialogového okna, zobrazení formuláře nebo objektem zobrazení ovládacího prvku.

void AFXAPI DDX_CBIndex(
    CDataExchange* pDX,
    int nIDC,
    int& index);

Parametry

pDX
Ukazatel na CDataExchange objekt. Architektura poskytuje tento objekt k vytvoření kontextu výměny dat, včetně jeho směru.

nIDC
ID prostředku ovládacího prvku pole se seznamem přidruženého k vlastnosti ovládacího prvku.

index
Odkaz na členovou proměnnou dialogového okna, zobrazení formuláře nebo řídicího objektu zobrazení, se kterými se data vyměňují.

Poznámky

Při DDX_CBIndex zavolání index se nastaví index aktuálního výběru pole se seznamem. Pokud není vybrána žádná položka, index je nastavená na hodnotu 0.

Další informace o DDX naleznete v tématu Výměna a ověření dat dialogového okna.

Požadavky

Záhlaví afxdd_.h

DDX_CBString

Funkce DDX_CBString spravuje přenos CString dat mezi ovládacím prvku pro úpravy ovládacího prvku pole se seznamem v dialogovém okně, zobrazení formuláře nebo ovládacím objektem zobrazení a CString datovým členem dialogového okna, zobrazení formuláře nebo objektu zobrazení ovládacího prvku.

void AFXAPI DDX_CBString(
    CDataExchange* pDX,
    int nIDC,
    CString& value);

Parametry

pDX
Ukazatel na CDataExchange objekt. Architektura poskytuje tento objekt k vytvoření kontextu výměny dat, včetně jeho směru.

nIDC
ID prostředku ovládacího prvku pole se seznamem přidruženého k vlastnosti ovládacího prvku.

value
Odkaz na členovou proměnnou dialogového okna, zobrazení formuláře nebo řídicího objektu zobrazení, se kterými se data vyměňují.

Poznámky

Při DDX_CBString zavolání value je nastavena na aktuální výběr pole se seznamem. Pokud není vybrána žádná položka, value je nastavena na řetězec nulové délky.

Poznámka:

Pokud je pole se seznamem rozevírací seznam, hodnota vyměněná je omezena na 255 znaků.

Další informace o DDX naleznete v tématu Výměna a ověření dat dialogového okna.

Požadavky

Záhlaví afxdd_.h

DDX_CBStringExact

Funkce DDX_CBStringExact spravuje přenos CString dat mezi ovládacím prvku pro úpravy ovládacího prvku pole se seznamem v dialogovém okně, zobrazení formuláře nebo ovládacím objektem zobrazení a CString datovým členem dialogového okna, zobrazení formuláře nebo objektu zobrazení ovládacího prvku.

void AFXAPI DDX_CBStringExact(
    CDataExchange* pDX,
    int nIDC,
    CString& value);

Parametry

pDX
Ukazatel na CDataExchange objekt. Architektura poskytuje tento objekt k vytvoření kontextu výměny dat, včetně jeho směru.

nIDC
ID prostředku ovládacího prvku pole se seznamem přidruženého k vlastnosti ovládacího prvku.

value
Odkaz na členovou proměnnou dialogového okna, zobrazení formuláře nebo řídicího objektu zobrazení, se kterými se data vyměňují.

Poznámky

Při DDX_CBStringExact zavolání value je nastavena na aktuální výběr pole se seznamem. Pokud není vybrána žádná položka, value je nastavena na řetězec nulové délky.

Poznámka:

Pokud je pole se seznamem rozevírací seznam, hodnota vyměněná je omezena na 255 znaků.

Další informace o DDX naleznete v tématu Výměna a ověření dat dialogového okna.

Požadavky

Záhlaví afxdd_.h

DDX_Check

Funkce DDX_Check spravuje přenos int dat mezi ovládacím prvku zaškrtávacího políčka v dialogovém okně, zobrazení formuláře nebo ovládacím objektem zobrazení a datovým int členem dialogového okna, zobrazením formuláře nebo objektem zobrazení ovládacího prvku.

void AFXAPI DDX_Check(
    CDataExchange* pDX,
    int nIDC,
    int& value);

Parametry

pDX
Ukazatel na CDataExchange objekt. Architektura poskytuje tento objekt k vytvoření kontextu výměny dat, včetně jeho směru.

nIDC
ID prostředku ovládacího prvku zaškrtávacího políčka přidruženého k vlastnosti ovládacího prvku.

value
Odkaz na členovou proměnnou dialogového okna, zobrazení formuláře nebo řídicího objektu zobrazení, se kterými se data vyměňují.

Poznámky

Při DDX_Check zavolání value je nastaven na aktuální stav ovládacího prvku zaškrtávacího políčka. Seznam možných hodnot stavu najdete BM_GETCHECK v sadě Windows SDK.

Další informace o DDX naleznete v tématu Výměna a ověření dat dialogového okna.

Požadavky

Záhlaví afxdd_.h

DDX_Control

Funkce DDX_Control podtřídy ovládacího prvku určeného nIDCv dialogovém okně, formulářovém zobrazení nebo objektu zobrazení ovládacího prvku.

void AFXAPI DDX_Control(
    CDataExchange* pDX,
    int nIDC,
    CWnd& rControl);

Parametry

pDX
Ukazatel na CDataExchange objekt.

nIDC
ID prostředku ovládacího prvku, který má být podtříděn.

rControl
Odkaz na členovou proměnnou dialogového okna, zobrazení formuláře nebo ovládacího prvku zobrazení objektu souvisejícího se zadaným ovládacím prvku.

Poznámky

Objekt pDX je zadán rozhraním při zavolání DoDataExchange funkce. DDX_Control Proto by měl být volána pouze v rámci přepsání DoDataExchange.

Další informace o DDX naleznete v tématu Výměna a ověření dat dialogového okna.

Požadavky

Záhlaví afxdd_.h

DDX_DateTimeCtrl

Funkce DDX_DateTimeCtrl spravuje přenos dat data a času mezi ovládacím prvku pro výběr data a času ( CDateTimeCtrl) v dialogovém okně nebo objektu zobrazení formuláře a datového CTime COleDateTime člena dialogového okna nebo objektu zobrazení formuláře.

void AFXAPI DDX_DateTimeCtrl(
    CDataExchange* pDX,
    int nIDC,
    CTime& value);

void AFXAPI DDX_DateTimeCtrl(
    CDataExchange* pDX,
    int nIDC,
    COleDateTime& value);

void AFXAPI DDX_DateTimeCtrl(
    CDataExchange* pDX,
    int nIDC,
    CString& value);

Parametry

pDX
Ukazatel na CDataExchange objekt. Architektura poskytuje tento objekt k vytvoření kontextu výměny dat, včetně jeho směru. Tento objekt nemusíte odstraňovat.

nIDC
ID prostředku ovládacího prvku pro výběr data a času přidruženého k členské proměnné.

value
V prvních dvou verzích je odkaz na proměnnou nebo COleDateTime členovou CTime proměnnou, dialogové okno, zobrazení formuláře nebo objekt zobrazení ovládacího prvku, se kterým se data vyměňují. Ve třetí verzi je odkaz na objekt zobrazení ovládacího prvku datového člena CString .

Poznámky

Při DDX_DateTimeCtrl zavolání value je nastaven na aktuální stav ovládacího prvku pro výběr data a času, nebo je ovládací prvek nastaven na value, v závislosti na směru výměny.

Ve třetí verzi výše DDX_DateTimeCtrl spravuje přenos CString dat mezi ovládacím prvku data a datovým CString členem objektu zobrazení ovládacího prvku. Řetězec je formátován pomocí pravidel aktuálního národního prostředí pro formátování kalendářních dat a časů.

Další informace o DDX naleznete v tématu Výměna a ověření dat dialogového okna.

Požadavky

Záhlaví afxdd_.h

DDX_ManagedControl

Vytvoří ovládací prvek .NET odpovídající ID prostředku ovládacího prvku.

Syntaxe

template <typename T>
void DDX_ManagedControl(
   CDataExchange* pDX,
   int nIDC,
   CWinFormsControl<T>& control );

Parametry

pDX
Ukazatel na CDataExchange objekt Třídy . Architektura poskytuje tento objekt k vytvoření kontextu výměny dat, včetně jeho směru.

nIDC
ID prostředku ovládacího prvku přidruženého k vlastnosti ovládacího prvku.

control
Odkaz na CWinFormsControl objekt třídy .

Poznámky

DDX_ManagedControl volání CWinFormsControl::CreateManagedControl pro vytvoření ovládacího prvku odpovídajícího ID ovládacího prvku prostředku. Slouží DDX_ManagedControl k vytváření ovládacích prvků z ID prostředků v CDialog::OnInitDialog. Pro výměnu dat nemusíte používat funkce DDX/DDV s ovládacími prvky model Windows Forms.

Další informace najdete v tématu Postupy: Vytvoření datové vazby DDX/DDV s model Windows Forms.

Požadavky

Záhlaví: afxwinforms.h

DDX_IPAddress

Funkce DDX_IPAddress spravuje přenos dat mezi ovládacím prvku IP adresa a datovým členem objektu zobrazení ovládacího prvku.

void AFXAPI DDX_IPAddress(
    CDataExchange* pDX,
    int nIDC,
    DWORD& value);

Parametry

pDX
Ukazatel na CDataExchange objekt. Architektura poskytuje tento objekt k vytvoření kontextu výměny dat, včetně jeho směru.

nIDC
ID prostředku ovládacího prvku IP adresa přidruženého k vlastnosti ovládacího prvku.

value
Odkaz na DWORD obsahující hodnotu čtyř polí ovládacího prvku IP adresy. Pole jsou vyplněná nebo přečtena následujícím způsobem.

Pole Bity obsahující hodnotu pole
3 0 až 7
2 8 až 15
0 16 až 23
0 24 až 31

Ke čtení hodnoty použijte Win32 IPM_GETADDRESS nebo použijte IPM_SETADDRESS k vyplnění hodnoty. Tyto zprávy jsou popsány v sadě Windows SDK.

Poznámky

Při DDX_IPAddress zavolání value se buď čte z ovládacího prvku IP adresa, nebo value je zapsán do ovládacího prvku v závislosti na směru výměny.

Další informace o DDX naleznete v tématu Výměna a ověření dat dialogového okna.

Požadavky

Záhlaví afxdd_.h

DDX_LBIndex

Funkce DDX_LBIndex spravuje přenos int dat mezi ovládacím prvku seznam v dialogovém okně, zobrazení formuláře nebo ovládacím objektem zobrazení a datovým int členem dialogového okna, zobrazením formuláře nebo objektem zobrazení ovládacího prvku.

void AFXAPI DDX_LBIndex(
    CDataExchange* pDX,
    int nIDC,
    int& index);

Parametry

pDX
Ukazatel na CDataExchange objekt. Architektura poskytuje tento objekt k vytvoření kontextu výměny dat, včetně jeho směru.

nIDC
ID prostředku ovládacího prvku seznamu přidruženého k vlastnosti ovládacího prvku.

index
Odkaz na členovou proměnnou dialogového okna, zobrazení formuláře nebo řídicího objektu zobrazení, se kterými se data vyměňují.

Poznámky

Při DDX_LBIndex zavolání index je nastaven na index aktuálního výběru seznamu. Pokud není vybrána žádná položka, index je nastavena na -1.

Další informace o DDX naleznete v tématu Výměna a ověření dat dialogového okna.

Požadavky

Záhlaví afxdd_.h

DDX_LBString

Funkce DDX_LBString spravuje přenos CString dat mezi ovládacím prvku seznam v dialogovém okně, zobrazení formuláře nebo ovládacím objektem zobrazení a datovým CString členem dialogového okna, zobrazením formuláře nebo objektem zobrazení ovládacího prvku.

void AFXAPI DDX_LBString(
    CDataExchange* pDX,
    int nIDC,
    CString& value);

Parametry

pDX
Ukazatel na CDataExchange objekt. Architektura poskytuje tento objekt k vytvoření kontextu výměny dat, včetně jeho směru.

nIDC
ID prostředku ovládacího prvku seznamu přidruženého k vlastnosti ovládacího prvku.

value
Odkaz na členovou proměnnou dialogového okna, zobrazení formuláře nebo řídicího objektu zobrazení, se kterými se data vyměňují.

Poznámky

Při DDX_LBString zavolání pro přenos dat do ovládacího prvku seznamu je první položka ovládacího prvku, jehož začátek odpovídá value je vybrán. (Chcete-li místo předpony odpovídat celé položce, použijte DDX_LBStringExact.) Pokud žádné shody nejsou, nejsou vybrány žádné položky. Porovnávání nerozlišuje malá a velká písmena.

Při DDX_LBString zavolání pro přenos dat z ovládacího prvku seznamu je value nastavena na aktuální výběr seznamu. Pokud není vybrána žádná položka, value je nastavena na řetězec nulové délky.

Poznámka:

Pokud je seznam rozevírací seznam, hodnota vyměněná je omezena na 255 znaků.

Další informace o DDX naleznete v tématu Výměna a ověření dat dialogového okna.

Požadavky

Záhlaví afxdd_.h

DDX_LBStringExact

Funkce DDX_CBStringExact spravuje přenos CString dat mezi ovládacím prvku pro úpravy ovládacího prvku seznam v dialogovém okně, formulářovém zobrazení nebo objektem zobrazení ovládacího prvku a datovým CString členem dialogového okna, zobrazení formuláře nebo objektem zobrazení ovládacího prvku.

void AFXAPI DDX_LBStringExact(
    CDataExchange* pDX,
    int nIDC,
    CString& value);

Parametry

pDX
Ukazatel na CDataExchange objekt. Architektura poskytuje tento objekt k vytvoření kontextu výměny dat, včetně jeho směru.

nIDC
ID prostředku ovládacího prvku seznamu přidruženého k vlastnosti ovládacího prvku.

value
Odkaz na členovou proměnnou dialogového okna, zobrazení formuláře nebo řídicího objektu zobrazení, se kterými se data vyměňují.

Poznámky

Při DDX_LBStringExact zavolání pro přenos dat do ovládacího prvku seznamu je vybrána první položka ovládacího prvku, který odpovídá value . (Chcete-li se shodovat pouze s předponou místo celé položky, použijte DDX_LBString.) Pokud žádné shody nejsou, nejsou vybrány žádné položky. Porovnávání nerozlišuje malá a velká písmena.

Při DDX_CBStringExact zavolání pro přenos dat z ovládacího prvku seznamu je value nastavena na aktuální výběr seznamu. Pokud není vybrána žádná položka, value je nastavena na řetězec nulové délky.

Poznámka:

Pokud je seznam rozevírací seznam, hodnota vyměněná je omezena na 255 znaků.

Další informace o DDX naleznete v tématu Výměna a ověření dat dialogového okna.

Požadavky

Záhlaví afxdd_.h

DDX_MonthCalCtrl

Funkce DDX_MonthCalCtrl spravuje přenos dat data mezi ovládacím prvku kalendáře měsíce ( CMonthCalCtrl) v dialogovém okně, formulářovém zobrazení nebo ovládacím objektem zobrazení a datovým CTime COleDateTime členem dialogového okna, zobrazení formuláře nebo objektu zobrazení ovládacího prvku.

void AFXAPI DDX_MonthCalCtrl(
    CDataExchange* pDX,
    int nIDC,
    CTime& value);

void AFXAPI DDX_MonthCalCtrl(
    CDataExchange* pDX,
    int nIDC,
    COleDateTime& value);

Parametry

pDX
Ukazatel na CDataExchange objekt. Architektura poskytuje tento objekt k vytvoření kontextu výměny dat, včetně jeho směru. Tento objekt nemusíte odstraňovat.

nIDC
ID zdroje ovládacího prvku měsíčního kalendáře přidruženého k členské proměnné.

value
Odkaz na proměnnou CTime nebo COleDateTime člena dialogového okna, zobrazení formuláře nebo objektu ovládacího prvku zobrazení, se kterými se data vyměňují.

Poznámky

Poznámka:

Ovládací prvek spravuje pouze hodnotu data. Časová pole v objektu času jsou nastavena tak, aby odrážela čas vytvoření ovládacího okna nebo jakýkoli čas byl nastaven v ovládacím prvku s voláním CMonthCalCtrl::SetCurSel.

Při DDX_MonthCalCtrl zavolání value se nastaví aktuální stav ovládacího prvku kalendáře měsíce.

Další informace o DDX naleznete v tématu Výměna a ověření dat dialogového okna.

Požadavky

Záhlaví afxdd_.h

DDX_Radio

Funkce DDX_Radio spravuje přenos dat mezi rádiovou skupinou ovládacích int prvků v dialogovém okně, zobrazení formuláře nebo ovládacím objektem zobrazení a int datovým členem dialogového okna, zobrazení formuláře nebo objektem zobrazení ovládacího prvku. Hodnota datového členu int je určena podle toho, které přepínač ve skupině je vybrán.

void AFXAPI DDX_Radio(
    CDataExchange* pDX,
    int nIDC,
    int& value);

Parametry

pDX
Ukazatel na CDataExchange objekt. Architektura poskytuje tento objekt k vytvoření kontextu výměny dat, včetně jeho směru.

nIDC
ID prostředku prvního radioovládacího prvku ve skupině.

value
Odkaz na členovou proměnnou dialogového okna, zobrazení formuláře nebo řídicího objektu zobrazení, se kterými se data vyměňují.

Poznámky

Je-li DDX_Radio volána, value je nastavena na aktuální stav radio řídicí skupiny. Hodnota je nastavena jako 0-based index radio ovládacího prvku, který je aktuálně zaškrtnuto, nebo -1, pokud nejsou zaškrtnuty žádné ovládací prvky rádia.

Pokud je například zaškrtnuto první přepínač ve skupině (tlačítko se stylem WS_GROUP), hodnota člena int je 0 atd.

Další informace o DDX naleznete v tématu Výměna a ověření dat dialogového okna.

Požadavky

Záhlaví afxdd_.h

DDX_Scroll

Funkce DDX_Scroll spravuje přenos int dat mezi ovládacím prvku posuvníku v dialogovém okně, zobrazení formuláře nebo objektu zobrazení ovládacího prvku a datovým int členem dialogového okna, zobrazení formuláře nebo objektem zobrazení ovládacího prvku.

void AFXAPI DDX_Scroll(
    CDataExchange* pDX,
    int nIDC,
    int& value);

Parametry

pDX
Ukazatel na CDataExchange objekt. Architektura poskytuje tento objekt k vytvoření kontextu výměny dat, včetně jeho směru.

nIDC
ID prostředku ovládacího prvku posuvníku přidruženého k vlastnosti ovládacího prvku.

value
Odkaz na členovou proměnnou dialogového okna, zobrazení formuláře nebo ovládacího objektu zobrazení, se kterými se data vyměňují.

Poznámky

Při DDX_Scroll zavolání value je nastavena na aktuální pozici palce ovládacího prvku. Další informace o hodnotách přidružených k aktuální pozici palce ovládacího prvku najdete GetScrollPos v sadě Windows SDK.

Další informace o DDX naleznete v tématu Výměna a ověření dat dialogového okna.

Požadavky

Záhlaví afxdd_.h

DDX_Slider

Funkce DDX_Slider spravuje přenos int dat mezi posuvníkem v dialogovém okně nebo formulářovém zobrazení a datovým int členem dialogového okna nebo objektem zobrazení formuláře.

void AFXAPI DDX_Slider(
    CDataExchange* pDX,
    int nIDC,
    int& value);

Parametry

pDX
Ukazatel na CDataExchange objekt. Architektura poskytuje tento objekt k vytvoření kontextu výměny dat, včetně jeho směru.

nIDC
ID prostředku ovládacího prvku posuvník.

value
Odkaz na hodnotu, kterou chcete vyměnit. Tento parametr uchovává nebo nastavuje aktuální pozici ovládacího prvku posuvníku.

Poznámky

Při DDX_Slider zavolání value je nastavena na aktuální pozici ovládacího prvku palce nebo hodnota obdrží pozici v závislosti na směru výměny.

Další informace o DDX naleznete v tématu Výměna a ověření dat dialogového okna. Informace o ovládacích prvcích posuvníku naleznete v tématu Použití CSliderCtrl.

Požadavky

Záhlaví afxdd_.h

DDX_Text

Funkce DDX_Text spravuje přenos dat int, , , CStringUINTlongDWORD, floatnebo double dat mezi ovládacím prvku v dialogovém okně, zobrazení formuláře nebo ovládací prvek zobrazení a CString datový člen dialogového okna, zobrazení formuláře nebo ovládací prvek zobrazení objektu.

void AFXAPI DDX_Text(
    CDataExchange* pDX,
    int nIDC,
    BYTE& value);

void AFXAPI DDX_Text(
    CDataExchange* pDX,
    int nIDC,
    short& value);

void AFXAPI DDX_Text(
    CDataExchange* pDX,
    int nIDC,
    int& value);

void AFXAPI DDX_Text(
    CDataExchange* pDX,
    int nIDC,
    UINT& value);

void AFXAPI DDX_Text(
    CDataExchange* pDX,
    int nIDC,
    long& value);

void AFXAPI DDX_Text(
    CDataExchange* pDX,
    int nIDC,
    DWORD& value);

void AFXAPI DDX_Text(
    CDataExchange* pDX,
    int nIDC,
    CString& value);

void AFXAPI DDX_Text(
    CDataExchange* pDX,
    int nIDC,
    float& value);

void AFXAPI DDX_Text(
    CDataExchange* pDX,
    int nIDC,
    double& value);

void AFXAPI DDX_Text(
    CDataExchange* pDX,
    int nIDC,
    COleCurrency& value);

void AFXAPI DDX_Text(
    CDataExchange* pDX,
    int nIDC,
    COleDateTime& value);

Parametry

pDX
Ukazatel na CDataExchange objekt. Architektura poskytuje tento objekt k vytvoření kontextu výměny dat, včetně jeho směru.

nIDC
ID ovládacího prvku pro úpravy v dialogovém okně, formulářovém zobrazení nebo objektu zobrazení ovládacího prvku.

value
Odkaz na datový člen v dialogovém okně, formulářovém zobrazení nebo ovládacím objektu zobrazení. Datový typ value závisí na tom, které z přetížených verzí, které DDX_Text používáte.

Poznámky

Další informace o DDX naleznete v tématu Výměna a ověření dat dialogového okna.

Požadavky

Záhlaví afxdd_.h

Viz také

Rutiny ověřování dat standardního dialogového okna
Makra a globální objekty
CWinFormsControl::CreateManagedControl
CDialog::OnInitDialog