为什么这么写运行时没有反应?
windows编程,一个最简单的窗口的回调函数中的消息处理添加这样一部分caseWM_LBUTTONDOWN:{TCHARszText[]=TEXT("大家好");HDC...
windows编程,一个最简单的窗口的回调函数中的消息处理添加这样一部分
case WM_LBUTTONDOWN:
{
TCHAR szText[]=TEXT("大家好");
HDC hdc=GetWindowDC(hWnd);
TextOut(hdc,0,0,szText,sizeof(szText)/sizeof(TCHAR));
ReleaseDC(hWnd,hdc);
break;
}
所有其他代码都是自动生成,可是为什么运行时点鼠标左键没反应? 展开
case WM_LBUTTONDOWN:
{
TCHAR szText[]=TEXT("大家好");
HDC hdc=GetWindowDC(hWnd);
TextOut(hdc,0,0,szText,sizeof(szText)/sizeof(TCHAR));
ReleaseDC(hWnd,hdc);
break;
}
所有其他代码都是自动生成,可是为什么运行时点鼠标左键没反应? 展开
2个回答
展开全部
写字属绘图输出,通常要写在 case WM_PAINT: 里。
你可以用 int flag=0; 记录 点鼠标左键 状况。
按一次左键,
case WM_LBUTTONDOWN:
flag=flag+1; flag=flag % 2;
break;
case WM_PAINT:
if (flag==1){
把输出字的语句们写到这里。
}
============
另外,也可以 试试
case WM_LBUTTONDOWN:
写字 以后 添加
ShowWindow(hwnd, SW_HIDE);
ShowWindow(hwnd, SW_SHOW);
UpdateWindow(hwnd);
看看 能否 更新 显示。
你可以用 int flag=0; 记录 点鼠标左键 状况。
按一次左键,
case WM_LBUTTONDOWN:
flag=flag+1; flag=flag % 2;
break;
case WM_PAINT:
if (flag==1){
把输出字的语句们写到这里。
}
============
另外,也可以 试试
case WM_LBUTTONDOWN:
写字 以后 添加
ShowWindow(hwnd, SW_HIDE);
ShowWindow(hwnd, SW_SHOW);
UpdateWindow(hwnd);
看看 能否 更新 显示。
更多追问追答
追问
It seemed that both of the two methods were not working.
追答
你的目的是测鼠标响应。
你可以用
case WM_LBUTTONDOWN:
AfxMessageBox(“abcd",MB_OK | MB_ICONINFORMATION,0);
之类的东西看 有无反应便可。
------------------------
不能显示字符的原因很多。
窗口建立有无问题,建字体对象,选字体对象,有无问题。
font=CreateFont(。。。);
SelectObject(hdc,font);
你先试验 用 英文字,不要用中文。
写在坐标 20,20 处,不要 在 0 0 处 (座标正负要看你的窗口定义,默认 原点在左上角,y 向下为正)
慢慢试。windows 程序很噜苏。
中智咨询
2024-08-28 广告
2024-08-28 广告
在当今竞争激烈的商业环境中,企业需要不断提高自身的竞争力,以保持市场份额和增加利润。通过人效提升,企业可以更有效地利用有限的资源,提高生产力和效益,从而实现盈利目标。中智咨询提供全方位的组织人效评价与诊断、人效提升方案等数据和管理咨询服务。...
点击进入详情页
本回答由中智咨询提供
2013-11-06
展开全部
其他部分的代码都正确吗?
追问
真厉害,一下就好了!可是我想知道为什么这样写就行了呢,写break;的话会跳出switch结构,然后执行return 0返回貌似也没什么区别啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询