CreateDialogIndirectParam

De CreateDialogIndirectParam functie maakt een niet-modaal dialoogvenster van een dialoogvenster vak sjabloon in het geheugen. Voordat het dialoogvenster wordt weergegeven, geeft de functie een toepassing gedefinieerde waarde aan het dialoogvenster vak procedure als de parameter lParam van het WM_INITDIALOG bericht. Een toepassing kan deze waarde gebruiken om te initialiseren besturingselementen in dialoogvensters.

HWND CreateDialogIndirectParam) HINSTANCE  hInstance, / / ingang naar toepassingsexemplaarLPCDLGTEMPLATElpTemplate, / / aanwijzer aan dialog box sjabloonHWNDhWndParent, / / verwerken naar eigenaar vensterDLGPROClpDialogFunc, / / aanwijzer aan dialog box procedureLPARAMlParamInit / / initialisatie waarde);
 

Parameters

hInstance
Geeft het exemplaar van de module die in het dialoogvenster maken zal.
lpTemplate
Aanwijzer naar een globale geheugen-object met een sjabloon die CreateDialogIndirectParam 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 CreateDialogIndirectParam 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.
lParamInit
Hiermee geeft u de waarde moet worden doorgegeven aan het dialoogvenster in de parameter lParam van het WM_INITDIALOG bericht.

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 functie CreateDialogIndirectParam wordt de functie CreateWindowEx gebruikt om het dialoogvenster te maken. CreateDialogIndirectParam 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, CreateDialogIndirectParam de vensteringang terugkeert naar het dialoogvenster.

Nadat CreateDialogIndirectParam 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: Positie van dialoogvensters buiten het zichtbare gebied van het scherm worden niet automatisch gewijzigd.

Als de gebruiker op ALT + H drukt terwijl het dialoogvenster de invoerfocus heeft, posten het systeem een WM_HELP-bericht naar het dialoogvenster procedure. Een toepassing moet reageren op dit bericht door het weergeven van contextafhankelijke help voor het dialoogvenster.

De volgende stijlen worden niet ondersteund voor het lid van de stijl van de DLGTEMPLATE structuur:

Standaardpositie, gebruikt de DS_CENTER stijl.

Als de stijl van de WS_CHILD niet is opgegeven, wordt uitgegaan van de WS_POPUP stijl.

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, CreateDialogIndirect, CreateDialogParam, CreateWindowEx, DestroyWindow, DialogProc, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATE, DLGTEMPLATEEX, MultiByteToWideChar, ShowWindow, WM_INITDIALOG, WM_SETFONT

Index