DLGTEMPLATEEX

DLGTEMPLATEEX -strukturen er ikke definert i en standard topptekst-fil. Struktur-definisjonen gis her for å forklare formatet på en utvidet mal for en dialogboks.

En utvidet dialogboksen boksen mal begynner med et DLGTEMPLATEEX -hode som beskriver dialogboksen og angir hvor mange kontroller i dialogboksen. For hver kontroll i en dialogboks har et utvidet dialogboksen boksen mal en datablokk som bruker DLGITEMTEMPLATEEX -formatet til å beskrive kontrollen.

 typeDef struct {WORD dlgVer; WORD signatur; DWORD ID for hjelp for; DWORD exStyle; DWORD-stil; WORD cDlgItems; kort x; kort y; kort cx; kort cy; sz_Or_Ord-menyen; / / navn eller ordinal av en ressurs på menyen sz_Or_Ord windowClass; / / navn eller ordinal av en vindusklasse WCHAR tittel [titleLen]; / / title streng i dialogboksen kort pointsize; / / bare hvis flagget DS_SETFONT er angitt kort vekt; / / bare hvis flagget DS_SETFONT er angitt kort bItalic; / / bare hvis flagget DS_SETFONT er angitt WCHAR skrift [fontLen]; / / Skrifttypenavn, hvis DS_SETFONT er satt } DLGTEMPLATEEX 

Medlemmer

dlgVer
Angir versjonsnummeret for malen for utvidet dialogboksen-boksen. Dette medlemmet må angi 1.
signatur
Angir om en mal er en mal for utvidet dialogboksen-boksen. Verdien av 0xFFFF angir en utvidet dialogboksen boksen mal. I dette tilfellet angir medlemmet dlgVer versjonsnummeret for malen. Hvis signaturen er en annen verdi enn 0xFFFF, er dette en standard mal som bruker DLGTEMPLATE og DLGITEMTEMPLATE -strukturer.
iD for hjelp for
Hvis du angir hjelp-kontekst-identifikatoren for boksen dialogvindauget. Når systemet sender en WM_HELP melding, passerer det denne verdien i dwContextId -medlem av den HELPINFO -struktur.
exStyle
Angir utvidede stiler for et vindu. Dette medlemmet er ikke brukes til å lage en dialogboks, men programmer som bruker dialogboksen boksen maler kan bruke den til å opprette andre typer windows.
stil
Angir stilen i dialogboksen. Dette medlemmet kan være en kombinasjon av vinduet stil verdier (for eksempel WS_CAPTION og WS_SYSMENU) og ett eller flere av følgende dialogboksen boksen stil verdier.
Verdi Betydning
DS_3DLOOK Gir dialogboksen en nonbold skrift og trekker tredimensjonale kantlinjer rundt kontrollen windows i dialogboksen.

DS_3DLOOK-stil kreves bare av Win32-baserte applikasjoner som er kompilert for system-versjoner tidligere enn Windows 95 eller Windows NT 4.0. Systemet brukes automatisk tredimensjonalt utseende på dialogbokser som er opprettet av programmer som er kompilert for gjeldende versjoner av system.

DS_ABSALIGN Angir at koordinatene i dialogboksen skjermkoordinater. Hvis denne stilen ikke er angitt, behandler systemet dem som klienten koordinater.
DS_CENTER Midtstiller dialogboksen klippeområdet; det vil si at området ikke skjules av skuffen.
DS_CENTERMOUSE Midtstiller musepekeren i dialogboksen.
DS_CONTEXTHELP Inneholder et spørsmålstegn i tittellinjen i dialogboksen. Når brukeren klikker du spørsmålstegnet, endres markøren til et spørsmålstegn, med en peker. Hvis brukeren deretter klikker en kontroll i dialogboksen, mottar kontrollen en WM_HELP-melding. Kontrollen skal sende meldingen til dialogboksen prosedyren, som bør kalle den WinHelp -funksjonen ved hjelp av kommandoen HELP_WM_HELP. Hjelp-program som viser et popup-vindu som vanligvis inneholder hjelp for kontrollen.

Merk at DS_CONTEXTHELP er bare en plassholder. Når dialogboksen opprettes, systemet ser etter DS_CONTEXTHELP og, hvis det er der, legger du til WS_EX_CONTEXTHELP i den utvidede stilen i dialogboksen. Du kan ikke bruke WS_EX_CONTEXTHELP-stil med stilene for WS_MAXIMIZEBOX eller WS_MINIMIZEBOX.

DS_CONTROL Oppretter en dialogboks som fungerer godt som et underordnet vindu av en ny dialogboks, mye som en side i et egenskapsark. Denne stilen lar brukeren kategorien blant vinduene kontroll av en dialogboks for barn, bruker sin hurtigtastene, og så videre.
DS_FIXEDSYS Åpner dialogboksen, bruke SYSTEM_FIXED_FONT i stedet for standard SYSTEM_FONT. SYSTEM_FIXED_FONT er en monospace font som er kompatibel med systemskrift i Windows-versjoner tidligere enn 3.0.
DS_LOCALEDIT Gjelder bare 16-biters programmer. Denne stilen dirigerer redigeringskontroller i dialogboksen for å tildele minne fra programmets datasegment. Ellers, redigere kontroller tildele lagring fra en global minneobjektet.
DS_MODALFRAME Oppretter en dialogboks med en sperrende dialogboksen ramme som kan kombineres med en tittellinje og en systemmeny ved å angi stilene for WS_CAPTION og WS_SYSMENU.
DS_NOFAILCREATE Windows 95: Selv om det oppstår feil, oppretter du dialogboksen — for eksempel hvis et underordnet vindu ikke kan opprettes eller hvis systemet ikke kan opprette en spesiell datasegment for en redigeringskontroll.
DS_NOIDLEMSG Skjuler WM_ENTERIDLE meldinger som systemet ville ellers sendt til eieren av dialogboksen mens dialogboksen vises.
DS_SETFONT Angir at overskriften DLGTEMPLATEEX av malen for utvidet dialogboksen-boksen inneholder fire ekstra medlemmer (pointsize, vekt, bItalicog Skrift) som beskriver skriften du vil bruke for teksten i klientområdet og kontroller i dialogboksen. Hvis det er mulig, oppretter programmet en skrift i henhold til verdiene som er angitt i disse medlemmene. Systemet sender deretter håndtaket på skriften i dialogboksen og til hver kontroll ved å sende dem WM_SETFONT meldingen.

Hvis denne stilen ikke er angitt, inkluderer ikke malen utvidet dialogboksen boksen pointsize, vekt, bItalicog Skrift -medlemmer.

DS_SETFOREGROUND Systemet å bruke SetForegroundWindow -funksjonen til å bringe dialogboksen til forgrunnen.
DS_SYSMODAL Denne stilen er foreldet og som er inkludert for kompatibilitet med tidligere versjoner av Windows. Hvis du angir denne stilen, oppretter systemet dialogboksen med WS_EX_TOPMOST-stil. Ikke kombinere denne stilen til stilen for DS_CONTROL.

cDlgItems
Angir hvor mange kontroller i dialogboksen.
x
Angir x-koordinaten, i dialogboksen boksen enheter, av det øverste venstre hjørnet i dialogboksen.
y
Angir y-koordinaten, i dialogboksen boksen enheter, på hjørnet øverst til venstre i dialogboksen.
cx
Angir bredden i dialogboksen boksen enheter, i dialogboksen.
cy
Angir høyden, i dialogboksen boksen enheter, i dialogboksen.
menyen
Angir en variabel lengde matrise med 16-biters elementer som identifiserer en menyen ressurs for dialogboksen. Hvis det første elementet i denne datatabellen er 0x0000, dialogboksen har ingen meny og matrisen har ingen andre elementer. Hvis det første elementet er 0xFFFF, har matrisen flere elementer som angir Ordenstallet til en ressurs på menyen i en kjørbar fil. Hvis det første elementet har en annen verdi, behandler systemet matrisen som en null-avbrutt Unicode-streng som angir navnet på en ressurs på menyen i en kjørbar fil.
windowClass
Angir en variabel lengde matrise med 16-biters elementer som identifiserer vindusklasse i dialogboksen. Hvis det første elementet i matrisen er 0x0000, systemet bruker forhåndsdefinerte dialogboksen boksen klassen for dialogboksen og matrisen har ingen andre elementer. Hvis det første elementet er 0xFFFF, har matrisen flere elementer som angir Ordenstallet til en forhåndsdefinert systemet vindusklasse. Hvis det første elementet har en annen verdi, behandler systemet matrisen som en null-avbrutt Unicode-streng som angir navnet på en registrert vindusklasse.
tittel
Angir en null-avbrutt Unicode-streng som inneholder tittelen i dialogboksen. Hvis det første elementet i denne datatabellen er 0x0000, dialogboksen har ingen tittel og matrisen har ingen andre elementer.
pointsize
Angir punktstørrelsen på skriften du vil bruke for teksten i dialogboksen og kontrollene. Pointsize, vekt, bItalicog Skrift -medlemmer finnes i en utvidet dialogboksen boksen mal bare hvis medlemmet stil angir stilen DS_SETFONT.
vekt
Angir vekten av skriften i området 0 til 1000. Dette kan være noen av verdiene som er oppført for lfWeight medlem av den LOGFONT struktur. Dette medlemmet finnes bare hvis medlemmet stil angir DS_SETFONT.
bItalic
Angir om skriften er kursiv. Hvis denne verdien er sann, er skriften kursiv. Dette medlemmet finnes bare hvis medlemmet stil angir DS_SETFONT.
skrift
Angir en null-avbrutt Unicode-streng som inneholder navnet på skriftsnittet for skriften. Dette medlemmet finnes bare hvis medlemmet stil angir DS_SETFONT.

Merknader

Du kan bruke en mal for utvidet dialogboksen-boksen i stedet for en standard-dialog boks mal i funksjonene CreateDialogIndirectParam og DialogBoxIndirectParam og CreateDialogIndirect og DialogBoxIndirect -makroer. En standard-dialog boks malen bruker DLGTEMPLATE og DLGITEMTEMPLATE -strukturer.

Etter DLGTEMPLATEEX -hodet i en utvidet dialogboksen boksen mal er én eller flere DLGITEMTEMPLATEEX -strukturer som beskriver kontrollene i dialogboksen. CDlgItems -medlem angir antall DLGITEMTEMPLATEEX strukturer i malen.

Hver DLGITEMTEMPLATEEX strukturen i malen må justeres på en DWORD -grense. Hvis medlemmet stil angir stilen DS_SETFONT, begynner første DLGITEMTEMPLATEEX strukturen på første DWORD grensen etter strengen Skrift . Hvis DS_SETFONT ikke er angitt, begynner den første bygningen over grenselinjen for første DWORD etter Tittel -streng.

Menyen, windowClass, Tittelog Skrift -matriser, må justeres på WORD -grenser.

Hvis du angir tegnstrenger i menyen, windowClass, Tittelog Skrift -matriser, må du bruke Unicode-strenger. For å opprette kode som fungerer på både Windows og Windows NT, kan du bruke MultiByteToWideChar -funksjonen til å generere disse Unicode-strenger.

X-, y-, cx- og cy medlemmene angi verdier i dialogboksen boksen enheter. Du kan konvertere disse verdiene til skjermen enheter (piksler) ved hjelp av MapDialogRect -funksjonen.

Hurtiginformasjon

nbsp; Windows &NT: krever versjon 3.51 eller senere.
Windows:Krever Windows 95 eller senere.
Windows CE:Som ikke støttes.

Se også

Oversikt over dialogboksen-boksene, dialogboksen boksen strukturer, CreateDialogIndirect, CreateDialogIndirectParam, DialogBoxIndirect, DialogBoxIndirectParam, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATE, MapDialogRect, MultiByteToWideChar, WM_SETFONT