求解
#include <windows.h>int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
static TCHAR szCaption [] = TEXT ("作业"); // static 的三条作用做一句话总结。首先 static 的最主要功能是隐藏,其次因为 static 变量存放在静态存储区,所以它具备持久性和默认值 0。
int result ;
do
{
do
{
result = MessageBox(NULL,TEXT("你看见消息框吗?"),szCaption,MB_YESNO | MB_ICONQUESTION);
if (IDNO == result)
{
MessageBox (NULL,TEXT("你睁大眼睛仔细瞧瞧,我就是消息框啊!"),szCaption,MB_OK | MB_ICONEXCLAMATION);
}
else //if语句用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。如果后面没有连接else则判断为假时不执行任何操作。
{
break; //在C语言里break语句是起到终止的作用。如果将break使用在if的循环结构中,当if成立时,结构完成之后break会直接终止循环,跳出循环结构。
}
} while (TRUE); //while(true)作为无限循环,经常在不知道循环次数的时候使用,并且需要在循环内使用break才会停止。
MessageBox (NULL, TEXT("嗯,看见就好!"),szCaption, MB_OK);
result = MessageBox(NULL,TEXT("重试吗?"),szCaption,MB_RETRYCANCEL | MB_ICONQUESTION);
}while (IDRETRY == result); //IDRETRY重试返回result
return 0;
}
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
static TCHAR szCaption [] = TEXT ("作业"); // static 的三条作用做一句话总结。首先 static 的最主要功能是隐藏,其次因为 static 变量存放在静态存储区,所以它具备持久性和默认值 0。
int result ; 为什么用int而不是TCHAR
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
result = MessageBox(NULL,TEXT("你看见消息框吗?"),szCaption,MB_YESNO | MB_ICONQUESTION);
if (IDNO == result) 感觉这一句绕不出来,先执行在判断... 问题一 messagebox函数的返回值 是整数 所以用定义为整数型
问题二IDNO 在这里代表的是 messagebox 函数的一个返回值
你可以在论坛中查找messagebox 函数的使用说明阅读一下就明白了
页:
[1]