处理完消息后返回TRUE或者FALSE 有什么区别吗?
14 个解决方案
#1
一般已经处理了,就用true返回值告诉后面的函数,我已经处理过了。
#2
这里用TRUE和FALSE来区别,是为了还有其他地方有判断语句时来用的.
比如说我先要从一组数据中查找数字20,如果有就返回TRUE,如果没有就返回FALSE.我将这个函数定义为BOOL型的.假设名字为:BOOL check(int a[20])
然后,我在另一个函数中调用这个函数:
int b[20]={1,2,3,...25};
BOOL result=check(b);
然后我就可以在这里来判断:
if(result)
MessageBox("The number is exist!");
else
MessageBox("There is no such number in the array!");
You See?
比如说我先要从一组数据中查找数字20,如果有就返回TRUE,如果没有就返回FALSE.我将这个函数定义为BOOL型的.假设名字为:BOOL check(int a[20])
然后,我在另一个函数中调用这个函数:
int b[20]={1,2,3,...25};
BOOL result=check(b);
然后我就可以在这里来判断:
if(result)
MessageBox("The number is exist!");
else
MessageBox("There is no such number in the array!");
You See?
#3
这里用TRUE和FALSE来区别,是为了还有其他地方有判断语句时来用的.
比如说我先要从一组数据中查找数字20,如果有就返回TRUE,如果没有就返回FALSE.我将这个函数定义为BOOL型的.假设名字为:BOOL check(int a[20])
然后,我在另一个函数中调用这个函数:
int b[20]={1,2,3,...25};
BOOL result=check(b);
然后我就可以在这里来判断:
if(result)
MessageBox("The number is exist!");
else
MessageBox("There is no such number in the array!");
You See?
比如说我先要从一组数据中查找数字20,如果有就返回TRUE,如果没有就返回FALSE.我将这个函数定义为BOOL型的.假设名字为:BOOL check(int a[20])
然后,我在另一个函数中调用这个函数:
int b[20]={1,2,3,...25};
BOOL result=check(b);
然后我就可以在这里来判断:
if(result)
MessageBox("The number is exist!");
else
MessageBox("There is no such number in the array!");
You See?
#4
可以看看OnInitDialog中最后一句自动添加的注释吧
#5
默认的一般都是true,表示你其中的函数已经处理过了,否则没处理
#6
看在哪个函数中了
#7
为什么
我如果没有处理就 返回TRUE
就会引起程序定死。。。
我如果没有处理就 返回TRUE
就会引起程序定死。。。
#8
贴代码
#9
代码很简单 下面是对话框消息处理函数
就是把返回的值全部改成TRUE就程序死了。
BOOL CALLBACK dia_pro_fun_1(HWND hDlg,UINT message,WPARAM wParam,LPARAM lParam)
{
switch(message)
{
case WM_CLOSE:
DestroyWindow(hDlg);
return (FALSE);
case WM_INITDIALOG:
return(FALSE);
case WM_COMMAND:
switch (LOWORD (wParam))
{
case IDOK2:
return(FALSE);
default:
return(FALSE);
}
default:
return(FALSE);
}
return(FALSE);
}
就是把返回的值全部改成TRUE就程序死了。
BOOL CALLBACK dia_pro_fun_1(HWND hDlg,UINT message,WPARAM wParam,LPARAM lParam)
{
switch(message)
{
case WM_CLOSE:
DestroyWindow(hDlg);
return (FALSE);
case WM_INITDIALOG:
return(FALSE);
case WM_COMMAND:
switch (LOWORD (wParam))
{
case IDOK2:
return(FALSE);
default:
return(FALSE);
}
default:
return(FALSE);
}
return(FALSE);
}
#10
代码贴了 有问题吗?
#11
处理了该消息返回TRUE。。详情在深入浅出MFC中有提到。。
#12
一般就返回 TRUE 吧
#13
问题是不处理返回TRUE就卡死了。
#14
返回TRUE说明已将处理完成了!
#1
一般已经处理了,就用true返回值告诉后面的函数,我已经处理过了。
#2
这里用TRUE和FALSE来区别,是为了还有其他地方有判断语句时来用的.
比如说我先要从一组数据中查找数字20,如果有就返回TRUE,如果没有就返回FALSE.我将这个函数定义为BOOL型的.假设名字为:BOOL check(int a[20])
然后,我在另一个函数中调用这个函数:
int b[20]={1,2,3,...25};
BOOL result=check(b);
然后我就可以在这里来判断:
if(result)
MessageBox("The number is exist!");
else
MessageBox("There is no such number in the array!");
You See?
比如说我先要从一组数据中查找数字20,如果有就返回TRUE,如果没有就返回FALSE.我将这个函数定义为BOOL型的.假设名字为:BOOL check(int a[20])
然后,我在另一个函数中调用这个函数:
int b[20]={1,2,3,...25};
BOOL result=check(b);
然后我就可以在这里来判断:
if(result)
MessageBox("The number is exist!");
else
MessageBox("There is no such number in the array!");
You See?
#3
这里用TRUE和FALSE来区别,是为了还有其他地方有判断语句时来用的.
比如说我先要从一组数据中查找数字20,如果有就返回TRUE,如果没有就返回FALSE.我将这个函数定义为BOOL型的.假设名字为:BOOL check(int a[20])
然后,我在另一个函数中调用这个函数:
int b[20]={1,2,3,...25};
BOOL result=check(b);
然后我就可以在这里来判断:
if(result)
MessageBox("The number is exist!");
else
MessageBox("There is no such number in the array!");
You See?
比如说我先要从一组数据中查找数字20,如果有就返回TRUE,如果没有就返回FALSE.我将这个函数定义为BOOL型的.假设名字为:BOOL check(int a[20])
然后,我在另一个函数中调用这个函数:
int b[20]={1,2,3,...25};
BOOL result=check(b);
然后我就可以在这里来判断:
if(result)
MessageBox("The number is exist!");
else
MessageBox("There is no such number in the array!");
You See?
#4
可以看看OnInitDialog中最后一句自动添加的注释吧
#5
默认的一般都是true,表示你其中的函数已经处理过了,否则没处理
#6
看在哪个函数中了
#7
为什么
我如果没有处理就 返回TRUE
就会引起程序定死。。。
我如果没有处理就 返回TRUE
就会引起程序定死。。。
#8
贴代码
#9
代码很简单 下面是对话框消息处理函数
就是把返回的值全部改成TRUE就程序死了。
BOOL CALLBACK dia_pro_fun_1(HWND hDlg,UINT message,WPARAM wParam,LPARAM lParam)
{
switch(message)
{
case WM_CLOSE:
DestroyWindow(hDlg);
return (FALSE);
case WM_INITDIALOG:
return(FALSE);
case WM_COMMAND:
switch (LOWORD (wParam))
{
case IDOK2:
return(FALSE);
default:
return(FALSE);
}
default:
return(FALSE);
}
return(FALSE);
}
就是把返回的值全部改成TRUE就程序死了。
BOOL CALLBACK dia_pro_fun_1(HWND hDlg,UINT message,WPARAM wParam,LPARAM lParam)
{
switch(message)
{
case WM_CLOSE:
DestroyWindow(hDlg);
return (FALSE);
case WM_INITDIALOG:
return(FALSE);
case WM_COMMAND:
switch (LOWORD (wParam))
{
case IDOK2:
return(FALSE);
default:
return(FALSE);
}
default:
return(FALSE);
}
return(FALSE);
}
#10
代码贴了 有问题吗?
#11
处理了该消息返回TRUE。。详情在深入浅出MFC中有提到。。
#12
一般就返回 TRUE 吧
#13
问题是不处理返回TRUE就卡死了。
#14
返回TRUE说明已将处理完成了!