久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2151|回復: 0
打印 上一主題 下一主題
收起左側

VC6.0編寫的一個大屏七段數碼時鐘程序 純代碼繪制七段筆畫

[復制鏈接]
跳轉到指定樓層
樓主
    VC6.0編寫的一個大屏七段數碼時鐘,純代碼繪制七段筆畫,使用定時函數讀取系統時間,再以七段數碼管的形式顯示在屏幕上,字體顏色可變,背景顏色可調節。



部分程序如下:        //{{AFX_DATA(CLEDClockDlg)
        enum { IDD = IDD_LEDCLOCK_DIALOG };
        CDigitalClock m_clock;
        int                m_green;
        UINT        m_hour;
        UINT        m_minute;
        UINT        m_second;
        int                m_blue;
        int                m_red;
        int                m_shour;
        int                m_sminute;
        int                m_ssecond;


/////////////////////////////////////////////////////////////////////////////
// CLEDClockDlg message handlers

BOOL CLEDClockDlg::OnInitDialog()
{
        CDialog::OnInitDialog();

        // Add "About..." menu item to system menu.

        // IDM_ABOUTBOX must be in the system command range.
        ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
        ASSERT(IDM_ABOUTBOX < 0xF000);

        CMenu* pSysMenu = GetSystemMenu(FALSE);
        if (pSysMenu != NULL)
        {
                CString strAboutMenu;
                strAboutMenu.LoadString(IDS_ABOUTBOX);
                if (!strAboutMenu.IsEmpty())
                {
                        pSysMenu->AppendMenu(MF_SEPARATOR);
                        pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
                }
        }

        // Set the icon for this dialog.  The framework does this automatically
        //  when the application's main window is not a dialog
        SetIcon(m_hIcon, TRUE);                        // Set big icon
        SetIcon(m_hIcon, FALSE);                // Set small icon
        
        // TODO: Add extra initialization here
    m_red=0;
    m_green=255;
        m_blue=0;
    m_clock.SetBkColor(RGB(0,0,0));
    m_clock.SetTextColor(RGB( m_red,m_green,m_blue));
        CTime time=CTime::GetCurrentTime();
        m_shour=time.GetHour();
        m_sminute=time.GetMinute();
        m_ssecond=time.GetSecond();
        UpdateData(false);
        SetTimer(1,1000,NULL);
        return TRUE;  // return TRUE  unless you set the focus to a control
}
/繪畫數碼管分,通過ADD Member Function...添加
void CDigitalClock::DrawMinute()
{
        int nLeft=m_nXmargin+3*m_nWidth+m_nSpace;
        if (m_nMinute<10)
        {
                DrawSingleNumber(0,nLeft);
                nLeft+=m_nWidth+m_nSpace;
                DrawSingleNumber(m_nMinute,nLeft);
        }
        else
        {
                TCHAR c[10]={0};               
                _itoa(m_nMinute,c,10);               
                int num1=c[0]-48;
                int num2=c[1]-48;
                DrawSingleNumber(num1,nLeft);
                nLeft+=m_nWidth+m_nSpace;
                DrawSingleNumber(num2,nLeft);               
        }
        nLeft+=m_nWidth;
        Draw2Dot(nLeft);
}
//繪畫數碼管秒,通過ADD Member Function...添加
void CDigitalClock::DrawSecond()
{
        int nLeft=m_nXmargin+6*m_nWidth+2*m_nSpace;
        if (m_nSecond<10)
        {
                DrawSingleNumber(0,nLeft);
        //        nLeft+=(int)(1.4*m_nWidth);
                nLeft+=m_nWidth+m_nSpace;
                DrawSingleNumber(m_nSecond,nLeft);
        }
        else
        {
                TCHAR *c=new TCHAR[10];
                _itoa(m_nSecond,c,10);
                int num1=c[0]-48;
                int num2=c[1]-48;
                DrawSingleNumber(num1,nLeft);
                nLeft+=m_nWidth+m_nSpace;
                DrawSingleNumber(num2,nLeft);        
        }
}

  //繪畫數碼管時,通過ADD Member Function...添加
void CDigitalClock::DrawHour()
{
        int nLeft=m_nXmargin;
        if (m_nHour<10)
        {
                DrawSingleNumber(0,nLeft);
                nLeft+=m_nWidth+m_nSpace;
                DrawSingleNumber(m_nHour,nLeft);
        }
        else
        {
                TCHAR *c=new TCHAR[10];
                _itoa(m_nHour,c,10);
                int num1=c[0]-48;
                int num2=c[1]-48;
                DrawSingleNumber(num1,nLeft);
                nLeft+=m_nWidth+m_nSpace;
                DrawSingleNumber(num2,nLeft);
        }
        nLeft+=m_nWidth;
        Draw2Dot(nLeft);
}
void CLEDClockDlg::OnTimer(UINT nIDEvent)
{
        // TODO: Add your message handler code here and/or call default
        CTime time=CTime::GetCurrentTime();
        UpdateData(true);
    int nHour=time.GetHour();
        int nMinute=time.GetMinute();
        int nSecond=time.GetSecond();
        m_second++;
        if(m_second>59)
    {
           m_second=0;
       m_minute++;
           if(m_minute>59)
           {
             m_minute=0;
             m_hour++;
             if(m_hour>23)
                 {
               m_hour=0;
                 }
           }
        }
         
    if(m_blue==0)
        {
                if(m_red<255)
                {
                        m_red+=15;
                }
        }
        
         if(m_red==255)
        {
                if(m_green>0)
                {
                        m_green-=15;
        }
        }
         if(m_green==0)
        {
                if(m_blue<255)
                {
                        m_blue+=15;
        }
        }
if(m_blue==255)
        {
                if(m_red>0)
                {
                        m_red-=15;
                }
        }               
         if(m_red==0)
        {
                if(m_green<255)
                {
                        m_green+=15;
                }
        }
    if(m_green==255)
        {
                if(m_blue>0)
                {
                    m_blue-=15;
                }
        }               
        m_clock.SetTextColor(RGB(m_red,m_green,m_blue));
        m_clock.SetClock(nHour,nMinute,nSecond);

        UpdateData(false);
        CDialog::OnTimer(nIDEvent);
}

詳細程序請下載附件: LEDClock.7z (3.48 MB, 下載次數: 19)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产高清不卡 | 亚洲视频在线播放 | 天天操夜夜操免费视频 | 性一交一乱一透一a级 | 天天干精品 | 欧美人妇做爰xxxⅹ性高电影 | 亚洲第一天堂 | 国产精品亚洲综合 | 日本久久综合 | 国产高清视频 | 九九伦理片 | .国产精品成人自产拍在线观看6 | 91免费观看国产 | av在线免费观看网站 | 日韩不卡一区二区 | 黄色网址在线免费观看 | 亚洲视频精品在线 | 日韩精品国产精品 | 久久久精品久久 | 久久精品日产第一区二区三区 | 久久久久国产一区二区三区四区 | 成年人的视频免费观看 | 国产美女视频 | 欧美最猛黑人 | 亚洲 中文 欧美 日韩 在线观看 | 亚洲欧洲精品成人久久奇米网 | 91网在线观看 | 国产96在线 | 免费国产视频 | 久久99精品久久久久久国产越南 | 国产精品美女www爽爽爽视频 | 亚洲高清视频在线观看 | 91精品国产日韩91久久久久久 | 亚洲国产精品久久久久久 | 美女久久 | 国产精品一区二区视频 | www.一区二区三区.com | 欧美乱大交xxxxx另类电影 | 欧美性精品 | 成人亚洲精品 | 韩国精品一区二区三区 |