4198|6

64

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

在WINCE5.0下想做一个能显示日期、时间、还能更新图片 [复制链接]

主要就是要做一个相册一样的东西,相册里头经过定时间更新图片,相册外围可以显示日期,时间,时间的显示可以做一个电子钟(时、分、秒三条指针的这种)。我是菜鸟不知道该怎么起步,希望大虾们给点指点指点。

现在ARM9开发板已经有WINCE5.0的系统了,我的PC上装了EVC4.0;及它的升级包SP3,SP4;ATMEL的SDK;还有一个同步的SYNC
;开发板上带的测试程序编译后能自动下载,也能运行;


就是要自己开发还不知道该怎么下手,看别人的界面做的那么炫,我想用EVC里的MFC应该不行吧?

先谢谢了!

最新回复

一般需要用到wince的image com组件来解码,只要能解码,显示问题就简单了  详情 回复 发表于 2010-3-24 10:25
点赞 关注

回复
举报

79

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
好大的一座山啊
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
你可以用下面的代码在试验箱中显示图片:
void CMyLinkMan::LoadPhoto(CString pszFilename)
{
        HDC                                        hDC;
        //pszFilename = _T(". \\Flash Disk \\photo\\xixi.bmp");
        CFile cf;
        // 打开位图文件
        if (!cf.Open(pszFilename, CFile::modeRead))
                return ;
        // 获得位图文件大小,并减去BITMAPFILEHEADER的长度
        DWORD dwDibSize;
        dwDibSize = cf.GetLength() - sizeof(BITMAPFILEHEADER);
        // 为DIB位图分配内存
        unsigned char *pDib;
        pDib = new unsigned char[dwDibSize];
        if (pDib == NULL)
                return ;
        BITMAPFILEHEADER BFH;
        // 读取位图文件数据BFH.bfType != 'MB' ||
        try
        {
                // 文件格式是否正确有效
                if ( cf.Read(&BFH, sizeof(BITMAPFILEHEADER)) != sizeof(BITMAPFILEHEADER)||cf.Read(pDib, dwDibSize) != dwDibSize)         
                {// delete []pDib;       
                        return ;
                }
        }
        catch (CFileException *e)
        {
                e->Delete();
                delete []pDib;
                // return (FALSE);
        }
        BITMAPINFO                        *bmpInfo1,bmpInfo;
        BYTE                                *pPhotoBits;
        bmpInfo1 = (BITMAPINFO*)pDib;
        bmpInfo.bmiHeader        = bmpInfo1->bmiHeader;
        hDC= ::GetDC(m_hWnd);       
        DWORD d=GetLastError();
        m_hBitmap = CreateDIBSection(hDC, &bmpInfo, DIB_RGB_COLORS, (void **)&pPhotoBits,         NULL,  0);
        memcpy(pPhotoBits,    &pDib[sizeof(BITMAPINFOHEADER)],   dwDibSize-sizeof(BITMAPINFOHEADER));
        delete []pDib;
        cf.Close();

}
void CMyLinkMan::ShowPhoto()
{
        HDC                                        hdcMem;
        HDC                                        hDC;

        DWORD d=GetLastError();
        LoadPhoto(m_photo);
        d=GetLastError();
        if (NULL == m_hBitmap)
        {
                HBRUSH                                hBrush;
                RECT                                rect;
                SetRect(&rect, PHOTO_X, PHOTO_Y, PHOTO_X + PHOTO_WIDTH, PHOTO_Y + PHOTO_HEIGHT);
                hDC = GetDC(m_hWnd);
                hBrush = CreateSolidBrush(RGB(192, 192, 192));
                FillRect(hDC, &rect, hBrush);
                DeleteObject(hBrush);               
                ReleaseDC(m_hWnd, hDC);
                return;
        }
        else
        {       
               
                // Retrieve the device context handle       
                hDC = GetDC(m_hWnd);
                hdcMem = CreateCompatibleDC(hDC);
                d=0;
                d=GetLastError();               
                SelectObject(hdcMem, m_hBitmap);
                d=GetLastError();
                // Display bitmap,                //
                BitBlt(        hDC, PHOTO_X, PHOTO_Y,PHOTO_WIDTH,PHOTO_HEIGHT,        hdcMem,        0,0,SRCCOPY);
                 d=GetLastError();
                // Delete bitmap object, release the device contexts,
                //
                DeleteDC(hdcMem);
                ReleaseDC(m_hWnd, hDC);
        }
}

 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

4
 
这个功能我也喜欢!
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

5
 
想要炫的效果,就不要用CE系统提供的控件

一切都自己通过DC来绘制

还有一个,需要好的UI设计来支持,否则是不可能有好的效果的
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

6
 
LS,DC是一种界面设计软件是吧?

还有你说需要好的UI设计来支持,是指专门的设计人员吗?
 
 
 

回复

99

帖子

0

TA的资源

一粒金砂(初级)

7
 
一般需要用到wince的image com组件来解码,只要能解码,显示问题就简单了
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表