CreateDialogIndirect

De CreateDialogIndirect macro maakt een niet-modaal dialoogvenster van een dialoogvenster vak sjabloon in het geheugen. De macro CreateDialogIndirect wordt de functie CreateDialogIndirectParam gebruikt.

HWND CreateDialogIndirect) HINSTANCE  hInstance, / / ingang naar toepassingsexemplaarLPCDLGTEMPLATElpTemplate, / / aanwijzer aan dialog box sjabloonHWNDhWndParent, / / verwerken naar eigenaar vensterDLGPROClpDialogFunc / / aanwijzer aan dialog box procedure);
 

Parameters

hInstance
Geeft het exemplaar van de module waarmee het dialoogvenster.
lpTemplate
Aanwijzer naar een globale geheugen-object met een sjabloon die CreateDialogIndirect gebruikt om het dialoogvenster te maken. Een dialoogvenster vak sjabloon bestaat uit een header die wordt beschreven van het dialoogvenster, gevolgd door een of meer extra blokken gegevens die elk van de besturingselementen in het dialoogvenster beschrijven. De sjabloon kunt gebruiken de standaard opmaak of de uitgebreide indeling.

In een standaard template is de koptekst een DLGTEMPLATE structuur gevolgd door extra arrays van variabele lengte. De gegevens voor elk besturingselement bestaat uit een structuur van DLGITEMTEMPLATE gevolgd door extra arrays van variabele lengte.

In een uitgebreide dialoogvenster vak sjabloon, de kop de indeling DLGTEMPLATEEX gebruikt en de definities van de controle de notatie DLGITEMTEMPLATEEX gebruiken.

Nadat CreateDialogIndirect als resultaat geeft, kunt u de sjabloon, die alleen wordt gebruikt om het dialoogvenster begon gratis.

hWndParent
Het venster dat eigenaar is van het dialoogvenster identificeert.
lpDialogFunc
Verwijzing naar het dialoogvenster vak procedure. Zie voor meer informatie over het dialoogvenster vak procedure, DialogProc.

Retourwaarden

Als de functie slaagt, is de geretourneerde waarde de vensteringang voor het dialoogvenster.

Als de functie mislukt, is de retourwaarde NULL. Te krijgen uitgebreide foutinformatie, Bel GetLastError.

Opmerkingen

De macro CreateDialogIndirect wordt de functie CreateWindowEx gebruikt om het dialoogvenster te maken. CreateDialogIndirect stuurt een WM_INITDIALOG -bericht naar het dialoogvenster vak procedure. Als de sjabloon de DS_SETFONT stijl geeft, verzendt de functie ook een WM_SETFONT -bericht naar het dialoogvenster vak procedure. De functie wordt het dialoogvenster weergegeven als de sjabloon de WS_VISIBLE stijl geeft. Tot slot, CreateDialogIndirect de vensteringang terugkeert naar het dialoogvenster.

Nadat CreateDialogIndirect als resultaat geeft, kunt u de functie ShowWindow worden weergegeven in het dialoogvenster (als deze nog niet zichtbaar). Te vernietigen in het dialoogvenster, gebruikt u de functie DestroyWindow.

In een standaard dialoogvenster vak sjabloon, moeten de DLGTEMPLATE structuur en elk van de DLGITEMTEMPLATE structuren worden uitgelijnd op DWORD grenzen. De creatie data array die een DLGITEMTEMPLATE structuur volgt moet ook worden uitgelijnd op een DWORD grens. Alle van de andere arrays van variabele lengte in de sjabloon moet moet worden uitgelijnd op woordgrenzen.

In een uitgebreide dialoogvenster vak sjabloon, moeten de header DLGTEMPLATEEX en elk van de DLGITEMTEMPLATEEX controle definities worden uitgelijnd op DWORD grenzen. De creatie data array, als een, die een DLGITEMTEMPLATEEX structuur volgt moet ook worden uitgelijnd op een DWORD grens. Alle van de andere arrays van variabele lengte in de sjabloon moet worden uitgelijnd op woordgrenzen.

Alle tekenreeksen in het dialoogvenster vak sjabloon, zoals titels voor de knoppen, en het dialoogvenster moeten worden Unicode-tekenreeksen. Gebruik de functie MultiByteToWideChar voor het genereren van deze Unicode-tekenreeksen om code die op zowel Windows als Windows NT werkt maken,.

Windows 95 en hoger:Het systeem kan maximaal 255 besturingselementen per dialoogvenster vak sjabloon ondersteunen. Meer dan 255 besturingselementen in het dialoogvenster plaatsen, maakt u de besturingselementen in de handler WM_INITDIALOG bericht eerder dan het plaatsen van hen in de sjabloon.

Windows CE: Niet alle opmaakprofielen worden ondersteund in de DLGTEMPLATE structuur in het dialoogvenster sjabloon waarnaar door de parameter lpTemplate .

Syntaxisinfo

nbsp;áWindows &NT: versie 3.1 of hoger vereist.
Windows:Windows 95 of hoger vereist.
Windows CE:Versie 1.0 of hoger vereist.
Header:Verklaard in winuser.h.
Bibliotheek importeren:User32.lib gebruiken.
Unicode:Ge´mplementeerd als Unicode en ANSI-versies van Windows NT.

Zie ook

Overzicht van dialoogvenster vakken, dialoogvenster vak functies, CreateDialog, CreateDialogIndirectParam, CreateDialogParam, CreateWindowEx, DestroyWindow, DialogProc, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATE, DLGTEMPLATEEX, MultiByteToWideChar, ShowWindow, WM_INITDIALOG, WM_SETFONT

Index