Dela via


Kontroller för dialogrutor (C++)

Du kan lägga till kontroller i en dialogruta med fliken Dialogredigeraren i fönstret Verktygslåda där du kan välja den kontroll du vill ha och dra den till dialogrutan. Som standard är fönstret Verktygslåda inställt på automatisk gömning. Den visas som en flik i vänstermarginalen för din lösning när dialogredigeraren är öppen. Du kan dock fästa fönstret Verktygslåda på plats genom att välja knappen Dölj automatiskt i det övre högra hörnet av fönstret. Mer information om hur du styr beteendet för det här fönstret finns i Fönsterhantering.

Det snabbaste sättet att lägga till kontroller i en dialogruta, flytta befintliga kontroller eller flytta kontroller från en dialogruta till en annan är att använda metoden dra och släpp. Kontrollens position är markerad med en streckad linje tills den släpps in i dialogrutan. När du lägger till en kontroll i en dialogruta med dra och släpp-metoden får kontrollen en standardhöjd som är lämplig för den typen av kontroll.

När du lägger till en kontroll i en dialogruta eller flyttar den kan den slutliga placeringen bestämmas av stödlinjer eller marginaler, eller om layoutrutnätet är aktiverat.

När du har lagt till en kontroll i dialogrutan kan du ändra egenskaper, till exempel dess undertext i fönstret Egenskaper. Du kan också välja flera kontroller och ändra deras egenskaper samtidigt.

Mer information om dialogredigeraren finns i lägga till, redigera eller ta bort kontroller, layoutkontroller och definiera åtkomst och värden för kontroll.

Mer information om kontroller och dialogrutor finns i Kontrollklasser, Dialogruteklasser och Scroll-Bar formatmallar.

Standardkontrollerna som är tillgängliga i verktygslådan med standardhändelser är:

Kontrollnamn Standardhändelse
Knappkontroll BN_CLICKED
Kontroll för kryssruta BN_CLICKED
Combo Box-kontroll CBN_SELCHANGE
Redigera kontroll PÅ_ÄNDRING
Gruppruta (ej tillämpligt)
Listboxkontroll LBN_SELCHANGE
Alternativknappskontroll BN_CLICKED
Kontroll av statisk text (ej tillämpligt)
Bildkontroll (ej tillämpligt)
Rich Edit 2.0-kontroll PÅ_ÄNDRING
Rullningslistkontroll NM_THEMECHANGED

Anmärkning

Mer information om hur du använder RichEdit 1.0-kontrollen med MFC finns i Använda RichEdit 1.0-kontrollen med MFC - och Rich Edit Control-exempel.

De vanliga Windows-kontrollerna som är tillgängliga i verktygslådan för att ge utökade funktioner är:

Kontrollnamn Standardhändelse
Skjutreglagekontroll NM_CUSTOMDRAW
Rotationskontroll UDN_DELTAPOS
Förloppskontroll NM_CUSTOMDRAW
Kortkommando-kontroll NM_OUTOFMEMORY
Listkontroll LVN_ITEMCHANGE
Trädkontroll TVN_SELCHANGE
Tabbkontroll TCN_SELCHANGE
Animeringskontroll ACN_START
Kontroll av datumtidsväljare DTN_DATETIMECHANGE
Kalenderkontroll för månad MCN_SELCHANGE
IP-adresskontroll IPN_FÄNDRATTFÄLT
Förlängd kombinationsrutekontroll
Skräddarsydd kontroll TTN_GETDISPINFO

Anpassade kontroller

Med dialogredigeraren kan du använda befintliga anpassade kontroller eller användarkontroller i en dialogrutemall.

Anmärkning

Anpassade kontroller i den meningen ska inte förväxlas med ActiveX-kontroller. ActiveX-kontroller kallades ibland anpassade OLE-kontroller. Blanda inte heller ihop dessa kontroller med de ägardefinierade kontrollerna i Windows.

Den här funktionen är avsedd att låta dig använda andra kontroller än de som tillhandahålls av Windows. Vid körning associeras kontrollen med en Window-klass (inte samma som en C++-klass). Ett vanligare sätt att utföra samma uppgift är att installera alla kontroller, till exempel en statisk kontroll, i dialogrutan. Vid körning tar du sedan bort kontrollen i funktionen OnInitDialog och ersätter den med din egen anpassade kontroll.

Anmärkning

Det här är en gammal teknik. Idag rekommenderas du i de flesta fall att skriva en ActiveX-kontroll eller underklassa en gemensam Windows-kontroll.

För dessa anpassade kontroller är du begränsad till:

  • Ange platsen i dialogrutan.

  • Skriva en bildtext.

  • Identifiera namnet på kontrollens Windows-klass eftersom programkoden måste registrera kontrollen med det här namnet.

  • Skriva ett 32-bitars hexadecimalt värde som anger kontrollens formatmall.

  • Ange det utökade formatet.

Kravspecifikation

Win32

Se även

Dialogredigeraren