DialogBoxIndirectParam

De DialogBoxIndirectParam functie maakt een 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.

int () DialogBoxIndirectParam HINSTANCE  hInstance, / / ingang naar toepassingsexemplaarLPCDLGTEMPLATEhDialogTemplate,  / / identificeert dialoogvenster vak sjabloonHWNDhWndParent, / / verwerken naar eigenaar vensterDLGPROClpDialogFunc, / / aanwijzer aan dialog box procedureLPARAMdwInitParam / / initialisatie waarde);
 

Parameters

hInstance
Geeft het exemplaar van de module waarmee het dialoogvenster.
hDialogTemplate
Aanwijzer naar een globale geheugen-object met een sjabloon die DialogBoxIndirectParam 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.

De header is in een standaard template voor een dialoogvenster, 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 sjabloon naar een dialoogvenster, de kop de indeling DLGTEMPLATEEX gebruikt en de definities van de controle de notatie DLGITEMTEMPLATEEX gebruiken.

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.
dwInitParam
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 nResult parameter in de aanroep naar de functie van de EndDialog die werd gebruikt om te eindigen in het dialoogvenster opgegeven.

Als de functie mislukt, is de geretourneerde waarde –1. Te krijgen uitgebreide foutinformatie, Bel GetLastError.

Opmerkingen

De functie DialogBoxIndirectParam wordt de functie CreateWindowEx gebruikt om het dialoogvenster te maken. DialogBoxIndirectParam 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 weergegeven in het dialoogvenster (ongeacht of de sjabloon de WS_VISIBLE stijl geeft), schakelt de eigenaar venster, en begint zijn eigen lus bericht ophalen en verzenden van berichten van het dialoogvenster.

Wanneer het dialoogvenster vak procedure de functie EndDialog roept , DialogBoxIndirectParam vernietigt het dialoogvenster, eindigt de lus bericht, kunt het venster van de eigenaar (indien ingeschakeld) en retourneert de nResult parameter opgegeven door het dialoogvenster vak procedure toen het genoemd EndDialog.

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: 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.

Zie voor andere dialoogvenster beperkingen, CreateDialogIndirectParam.

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, CreateWindowEx, DialogBox, DialogBoxIndirect, DialogBoxParam, DialogProc, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATE, DLGTEMPLATEEX, EndDialog, MultiByteToWideChar, WM_INITDIALOG, WM_SETFONT

Index