Sådan bruges en Kombinationsfelt i MFC

En kombinationsboksen kontrol viser en liste af strenge i rullemenuen stil.Giver en måde at vise flere muligheder og samtidig spare plads, en kombinationsboks kombinerer funktionaliteten i en liste box og en redigeringsboks.Funktionerne i kombinationsboksen kontrol er indkapslet i CComboBox klassen af ​​Microsoft Foundation Class Library.Denne tutorial viser nogle almindeligt anvendte funktioner i denne klasse.

hvad du har brug

  • Microsoft Visual Studio IDE
  • Bog om MFC, såsomsom "Programmering Windows med MFC" af Jeff Prosise

Instruktioner

  1. Launch Microsoft Visual Studio.Generer en dialog-baseret program til dette projekt ved at klikke på Fil & gt;Ny & gt;Projekter (TAB), og vælge "MFC for programguiden (exe)."Skriv "MyCombobox" under "Projekt navn."Tryk på OK, vælg "Dialog baserede" og klik på Udfør.

  2. Opret et kombinationsfelt og ændre dets egenskaber.Klik på fanen Ressourcer i venstre side af arbejdsområdet.Udvid mappen Dialog og vælg IDD_MYCOMBOBOX_

    DIALOG.Klik på ikonet kombinationsfeltet fra værktøjskassen på højre side og sætte det på dialogen.Resize drop-down strækker af kombinationsfeltet ved at klikke på pilen og trække ned rektanglet.Højreklik derefter, vælg Egenskaber, klik på fanen Typografier og under Type, skal du vælge Simple.Luk boksen Box Egenskaber Combo.

  3. Tilføj elementer til kombinationsboksen.Du kan gøre dette på to måder.For at tilføje dem på design tid, skal du højreklikke på kombinationsboksen, vælg Egenskaber, klik på fanen Data og indtast poster.For at komme til det næste punkt ved at trykke Ctrl + Enter.For at tilføje dem på runtime, så ring til CComboBox :: addstring () til at tilføje elementer til slutningen eller CComboBox :: InsertString () til at indsætte poster i en bestemt placering.De elementer er af typen lpszString.

  4. Ændre bredden på kombinationsfeltet dynamisk.Du kan vise ethvert element helt, uanset hvor længe det er, takket være CComboBox :: SetDroppedWidth () medlem funktion.Det tager som parameter bredden af ​​strengen i pixels.

  5. Udføre andre fælles funktioner.Vælg et punkt på runtime ved hjælp CComboBox :: SetCurSel ().Det accepterer som parameter et heltal indeks.Find indekset for det valgte element med CComboBox :: GetCurSel ().Hent data ved hjælp af CComboBox :: GetItemData ().Bestem punktet tæller gennem CComboBox :: GetCount ().

  6. Fjerne genstande fra en MFC kombinationsfeltet.Hvis strengen er kendt, kan du bruge CComboBox :: FindString () for at afgøre indekset og derefter bruge CComboBox :: DeleteString ().CComboBox :: Clear () sletter det aktuelle valg, hvis nogen, mens CComboBox :: Cut () fjerner det aktuelle valg og placerer den i klippebordet.

  7. Forstå besked-map meddelelser, som en kombinationsboks kan sende.Når kombinationsboksen liste kasse er lukket, for eksempel, er ON_CBN_CLOSEUP sendt.Når kombinationsboksen mister sit input fokus på grund af et museklik uden for sine grænser, sender ON_CBN_KILLFOCUS.Der er et budskab map alle mulige state-ændring, en kombinationsboks kan gennemgå.

Tips & amp;Advarsler

  • Den eneste gang, du skal bekymre dig om at ødelægge en kombinationsboks er, hvis du opretter den på den bunke.Hvis du kalder det "nye" operatør, du har brug for at kalde "slet" på oprydning.

Ressourcer

  • MSDN er en ressource for Microsoft brugere.
  • DevCentral tilbyder artikler, tutorials og eksempler.
  • Oplysninger om programmeringssprog, miljøer og biblioteker.
83
0
1
C / C ++ Programming