| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 588 人关注过本帖
标题:关于C语言实现延时按钮
只看楼主 加入收藏
sophy123
Rank: 1
等 级:新手上路
帖 子:30
专家分:2
注 册:2011-5-8
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:6 
关于C语言实现延时按钮
要实现的功能:最初按钮不可用,每隔1秒更改一次按钮的文字,即提示剩余时间,当到达指定的时间时,将按钮的状态改为可用。
现在提示剩余时间是出了问题:
       EnableWindow(GetDlgItem(hwnd,IDC_SHOW),FALSE);
       for(i=10;i>0;i--)
       {   
         tIme[j]=(TCHAR)i;j++;
         SetDlgItemText(hwnd,IDC_SHOW,tIme);
             Sleep(1000);
          }
     EnableWindow(GetDlgItem(hwnd,IDC_SHOW),TRUE);
按钮上Set成了乱码~。。。要怎么实现提示剩余时间呢?
搜索更多相关主题的帖子: C语言 时间 
2011-06-11 17:39
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:10 
SetDlgItemText(hwnd,IDC_SHOW,tIme)
你怎么能拿个数组名给人家去 set 呢,改成 tIme[j]。
不过,这样真的就可以把整形转换成相应的字符了? (TCHAR) i
不懂 win32 的我表示疑惑
而且,你这个 tIme 写的可真是诡异呢

[ 本帖最后由 voidx 于 2011-6-11 17:44 编辑 ]
2011-06-11 17:41
sophy123
Rank: 1
等 级:新手上路
帖 子:30
专家分:2
注 册:2011-5-8
收藏
得分:0 
回复 2楼 voidx
那怎么弄呢?
2011-06-11 17:45
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:0 
程序代码:
SetDlgItemText(..,..,..)
// 我不懂,不过估计上面那个函数最后一个参数应该是 char * 类型吧。搞成下面这样试试:
char * time[10] = {0};    // 这个在循环外面
itoa(i, time, 10);
SetDlgItemText(hwnd,IDC_SHOW,time);
2011-06-11 17:49
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
收藏
得分:10 
EnableWindow(GetDlgItem(hWnd, IDC_SHOW), FALSE);
for(i = 10; i > 0; i--)
{
    wsprintf(szBuffer, TEXT("%d\\0"), i);
    SetDlgItemText(hWnd, IDC_SHOW, szBuffer);
    Sleep(1000);
}
EnableWindow(GetDlgItem(hWnd, IDC_SHOW), TRUE);

愿用余生致力编程
2011-06-11 17:53
sophy123
Rank: 1
等 级:新手上路
帖 子:30
专家分:2
注 册:2011-5-8
收藏
得分:0 
回复 5楼 我菜119
还是乱码。。。。。。。。怎么办呐。。。
2011-06-11 21:43
sophy123
Rank: 1
等 级:新手上路
帖 子:30
专家分:2
注 册:2011-5-8
收藏
得分:0 
回复 5楼 我菜119
哦哦,现在乱码弄好了,谢谢哦,刚刚输错了。。。那个还有一个问题就是:   怎么让SetDlgItemText(hwnd,IDC_ENG,En[m]);发生在EnableWindow(GetDlgItem(hwnd,IDC_SHOW),FALSE);前面?现在一点NEXT按钮就直接进入倒计时了,我想先Set一个单词上去,再倒计时的。。
case(IDC_NEXT):
{ SetDlgItemText(hwnd,IDC_ENG,En[m]);
  EnableWindow(GetDlgItem(hwnd,IDC_SHOW),FALSE);
    for(i=10;i>0;i--)
    {   SetDlgItemText(hwnd,IDC_ENG,En[m]);
        wsprintf(szScnd, TEXT("显示中文(%d)"), i);
             SetDlgItemText(hwnd,IDC_SHOW,szScnd);
        Sleep(1000);
     }
                          
    SetDlgItemText(hwnd,IDC_SHOW,TEXT("显示中文"));
    EnableWindow(GetDlgItem(hwnd,IDC_SHOW),TRUE);
2011-06-11 22:16
快速回复:关于C语言实现延时按钮
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019005 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved