CreateDialogIndirect

CreateDialogIndirect makroen oppretter en ikke-sperrende dialogboks fra en dialog boks mal i minnet. CreateDialogIndirect makroen bruker funksjonen CreateDialogIndirectParam.

() HWND CreateDialogIndirect HINSTANCE  hInstance, / / håndtere til programforekomstenLPCDLGTEMPLATElpTemplate, / / peker til dialogboksen boksen malHWNDhWndParent, / / håndtere til eiervinduetDLGPROClpDialogFunc / / peker til dialogboksen boksen prosedyre);
 

Parametere

hInstance
Identifiserer forekomsten av modulen som oppretter dialogboksen.
lpTemplate
Pekeren til en global minne-objekt som inneholder en mal som CreateDialogIndirect bruker til å opprette dialogboksen. En dialog boks mal består av et hode som beskriver dialogboksen, etterfulgt av én eller flere flere blokker med data som beskriver hver av kontrollene i dialogboksen. Malen kan bruke standard format eller formatet utvidet.

I en standard mal er hodet en DLGTEMPLATE struktur etterfulgt av ekstra variabel lengde-matriser. Dataene for hver kontroll består av en DLGITEMTEMPLATE struktur etterfulgt av ekstra variabel lengde-matriser.

I en utvidet dialogboksen boksen mal, hodet bruker DLGTEMPLATEEX formatet og kontroll-definisjoner bruker DLGITEMTEMPLATEEX formatet.

Etter at CreateDialogIndirect returnerer, kan du frigjøre malen, som brukes bare til å få dialogboksen startet.

hWndParent
Identifiserer vinduet som eier dialogboksen.
lpDialogFunc
Pekeren til dialogboksen boksen prosedyre. Hvis du vil ha mer informasjon om dialogboksen boksen fremgangsmåten, kan du se DialogProc.

Returverdier

Hvis funksjonen er vellykket, er returverdien vindusreferansen til dialogboksen.

Hvis funksjonen mislykkes, er verdien som returneres NULL. Til å vise utvidet feilinformasjon, kan du ringe GetLastError.

Merknader

CreateDialogIndirect makroen bruker CreateWindowEx -funksjonen til å opprette dialogboksen. CreateDialogIndirect sender en melding i WM_INITDIALOG i dialogboksen boksen prosedyren. Hvis malen angir stilen DS_SETFONT, sender funksjonen også en WM_SETFONT -melding i dialogboksen boksen prosedyren. Funksjonen viser dialogboksen vises hvis malen angir stilen WS_VISIBLE. Til slutt, CreateDialogIndirect returnerer vindusreferansen til dialogboksen.

Når CreateDialogIndirect returnerer, kan du bruke funksjonen ShowWindow for å vise dialogboksen (Hvis det ikke allerede er synlig). For å ødelegge dialogboksen, kan du bruke funksjonen DestroyWindow.

I en mal for standard-dialog boks må strukturen DLGTEMPLATE , og hver av DLGITEMTEMPLATE -strukturer justeres på DWORD grenser. Etableringen data matrisen som følger en DLGITEMTEMPLATE struktur må også justeres på en DWORD -grense. Alle de andre variabel lengde matrisene i malen må må justeres på WORD -grenser.

I en utvidet dialogboksen boksen mal, må DLGTEMPLATEEX hodet, og hver av definisjoner for DLGITEMTEMPLATEEX -kontrollen justeres på DWORD grenser. Etableringen data matrisen, hvis noen, som følger en DLGITEMTEMPLATEEX struktur må også justeres på en DWORD -grense. Alle de andre variabel lengde matrisene i malen må justeres på WORD -grenser.

Alle tegnstrengene i dialogboksen boksen-mal, for eksempel titler for dialogboksen og knapper, må være Unicode-strenger. For å opprette kode som fungerer på både Windows og Windows NT, kan du bruke MultiByteToWideChar -funksjonen til å generere disse Unicode-strenger.

Windows 95 og senere:Systemet kan støtte opptil 255 kontroller per boks-mal i dialogboksen. Du kan plassere mer enn 255 kontroller i en dialogboks, kan du opprette kontrollene i Meldingsbehandling for WM_INITDIALOG i stedet for å plassere dem i malen.

Windows CE: Ikke alle stiler støttes i DLGTEMPLATE -strukturen i dialogboksen malen referert til av parameteren lpTemplate .

Hurtiginformasjon

nbsp; Windows &NT: krever versjon 3.1 eller senere.
Windows:Krever Windows 95 eller senere.
Windows CE:Krever versjon 1.0 eller senere.
Topptekst:Deklarert i winuser.h.
Importere biblioteket:Bruk user32.lib.
Unicode:Implementert som Unicode- og ANSI-versjoner på Windows NT.

Se også

Oversikt over dialogboksen-boksene, dialogboksen boksen-funksjoner, CreateDialog, CreateDialogIndirectParam, CreateDialogParam, CreateWindowEx, DestroyWindow, DialogProc, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATE, DLGTEMPLATEEX, MultiByteToWideChar, ShowWindow, WM_INITDIALOG, WM_SETFONT

Index