Hvordan lage MFC Interface tråder

En tråd er en semi-uavhengig program segment som ligger innenfor en programmets gjennomføring plass i minnet. Microsoft Foundation Class (MFC) Library tilbyr CWinThread klasse for å lage kode tråd-safe. CWinThread støtter arbeideren tråder og brukervennlig grensesnitt tråder. I motsetning til arbeideren tråder egnet for bakgrunnsprosessering, brukervennlig grensesnitt tråder bruker meldings kart og prosessbrukerstyrte meldinger. Denne artikkelen fokuserer på å skape og bruke brukervennlig grensesnitt tråder.

Bruksanvisning

1 Start Microsoft Visual Studio og opprette et nytt prosjekt. For å opprette en ny MFC prosjekt, fra menylinjen, klikk på "File"> "New". Klikk på "Prosjekter" -kategorien og velg "MFC AppWizard (exe)." Skriv inn et prosjektnavn under "Project name" redigeringsfeltet og trykk "OK". Velg "Single dokument" og "Dokument / View arkitektur støtte" i andre siden i veiviseren, og trykk "Finish" og "OK".

2 Lag en tråd klasse ved hjelp av veiviseren klasse. I menylinjen, klikk på "View"> "ClassWizard" eller bare trykke Ctrl + W. Velg "Legg Class"> "New". Skriv "CThread" i "Name" edit boksen og velg "CWinThread" for "Base klasse" i rullegardinmenyen boksen. Trykk "OK" to ganger. Nå Wizard klasse har skapt Tråd "h" og "CPP" filer som lagrer erklæringen og definisjon av CThread hhv.

3 Legge til et medlem funksjon til CThread klassen for håndtering av meldinger. I den venstre ruten klikker du på "Fileview" -kategorien, utvide "Header Files" katalogen og dobbeltklikk på "Thread.h", slik at det åpner i kilden editor. Fjern "CThread ();" under "beskyttet:" ved å kutte den og lim den linjen under "public:". Legg til "ugyldig MsgHandler (wParam, lParam)", funksjonsdefinisjonen, til neste linje. Deretter utvider "Source Files" katalogen og dobbeltklikk på "Thread.cpp", slik at det åpner i kilden editor. Tilføy funksjonens definisjon som vist nedenfor:


ugyldig MyThread :: MsgHandler (wParam, lParam)

{

// Meldingshåndtering kode

}

4 Innarbeide CThread klassen i andre MFC-prosjekter. Hvis du har utledet en klasse fra CToolBar kalt CModifiedToolBar, vil du sette "#include" Thread.h "på toppen av" CModifiedToolBar.cpp "fil.

5 Bruk gjenstander av CThread klasse i programmet som følger:


// CModifiedToolBar.cpp

CThread * pThread;

pThread = new CThread ();

pThread-> CreateThread ();

pThread-> SetThreadPriority (THREAD_PRIORITY_ABOVE_NORMAL);

pThread-> Run ();

pThread-> SuspendThread ();

// etc.

Hint

  • Du kan også starte et brukervennlig grensesnitt tråd med AfxBeginThread funksjon.
  • Ikke kompilere koden som vises i trinn 5; det er bare ment å demonstrere.