Dela via


Dialogrutor (dialogrutor)

En dialogruta är ett tillfälligt fönster som ett program skapar för att hämta användarindata. Ett program använder vanligtvis dialogrutor för att be användaren om ytterligare information om menyalternativ. En dialogruta innehåller vanligtvis en eller flera kontroller (underordnade fönster) med vilka användaren anger text, väljer alternativ eller dirigerar åtgärden.

Windows innehåller också fördefinierade dialogrutor som stöder vanliga menyalternativ som Öppna och Skriv ut. Program som använder dessa menyalternativ bör använda de vanliga dialogrutorna för att fråga efter den här användarinmatningen, oavsett typ av program.

I det här avsnittet

Namn Beskrivning
Om dialogrutor Diskuterar hur du använder dialogrutor i användargränssnittet för dina program.
Programmeringsöverväganden för dialogruta I den här översikten beskrivs några programmeringsöverväganden om dialogrutor.
Använda dialogrutor Du använder dialogrutor för att visa information och fråga efter indata från användaren.
dialogrutereferens API-referensen
vanliga dialogrutebiblioteket Diskuterar hur du använder de vanliga dialogrutorna i användargränssnittet för dina program.

Dialogrutefunktioner

Namn Beskrivning
CreateDialog Skapar en lägeslös dialogruta från en mallresurs i dialogrutan.
CreateDialogIndirect Skapar en lägeslös dialogruta från en dialogrutemall i minnet.
CreateDialogIndirectParam Skapar en lägeslös dialogruta från en dialogrutemall i minnet. Innan du visar dialogrutan skickar funktionen ett programdefinierat värde till dialogruteproceduren som lParam parameter för WM_INITDIALOG meddelandet. Ett program kan använda det här värdet för att initiera dialogrutekontroller.
CreateDialogParam Skapar en lägeslös dialogruta från en mallresurs i dialogrutan. Innan du visar dialogrutan skickar funktionen ett programdefinierat värde till dialogruteproceduren som lParam parameter för WM_INITDIALOG meddelandet. Ett program kan använda det här värdet för att initiera dialogrutekontroller.
DefDlgProc Anropar standardruteproceduren för att tillhandahålla standardbearbetning för alla fönstermeddelanden som en dialogruta med en privat fönsterklass inte bearbetar.
dialogruta Skapar en modal dialogruta från en mallresurs i dialogrutan. DialogBox- returnerar inte kontrollen förrän den angivna återanropsfunktionen avslutar den modala dialogrutan genom att anropa funktionen EndDialog.
DialogBoxIndirect Skapar en modal dialogruta från en dialogrutemall i minnet. DialogBoxIndirect returnerar inte kontrollen förrän den angivna återanropsfunktionen avslutar dialogrutan genom att anropa funktionen EndDialog.
DialogBoxIndirectParam Skapar en modal dialogruta från en dialogrutemall i minnet. Innan du visar dialogrutan skickar funktionen ett programdefinierat värde till dialogruteproceduren som lParam parameter för WM_INITDIALOG meddelandet. Ett program kan använda det här värdet för att initiera dialogrutekontroller.
DialogBoxParam Skapar en modal dialogruta från en mallresurs i dialogrutan. Innan du visar dialogrutan skickar funktionen ett programdefinierat värde till dialogruteproceduren som lParam parameter för WM_INITDIALOG meddelandet. Ett program kan använda det här värdet för att initiera dialogrutekontroller.
DialogProc En programdefinierad återanropsfunktion som används med CreateDialog och DialogBox funktioner. Den bearbetar meddelanden som skickas till en modal eller lägeslös dialogruta. Typen DLGPROC definierar en pekare för den här återanropsfunktionen. DialogProc är en platshållare för det programdefinierade funktionsnamnet.
EndDialog Förstör en modal dialogruta, vilket gör att systemet avslutar bearbetningen av dialogrutan.
GetDialogBaseUnits Hämtar systemets dialogbasenheter, som är den genomsnittliga bredden och höjden på tecken i systemteckensnittet. För dialogrutor som använder systemteckensnittet kan du använda dessa värden för att konvertera mellan dialogmallsenheter, enligt vad som anges i dialogrutemallar och bildpunkter. För dialogrutor som inte använder systemteckensnittet beror konverteringen från dialogmallsenheter till bildpunkter på det teckensnitt som används i dialogrutan.
GetDlgCtrlID Hämtar identifieraren för den angivna kontrollen.
GetDlgItem Hämtar ett handtag till en kontroll i den angivna dialogrutan.
GetDlgItemInt Översätter texten i en angiven kontroll i en dialogruta till ett heltalsvärde.
GetDlgItemText Hämtar rubriken eller texten som är associerad med en kontroll i en dialogruta.
GetNextDlgGroupItem Hämtar en referens till den första kontrollen i en grupp kontroller som föregår (eller följer) den angivna kontrollen i en dialogruta.
GetNextDlgTabItem Hämtar ett handtag till den första kontrollen som har WS_TABSTOP formatmall som föregår (eller följer) den angivna kontrollen.
IsDialogMessage Avgör om ett meddelande är avsett för den angivna dialogrutan och, om det är det, bearbetar meddelandet.
MapDialogRect Konverterar de angivna dialogruteenheterna till skärmenheter (bildpunkter). Funktionen ersätter koordinaterna i den angivna RECT- struktur med de konverterade koordinaterna, vilket gör att strukturen kan användas för att skapa en dialogruta eller placera en kontroll i en dialogruta.
MessageBox Visar en modal dialogruta som innehåller en systemikon, en uppsättning knappar och ett kort programspecifikt meddelande, till exempel status eller felinformation. Meddelanderutan returnerar ett heltalsvärde som anger vilken knapp användaren klickade på.
MessageBoxEx Skapar, visar och använder en meddelanderuta. Meddelanderutan innehåller ett programdefinierat meddelande och en rubrik, plus valfri kombination av fördefinierade ikoner och push-knappar. Knapparna finns på språket i systemets användargränssnitt.
MessageBoxIndirect Skapar, visar och använder en meddelanderuta. Meddelanderutan innehåller programdefinierad meddelandetext och rubrik, valfri ikon och valfri kombination av fördefinierade push-knappar.
SendDlgItemMessage Skickar ett meddelande till den angivna kontrollen i en dialogruta.
SetDlgItemInt Anger texten för en kontroll i en dialogruta till strängrepresentationen av ett angivet heltalsvärde.
SetDlgItemText Anger en kontrolls rubrik eller text i en dialogruta.

Dialogrutemeddelanden

Namn Beskrivning
DM_GETDEFID Hämtar identifieraren för standardknappen för en dialogruta.
DM_REPOSITION Flyttar en dialogruta på den översta nivån så att den passar i skrivbordsområdet. Ett program kan skicka det här meddelandet till en dialogruta när det har storleksändring för att säkerställa att hela dialogrutan förblir synlig.
DM_SETDEFID Ändrar identifieraren för standardknappen för en dialogruta.

Dialogrutemeddelanden

Namn Beskrivning
WM_CTLCOLORDLG Skickas till en dialogruta innan systemet ritar dialogrutan. Genom att svara på det här meddelandet kan dialogrutan ange dess text- och bakgrundsfärger med hjälp av det angivna referensen för visningsenhetens kontext.
WM_ENTERIDLE Skickas till ägarfönstret för en modal dialogruta eller meny som anger ett inaktivt tillstånd. En modal dialogruta eller meny anger ett inaktivt tillstånd när inga meddelanden väntar i kön efter att den har bearbetat ett eller flera tidigare meddelanden.
WM_GETDLGCODE Skickas till den fönsterprocedur som är associerad med en kontroll. Systemet hanterar som standard alla tangentbordsindata till kontrollen. systemet tolkar vissa typer av tangentbordsindata som dialogrutenavigeringsnycklar. Om du vill åsidosätta det här standardbeteendet kan kontrollen svara på WM_GETDLGCODE meddelande för att ange vilka typer av indata som ska bearbetas.
WM_INITDIALOG Skickas till dialogrutan omedelbart innan en dialogruta visas. Dialogruteprocedurer använder vanligtvis det här meddelandet för att initiera kontroller och utföra andra initieringsuppgifter som påverkar dialogrutans utseende.
WM_NEXTDLGCTL Skickas till en dialogruteprocedur för att ställa in tangentbordets fokus på en annan kontroll i dialogrutan.

Dialogrutestrukturer

Namn Beskrivning
DLGITEMTEMPLATE Definierar dimensionerna och stilen för en kontroll i en dialogruta. En eller flera av dessa strukturer kombineras med en DLGTEMPLATE- struktur för att bilda en standardmall för en dialogruta.
DLGITEMTEMPLATEEX Beskriver en utökad dialogruta. En beskrivning av formatet för en utökad dialogrutemall finns i DLGTEMPLATEEX.
DLGTEMPLATE Definierar dimensionerna och formatet för en dialogruta. Den här strukturen, alltid den första i en standardmall för en dialogruta, anger också antalet kontroller i dialogrutan och anger därför antalet efterföljande DLGITEMTEMPLATE strukturer i mallen.
DLGTEMPLATEEX En utökad dialogrutemall börjar med en DLGTEMPLATEEX- rubrik som beskriver dialogrutan och anger antalet kontroller i dialogrutan. För varje kontroll i en dialogruta har en utökad dialogrutemall ett datablock som använder DLGITEMTEMPLATEEX format för att beskriva kontrollen.
MSGBOXPARAMS Innehåller information som används för att visa en meddelanderuta. Funktionen MessageBoxIndirect använder den här strukturen.