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
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. |
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.
nbsp; Windows &NT: krever versjon 3.51 eller senere.
Windows:Krever Windows 95 eller senere.
Windows CE:Som ikke støttes.
Oversikt over dialogboksen-boksene, dialogboksen boksen strukturer, CreateDialogIndirect, CreateDialogIndirectParam, DialogBoxIndirect, DialogBoxIndirectParam, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATE, MapDialogRect, MultiByteToWideChar, WM_SETFONT