- 博客(96)
- 资源 (4)
- 收藏
- 关注
原创 wince 移植跨ANDIRIOD下的跨平台UI库Skia界面库
前段时间无意中看到ANDIROID下的界面库SKIA用到了3D结构,本来想把自己以前WINCE上的的UI库重新把-OPGL接口加上上,奈何存资料电脑坏了一直没时间修,于是利用了一些上班空闲时间研究了浏览器技术用到的界面库框架SKIA,花了几天时间基本完成了SKIA库的在WINCE下的移植,其中走了一些弯路,后续开始用SKIA做一些简单的3维界面效果先慢慢做一点记录,忘记以后不记得了,也方便后来
2013-09-09 13:56:37
4372
2
转载 算法优化:rgb向yuv的转化最优算法,ALPHABLEND算法优化快得让你吃惊!
朋友曾经给我推荐了一个有关代码优化的pdf文档《让你的软件飞起来》,看完之后,感受颇深。为了推广其,同时也为了自己加深印象,故将其总结为word文档。下面就是其的详细内容总结,希望能于己于人都有所帮助。 速度取决于算法同样的事情,方法不一样,效果也不一样。比如,汽车引擎,可以让你的速度超越马车,却无法超越音速;涡轮引擎,可以轻松 超越音障,却无法飞出地球;如果有火箭发动机,就可以到达火
2013-09-09 13:49:46
3575
原创 WINCE-MFC-CDC使用出现的4KB内存泄露解决办法,坑爹的MFC
今天调试一个程序,为了偷懒想直接用以前的MFC的程序,顺手开了自己的内存监控软件,结果发现果然MFC存在一个BUG,其实也不算是BUG,只是没有在正常的使用中注意到特殊的用法MFC的CDC一直会有4KB的内存泄露HDC hdc = ::GetDC(m_hWnd);CDC* pDC=CDC::FromHandle(hdc);//把这句注释掉,现象没有再重现 // ........
2012-09-18 21:59:36
4137
翻译 wince CString转换为十六进制,串口工具
在网上搜到一个程序实现了字符串转16进制的代码。不是一两个函数就能完成的,要自己实现过程: 1/**//** 2 @brief StrToHex ASCII版本 3 @param lpSrc 源字符串 4 @param chTag 显示分隔符,默认为0表示空字符 5 @return 返回转化后16进制字符串 6*/ 7static string StringToH
2012-07-04 17:02:48
3827
翻译 WINCE UI显示优化经验:使用GetUpdateRect和GetClipBox的体会
个人在实际使用中的体会(基于WINCE),不具有权威性。1、GetUpdateRect是获得需要刷新的无效区域,在调用了InvalidRect后可以用这个函数来获得无效区域,但是如果在之前调用了BeginPaint/EndPaint则取到的无效区域为空,这也是为什么要在WM_PAINT中调用BeginPaint的原因。在需要做局部刷新的时候这个函数很有用。2、GetClipBox是获得裁剪
2012-06-09 11:57:22
3692
转载 CE6下兼容和非兼容位图的深入分析
兼容位图即DDB,由CreateCompatibleBitmap创建;非兼容位图即DIB,是由LoadImage、SHLoadBitmap、CreateDIBSection、CreateBitmap创建。非兼容位图和兼容位图有两个本质差别第一个区别是兼容位图的存放空间通常由GWES或显示驱动分配,处于驱动层之中,可以获取到存放数据的物理地址,而非兼容位图的存放空间通常由应用程序分配,处于应
2012-06-09 11:55:43
3174
1
转载 wince自动生成XIP映像文件的一种方法
在WINCE做MULTIBIN+XIP方式的启动映像文件时,往往需要分两步走:第一步、生成映像文件;第二步、修改ce.bib然后再romimage一次,以前的做法是手动修改极不方便,后来在网上找到了一些办法并整合到一起就能够做到一步到位。1、做一个批处理放在BSP的Files/premake目录下供PB调用,文件内容如下:[cpp] view plaincopy
2012-06-09 11:54:49
3563
原创 低级错误警示!
unsigned char state=0x04;//判断某个字节第3位是否为1或者为1//下面是错误的做法if (state&0x04==4)//正确的做法state&0x04要加个括号{ RETAILMSG(TRUE, (TEXT("############################################=[you SD ]=======##\r\n")));
2012-06-06 15:59:42
2604
原创 WINCE STL使用回忆
好久木有用STL的东东了,现在弄几个经常需要注意的地方1:MAP插入数据 ///########################## #include #include #include #include using namespace std; #define TSTRING std::wstring //////##################
2012-05-28 16:15:29
3283
翻译 底层引擎类的架构写法
底层引擎类的架构写法分类: C++ 设计模式2010-05-25 16:25 693人阅读 评论(7) 收藏 举报 做一个project,有时候要将其纵向分几层。最上一层是UI层,底层则是引擎层。对于这二者之间的关系还是很有意思的。 以前做过的一个项目:由于UI的每个widget对应一个底层引擎(一个窗口负责语音输入,一个负责手写输入;那:我们把底层
2012-05-23 10:23:27
2726
原创 WINCE下OPGL开发资料
1:http://www.cppblog.com/xczhang/category/5739.html2:http://blog.csdn.net/crazyjumper/3:http://blog.csdn.net/crazyjumper/article/details/1844357
2012-05-23 09:36:40
2667
转载 WinCE 插上网线后3G拨号 拨上号但是无法通过3G模块连接网络
WinCE 插上网线后3G拨号 拨上号但是无法通过3G模块连接网络分类: Wince2010-11-16 11:49 263人阅读 评论(0) 收藏 举报这个是前一段时间做的东西今天想起来还是写的篇博客,算是个总结也便于自己今后查找,WinCE的自身的拨号存在一个问题就是在LAN口同时有效的情况下虽然拨通了,但是OS的路由表不对,所以在3G模块和LAN口需要同时工作情况下,
2012-05-23 01:12:51
3673
原创 wince UI开发深入研究
1:WINCE UI开发图形渲染选择后续2:WINCE UI 利器xnview3:图片打包内存解压技术wince上图片的高效显示一直是一个问题,最近在TELECHIP系列上在研究图形如何在更高效的显示,决定放弃以前的UI架构,目前暂时准备实验的是一个打包资源然后内存读取再利用图形加速这块,目前初步实验阶段,先记录下#include #include #includ
2012-05-21 11:02:00
5179
原创 WINCE 文件搜索效率比较
1:递归搜索typedef struct tagFILELIST { BYTE nFileType; WCHAR wchFileName[MAX_PATH]; WCHAR wchFilePath[MAX_PATH]; }FILEINFO, *PFILEINFO;void GetAllFileInfo(WCHAR *pFilePath) { W
2012-05-09 16:06:20
3088
转载 BMP格式
BMP(全称Bitmap)是标准图像文件格式,可以分成两类:设备相关位图(DDB)和设备无关位图(DIB),使用非常广。它采用位映射存储格式,除了图象深度可选以外,不采用其他任何压缩。BMP文件的图像深度可选lbit、4bit、8bit及24bit。 NETC下面详细解说BMP图象格式,BMP解码及BMP在LCD显示程序!一.BMP文件格式1.位图文件头:14字节2.位图信息头
2012-05-04 15:32:09
4288
原创 WINCE同时半透明和透明
这是前两天遇到的一个问题,一幅图片含有要透明(或要屏蔽),即不显示的颜色(TransParentBlt),而且还需要使其半透明(AlphaBlend),例如显示效果为一个圆形的半透明球。上网搜了一下也没找到什么有用的信息,因此自己没办法自己想了一下,解决方法如下:void AlphaBmp(HDC hdc,HBITMAP hBitmap,int x,int y,short limit,HRGN
2012-04-28 11:35:30
3554
转载 WinCE中解决“图片采集及压缩”问题的开发历程
代码涉及知识点:1.DLL的创建。2.函数传入参数,传出参数。3.位图格式。4.位图的位运算及格式转换。5.文件操作。6.DLL的调用7.……一、图片格式转换的DLL项目//****************************//**WinCeCppCamDll项目//**本项目中引用了 开发板公司提供的摄像头驱动DLL文件一个//*******
2012-02-14 16:47:43
3781
转载 WinCE桌面助手-远程控制工具
《WinCE桌面助手》基本实现了远程操作WinCE设备的功能,支持鼠标和键盘。而这个远程键盘工具,除了支持键盘外,还支持远程字符粘贴,挺有想法的一个功能,在某些时候,很有作用。 CeKeyboard的界面如下图所示。 复制需要拷贝到设备中的字符串,在CE设备端把焦点聚焦到待输入框内,然后点击“Paste to device”即可。这样,就可以很方便的输入
2011-12-06 16:21:48
7128
2
原创 WINCE使用OpengL ES 显示文字的实现
<br />使用OpengL ES 显示文字对opengl es 初学者来说,可谓一个不大不小的麻烦。有人是利用了Opengl ES API封装了一些dll库来实现,例如glfont,不过用起来就像浮云,很不灵活。这里简单描述下,我在wince上实现opengl es显示文字的思路。显示文字的实质其实也就是显示一张纹理,显示一个纹理很简单,那么我们的重点即是如何产生一个上面写有文字的纹理。 实现的思路是这样的: 1.创建一张与设备相关的GDI位图。 2.创建一个兼容DC,把步骤1创建的位图选入到DC中。 3
2011-04-01 16:58:00
5089
原创 wince窗口 屏幕拷贝为位图
#define PW_WINDOW 9001#define PW_CLIENT 9002HBITMAP CMyProgramDlg::CopyScreenToBitmap(LPRECT lpRect){ HDC
2011-03-17 11:24:00
4271
转载 WinCE下重新设置IP地址无需重新启动
<br />#include <ndis.h><br />bool SetIpAddress(CString m_strIp,CString m_strMask,CString m_strGateWay)<br />{<br /> //获得网卡的设备名<br /> WCHAR Names[50];<br /> DWORD bytes;<br /> HANDLE m_hFileHandle = CreateFile(_T("NDS0:"), 0, 0, NULL,<br /> OPEN_EXISTING,
2011-03-17 11:20:00
1558
原创 WinCE下实现一个简单WEB服务器
<br />WinCE下网络通信方面的代码:WinCE下实现一个简单WEB服务器<br />功能非常简单,就是提供一个最基本的HTTP服务功能,不过这方面的应用还是挺多的,比如当你做一些控制方面的嵌入设备时,用户很可能就要求提供一个基于WEB的远程管理功能。<br />好了,现在开始做一些简单的介绍:<br />HTTP是一种基于文本对话的应用层协议,其版本历经了HTTP/0.9、HTTP/1.0、HTTP1.1几次修订,协议具体内容可以从RFC1945、RFC2068查到。该协议所包含的通信机制相对来说非
2011-03-17 11:16:00
5065
5
翻译 tinyxml在wince下的用法
<br />1.//包含XML解析类文件头<br />#include "tinyxml.h"<br />2.定义变量<br />TiXmlDocument * m_pXml;<br />bool m_bLoadXml;<br />3.读函数<br />BOOL CAlarmDlg::ReadCFGFile() <br />{<br /> m_pXml=new TiXmlDocument();<br /> BOOL flag=FALSE;<br />#ifdef MIPS<br /> m_bLoadX
2011-03-17 11:11:00
2110
原创 wince VS2005工程更换SDK编译
<br /><br /><br />1.替换工程目录的XXXXX.<br /> SLN文件用右键点击,文本编译方式替换搜索关键字SDK(你原先SDK的名字),全部替换成NEWSDK(新的SDK的名字),完成后保存<br />2.点击工程文件XXXXX.vcproj,文本编译方式替换搜索关键字SDK(你原先SDK的名字),全部替换成NEWSDK(新的SDK的名字),完成后保存
2011-01-19 12:07:00
1671
原创 WinCE 5.0 WIFI 无线网卡的配置和建立连接
一、枚举系统中可用的无线网络设备<br /> 下面的函数可以枚举出系统中所有可用的无线网卡设备的GUID,为了简化,我选择第一块可用的无线网卡来操作 BOOL GetFirstWirelessCard(PTCHAR pCard) { if (!pCard) { return FALSE; } INTFS_KEY_TABLE IntfsTable; IntfsTable.dwNumIntfs = 0;
2010-09-11 12:30:00
2796
5
转载 wince上数据库:sqlce和sqlite
最近由于项目需要, 要在wince4.2, wince5.0, mobile三种机型上面做大数据量的查询,初步估计在50W-500W条记录之间。由于以前做mobile5的数据库项目主要是采用C#来写,而且数据量也顶多几万条,所以,为了确保项目后期少走弯路,我特意做了一下移动数据库性能测试。下面是这周的工作记录。供大家参考。一. 由于wince4.2在打包OS的时候没有带.net的支持,所以,只能选用C++,也是为了各平台移植方便。初步考虑采用sqlce 和 sqlite中的一种,sqlce是ms的东东,比较
2010-09-11 12:25:00
1286
转载 WINCE+6410 拨号上网
<br />我们现在的模块用的是USB接口,然后模拟成一个COM6进行通信,在CE的: 控制面板->网络连接 里要新建一个连接,选择“拨号连接”然后设置好区域代码,还有附加解调器命令+CGDCON,"IP","CMNET",modem选择,与modem的串口通信速率等信息,然后连接,这上可以实现上网。<br /> 添加的CE组件有:<br />CoreOS->Windwos CE devices->commuication services and newworking->networking-wide
2010-09-11 12:19:00
1090
转载 WINCE流驱动的动态加载调试
<br />免去重新生成NK IMAGE的麻烦,直接用应用程序调试流驱动,高效快捷,透明可见。<br />1.在EVC下编译驱动源文件,生成驱动的DLL.<br />注意:在编译时请注意project setting,要加入驱动的导出文件,即在project options 中加入 /def:"IR.DEF" ,这一步很重要,否则驱动无法被应用程序调用。<br />2.用EVC编写一个动态加载驱动的程序,举例如下:<br />//动态加载流驱动;<br />HANDLE m_hIR; <br />m_hIR
2010-09-11 12:18:00
1267
转载 WINCE自己加载自己想要的字体
<br /> 好在WINCE系统提供了动态加载字体的API: AddFontResource, 利用这个API函数,我们可以动态加载字体,我们可以把字体放在NAND FLASH中,也可以放在SD卡上,因此不必担心NK会变大,消耗宝贵的FLASH资源问题。而且我们可以根据需要加载多个字体(注意:如果加载的字体太多或太大,也会占用系统内存)。但是要注意的是,系统退出时,记得要卸载动态加载的字体,否则会引起内存泄露。应用过程中,需要注意的问题是:结构体LOGFONT 的成员lfFaceName,应该为字体名,字体
2010-09-11 12:14:00
4540
2
原创 继续WINCE记录:
<br />好长时间没有更新BLOG了,<br />发现得记录点东西,今天开始吧,先记载一小段<br />/WINCE可用的发送短信代码,魅族M8测试成功/************************************ * 调用范例: * SendSMS(_T("+8613xxxxxxxxx"),_T("测试~")); * * Author:LOJA * Version: 1.0.1.0 * Date: 2009/07/30 * * Smartphone Platforms: Smartphone
2010-09-11 12:11:00
726
原创 WINCE屏蔽可恶的输入法工具条
控件获得焦点时,屏蔽输入法 void Edit::OnSetFocus(CWnd* pOldWnd) { CEdit::OnSetFocus(pOldWnd); // 关闭输入法 HIMC hIMC = ImmGetContext( this->GetSafeHwnd() ); ImmSetOpenStatus ( hIMC, FALSE ); }
2009-12-29 15:14:00
2741
2
原创 调试AVIN后视注册消息BUG改正记录保存
.H文件#define ATLAS_AVP_INSERTED_MSG _T("_ATLAS_AVP_INSERTED_MSG")。。。。。。。。。。。public: virtual BOOL PreTranslateMessage(MSG* pMsg); virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lP
2009-12-14 16:00:00
896
原创 内存DC拷贝到内存DC
很久不搞UI,竟然今天在帮同事调试一程序犯了一个错误。看来要吸取教训贴上代码:void CTttttttDlg::OnPaint() {// CPaintDC dc(this); // device context for painting HBITMAP hbmp=NULL; hbmp= SHLoadDIBitmap(TEXT("//Windows//bkg.bmp"));/
2009-07-10 14:50:00
2959
2
翻译 WINCE虚串口驱动
由于工作的需要,需要用到多个串口...早在去年的时候就犹豫是否要写一个..但是有朋友说。自己写的都效率不行.于是转投他法..使用了另外一个第3方库.做的效果也不错..仅发现一两个小问题..如果有朋友需要..后续找点时间把完整实现过程写下来..不过.这几天决定再写个支持多用户同时打开的串口....在网上发现有人已经有人贴了..大家可以参考一下。...转载一下.. //===============
2009-06-09 11:30:00
2227
2
原创 通过底层驱动破解正版地图
目录:/public/common/oak/csp/arm/.../src/drivers/sdcard/sdbusdriver串口调试信息记录为:slot0 is a SD20 DEVICE!!pDevice->CachedRegisters.OCR[0x0] = 0pDevice->CachedRegisters.OCR[0x1] = 128pDevice->CachedRegis
2009-05-27 10:02:00
1668
1
原创 VECTOR-BUG
class A { }; std::vector vecArray; vecArray.push_back( ); vecArray.push_back( ); vecArray.push_back( ) A & a= vecArray.back(); vecArray.push_back( );//////////////////////////借
2009-05-26 18:12:00
803
原创 天才的发现
PHOTOSHOP做半透明,让程序可以更快的显示半透明的控件和窗口1文件---新建 一个图层(背景选项 :透明)2剪切图片3选中图层 ---复制图层4选中两个图层种的一个。然后选择菜单项:图像--调整--亮度--对比度,直到为黑色5选中图层种的一个,点击图层下面的两个按钮,直到出现ALPHA。。双击,。选中ALPHA通道里的所选区域选项6调整半透明度。然后保存图片OK
2009-03-09 00:36:00
1390
2
原创 WINCE频谱分析资料 以及音频开发资料
http://hi.baidu.com/mengkf/blog/category/%B3%CC%D0%F2%B4%FA%C2%EB
2009-02-23 17:09:00
995
EVC下控件透明(ARMV4I下的工程解决界面美化,非常有用)(本人的宗旨:提供完整的可以运行的源代码)
2008-03-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人