DLGTEMPLATE

DLGTEMPLATE -struktur definerer dimensjoner og stil av en dialogboks. Denne strukturen, alltid først i en standardmal for en dialogboks, også angir antall kontroller i dialogboksen, og derfor angir antall etterfølgende DLGITEMTEMPLATE strukturer i malen.

typeDef struct {/ / dltt DWORD stil; 
    DWORD dwExtendedStyle; 
    WORD cdit; 
    kort x; 
    kort y; 
    kort cx; 
    kort cy; 
} DLGTEMPLATE 

 

Medlemmer

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, forutsetter systemet at de er klient-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 boksen 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. WS_EX_CONTEXTHELP kan ikke brukes 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 hodet av malen i boksen i dialogboksen inneholder tilleggsdata, for å angi skriften du vil bruke for teksten i klientområdet og kontroller i dialogboksen. Skrift-data begynner på grenselinje for ord som kommer etter tittel matrisen. Det angir en størrelsesverdi for 16-biters punkt og navnestrengen en Unicode-skrift. Hvis det er mulig, oppretter programmet en skrift i henhold til de angitte verdiene. 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 i boksen i dialogboksen Skrift-data.

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.

dwExtendedStyle
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.
cdit
Angir hvor mange elementer 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.

Merknader

I standard mal for en dialogboks, er DLGTEMPLATE -strukturen alltid umiddelbart etterfulgt av tre variabel lengde-matriser angir menyen, klassen og tittel for dialogboksen. Når stilen DS_SETFONT er gitt, er også disse kjedene, etterfulgt av en 16-biters-verdi som angir punktstørrelsen og en annen variabel lengde-matrisen angir et skriftsnitt-navn. Hver matrise, består av ett eller flere 16-biters-elementer. Menyen, klasse, tittel og skrift-matriser, må justeres på WORD -grenser.

Umiddelbart etter DLGTEMPLATE -strukturen er en menyen matrise 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.

Etter menyen matrisen er en klasse matrise som identifiserer vindusklasse for kontrollen. 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.

Etter klasse-matrise er en matrise med tittel som angir en null-avbrutt Unicode-streng som inneholder tittelen på dialogboksen. Hvis det første elementet i denne datatabellen er 0x0000, dialogboksen har ingen tittel og matrisen har ingen andre elementer.

Størrelse 16-biters punktverdien og skriftsnitt-matrisen må du følge tittel matrisen, men bare hvis medlemmet stil angir stilen DS_SETFONT. Punktverdien størrelse Angir punktstørrelsen på skriften du vil bruke for teksten i dialogboksen og kontrollene. Skriftsnitt matrisen er en null-avbrutt Unicode-streng som angir navnet på skriftsnittet for skriften. Når disse verdiene er angitt, systemet oppretter en skrift som har gitt størrelse og skriftsnitt (hvis mulig), og sender en WM_SETFONT melding til dialogboksen boksen prosedyre- og kontrollprosedyrer for vinduet som opprettes i dialogboksen og kontroller.

Etter DLGTEMPLATE -hodet i en mal for standard-dialog-boksen er én eller flere DLGITEMTEMPLATE -strukturer som definerer dimensjoner og stil av kontrollene i dialogboksen. Cdit -medlem angir antall DLGITEMTEMPLATE strukturer i malen. Disse DLGITEMTEMPLATE strukturer må justeres på DWORD -grenser.

Hvis du angir tegnstrenger i menyen, klasse, tittel eller skriftsnitt 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.1 eller senere.
Windows:Krever Windows 95 eller senere.
Windows CE:Krever versjon 1.0 eller senere.
Topptekst:Deklarert i winuser.h.

Se også

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

Index