VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 647|回复: 5

[求助] textout

[复制链接]
23_avatar_middle
在线会员 klxsxhyk 发表于 2017-12-3 21:33:29 | 显示全部楼层 |阅读模式
3驿站币
注:ttt和tts的定义为
        wchar_t ttt[20];
        double tts = 9.6352;

其中代码如下:
        case WM_COMMAND:
                switch (wParam)   //button代码
                {
                case 001:
                        i = 1;
                        break;
                case 002:
                        i = 2;
                        break;
                case 003:
                        i = 3;
                        break;
                }
case WM_PAINT:
                hdc = BeginPaint(hwnd, &ps);
                FillRect(hdc, &rect, (HBRUSH)GetStockObject(WHITE_BRUSH));
                FrameRect(hdc, &rect, (HBRUSH)GetStockObject(BLACK_BRUSH));
                wsprintfW(ttt, L"%d", int(tts) + 1);
                TextOut(hdc, 25, 50, ttt, lstrlen(ttt));                            //这里能显示出来
                switch (i)
                {
                case 0:
                        wsprintfW(ttt, L"%d", int(tts) + 1);
                        TextOut(hdc, 25, 50, ttt, lstrlen(ttt));                //这里就不显示了,同样的代码
                        break;

                。。。。。。。
                        break;
                default:
                        break;
                }
                EndPaint(hwnd, &ps);
                //ValidateRect(hwndST,&rect);                // 更新客户区的显示
               
                break;                                                       

两个同样的两行代码,加进switch就不能用了,求解释原理。最好能解决输出问题,大意就是按一个按钮,输出不同位置的数据,或者不同的数据





上一篇:winhttp如何post发送文件内容
下一篇:MFC如何创建具有下拉颜色选择功能

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

07_avatar_middle
在线会员 freehawkzk 发表于 2017-12-3 21:49:09 | 显示全部楼层
以下为瞎说,楼主不用在意。


我觉得没准楼主的switch中的第二个textout没有执行,有可能没进入那个分支。

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

51_avatar_middle
online_admins Syc 发表于 2017-12-3 23:37:53 | 显示全部楼层
楼主说的是哪个switch, case WM_COMMAND 中的还是 case WM_PAINT 中的?

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

23_avatar_middle
ico_lz  楼主| klxsxhyk 发表于 2017-12-4 00:41:41 | 显示全部楼层
Syc 发表于 2017-12-3 23:37
楼主说的是哪个switch, case WM_COMMAND 中的还是 case WM_PAINT 中的?

就是我注释后面不显示的那个

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

56_avatar_middle
在线会员 valle 发表于 2017-12-11 16:29:12 | 显示全部楼层
你debug啊
如果不能debug,先看看i值多少
在这行之后,
TextOut(hdc, 25, 50, ttt, lstrlen(ttt));                            //这里能显示出来
afxmessgebox(i转化为cstring)


我觉得是循环没走进去,先确定,i值,然后下一步再debug, 这个debug应该很容易找到问题点

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2018-12-15 04:47

Powered by Discuz! X3.4

© 2009-2018 cctry.com

快速回复 返回顶部 返回列表