Click here to Skip to main content
15,885,914 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
QuestionRe:MessageBox not showing Pin
Debojyoti Majumder12-Jan-11 19:44
Debojyoti Majumder12-Jan-11 19:44 
AnswerRe:MessageBox not showing Pin
Andrew Brock12-Jan-11 20:00
Andrew Brock12-Jan-11 20:00 
QuestionRe:MessageBox not showing Pin
Cool_Dev12-Jan-11 21:15
Cool_Dev12-Jan-11 21:15 
AnswerRe:MessageBox not showing Pin
Hamid_RT12-Jan-11 22:39
Hamid_RT12-Jan-11 22:39 
QuestionGetting logical drives of all Physical drives Pin
learningvisualc12-Jan-11 19:03
learningvisualc12-Jan-11 19:03 
AnswerRe: Getting logical drives of all Physical drives Pin
Andrew Brock12-Jan-11 19:17
Andrew Brock12-Jan-11 19:17 
QuestionHow can Terminate AfxbeginThread ? Pin
Le@rner12-Jan-11 18:39
Le@rner12-Jan-11 18:39 
AnswerRe: How can Terminate AfxbeginThread ? [modified] Pin
Andrew Brock12-Jan-11 18:58
Andrew Brock12-Jan-11 18:58 
You define your own custom message and then override CWinThread::PreTranslateMessage http://msdn.microsoft.com/en-US/library/67d74wsy(v=VS.80).aspx[^].

The thread intercepts messages before your main application does, so you cannot use WM_QUIT or other windows messages without affecting your application.

in the header file
#define CM_KILL_THREAD WM_USER + 0 //can go up to WM_USER + 0x7BFF

class CTest_Thread : public CWinThread {
	//other member functions and variables
	protected:
		virtual BOOL PreTranslateMessage(MSG *pMsg);
};


in the source file
BOOL CTest_Thread::PreTranslateMessage(MSG *pMsg) {
	if (pMsg->message == CM_KILL_THREAD) {
		ExitThread(0); //0 is the return code, if you need to send a message back to your application
		return TRUE; //I have procesed the message, nothing else needs to
	}
	return FALSE; //get something else to process the message
}


in your code
Th->PostThreadMessage(CM_KILL_THREAD, 0, 0);


Edit: corrected invalid indentation error
modified on Thursday, January 13, 2011 1:24 AM

GeneralRe: How can Terminate AfxbeginThread ? [modified] Pin
Le@rner12-Jan-11 19:12
Le@rner12-Jan-11 19:12 
GeneralRe: How can Terminate AfxbeginThread ? Pin
Andrew Brock12-Jan-11 19:24
Andrew Brock12-Jan-11 19:24 
GeneralRe: How can Terminate AfxbeginThread ? [modified] Pin
Le@rner12-Jan-11 19:26
Le@rner12-Jan-11 19:26 
GeneralRe: How can Terminate AfxbeginThread ? Pin
Andrew Brock12-Jan-11 20:35
Andrew Brock12-Jan-11 20:35 
GeneralRe: How can Terminate AfxbeginThread ? Pin
Le@rner12-Jan-11 20:40
Le@rner12-Jan-11 20:40 
AnswerRe: How can Terminate AfxbeginThread ? [modified] Pin
Andrew Brock12-Jan-11 20:58
Andrew Brock12-Jan-11 20:58 
GeneralRe: How can Terminate AfxbeginThread ? Pin
Le@rner12-Jan-11 21:17
Le@rner12-Jan-11 21:17 
AnswerRe: How can Terminate AfxbeginThread ? Pin
Andrew Brock12-Jan-11 21:21
Andrew Brock12-Jan-11 21:21 
GeneralRe: How can Terminate AfxbeginThread ? Pin
Le@rner12-Jan-11 21:30
Le@rner12-Jan-11 21:30 
GeneralRe: How can Terminate AfxbeginThread ? Pin
Andrew Brock12-Jan-11 22:26
Andrew Brock12-Jan-11 22:26 
GeneralRe: How can Terminate AfxbeginThread ? Pin
Le@rner12-Jan-11 23:13
Le@rner12-Jan-11 23:13 
GeneralRe: How can Terminate AfxbeginThread ? Pin
Andrew Brock13-Jan-11 0:11
Andrew Brock13-Jan-11 0:11 
GeneralRe: How can Terminate AfxbeginThread ? Pin
Le@rner12-Jan-11 23:42
Le@rner12-Jan-11 23:42 
GeneralRe: How can Terminate AfxbeginThread ? Pin
Andrew Brock12-Jan-11 23:56
Andrew Brock12-Jan-11 23:56 
GeneralRe: How can Terminate AfxbeginThread ? Pin
Le@rner12-Jan-11 23:59
Le@rner12-Jan-11 23:59 
AnswerRe: How can Terminate AfxbeginThread ? Pin
Prasann Mayekar12-Jan-11 18:59
Prasann Mayekar12-Jan-11 18:59 
AnswerRe: How can Terminate AfxbeginThread ? Pin
Cedric Moonen12-Jan-11 20:49
Cedric Moonen12-Jan-11 20:49 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.