- 博客(31)
- 资源 (19)
- 收藏
- 关注
转载 EntryIdleScreen步骤
<br /><br />开机进入idle的时候:<br /> //重置历史堆栈<br /> DinitHistory();<br /> ///开始屏幕变暗计时<br /> TurnOffBacklight();<br /> ///准备闹钟<br /> PendingAlarmReminder<br /> ///点亮手机屏幕?<br /> StartLEDPatternBackGround();<br /> //如果充电,则显示充电图标<br />if (
2010-12-30 19:27:00 892
原创 调试信息
<br />常用函数<br />PRINT_INFORMATION,PRINT_INFORMATION2.<br />---------to print out the %s stringtype.<br /> <br /> <br />MMI_TRACE<br />--------to log trace information
2010-12-27 14:34:00 482
原创 MTK软件编译
<br /><br />打开dos编辑窗口(开始->运行->cmd),找到工程代码所在根目录,如/opt/MTK6217 输入编译批处理命令:<br />格式:make[custom="projectName"]"project""action"["modules"]<br />Example: makecustom=mtk6217 gprs new<br />给个MTK的make方法<br />后面的modules是nucleus之类的,可以不用写,中间的除了mtk6217工程名外可以照写,
2010-12-27 12:25:00 2443
原创 mtk中的数据类型
<br />参看:<br />General data types:<br />Kal_non_specific_general_types.h<br /> <br />Kal specific data types and functions‘s prototypes:<br />Kal_release.h<br /> <br />OSLspecific data types used within MMI Tasks:<br />PixelDataTypes.h
2010-12-27 10:08:00 693
转载 一些常用的定义文件
<br />Highlight事件是用户通过键盘触发的事件,与提示信息关联。<br /><br />SetProtocolEventHandler实际上就是MMI FRAMEWORK提供的回调函数注册工具,与MMI相关的所有事件都可以通过这个函数登记——包括网络。<br /><br />按键码需要注意的几个特殊键:KEY_END是挂机键、KEY_SEND是摘机键。<br /><br />MMI字符串资源的加入:<br /><br />1)在ref_list.txt中加入字符串。<br />2)把字符串ID加
2010-12-24 14:57:00 546
转载 资源文件显示错误都可以从编绎资源文件的临时文件中找到原因
<br /><br />使用MTK作开发,常常不可避免和资源打交道,常使用的资源有字串,图片,字体,菜单,风格,声音等,MTK好像没有系统的专门的资源管理工具,导致资源管理十分凌乱而容易出问题,虽然有些牛人也开发了一些工具来管理这些资源,但由于使用不便或者其他一些原因,比如资源由大量的宏控制,以及修改维护的人多,还有一些其他各种各样的原因,导致资源的管理难度呈几何级增长。特别是如果一个人临时接手管理别人的项目,往往很容易被别人资源里的宏搞的焦头烂耳,如果资源出问题,也往往费时较多。<br />添加资源是一件
2010-12-24 14:50:00 514
转载 History管理机制与EntryNewScreen函数的关系
<br /><br />简单的分析一下History管理机制与EntryNewScreen的关系<br />1. 与EntryNewScreen函数有关的全局变量:<br /> currEntryFuncPtr, <br /> currExitScrnID, currTopScrnID, <br /> currExitFuncPtr<br />2. EntryNewScreen函数部分流程:<br /> Step1: 保存新屏幕ID(函数第一参数)-->currTopScrnI
2010-12-24 14:45:00 520
原创 SetKeyHandler 与 SetLeftkeyHandler的区别
<br /><br />牵涉到的常用函数:<br /> void SetKeyHandler( FuncPtr funcPtr, U16 keyCode, U16 keyType );<br /> void SetLeftSoftkeyFunction( void (*f)(void), MMI_key_event_type k );<br /> void ChangeLeftSoftkey( U16 s, U16 i );<br /> <br />1. SetKeyHa
2010-12-24 14:44:00 1606
转载 对MTK的层简单封装以方便使用
<br /><br />MTK的很多有关图层显示的函数,座标都是采用的相对座标,这一点在对于需要频繁改变座标的场合和一些复杂的界面设计中,使用起来十分的不方便。<br />我们可以采用一些方法对这些函数进行简单封装,以符合我们的使用习惯。<br />比如下面的函数,我常常这样做:<br />void new_gdi_layer_set_clip(S32 x1, S32 y1, S32 x2, S32 y2)<br />{<br /> S32 x, y;<br /> gdi_layer_get_positio
2010-12-24 14:07:00 554
转载 进入和退出屏幕模板程序
<br /><br />// 文件名: EntryAndExitFunciton<br />// 描述 : 进入和退出屏幕模板程序<br />// 函数 : EntryNewMenu<br />// ExitMyAppMenu<br />// ExitNewMenu<br />// 以下是模板中使用的ID<br />// 菜单ID: MENU_ID_MYAPP_NEW<br />// 图标ID: ICON_ID_MYAPP_NEW<br />// 字串ID:
2010-12-24 14:02:00 523
转载 DM模板使用心得
<br /><br />DM模板的一般使用方法见某牛人所著<<MMI实例培训教程>>,这里仅讨论一些零碎的使用心得<br />1. 很多ShowCategoryXXXScreen函数都调用ShowListCategoryScreen,使用改函数可简化模板的绘制工作,<br /> 现在分析一下ShowListCategoryScreen到底做了什么工作:<br /> (1) 设置Title<br /> 将title文本及图标数据-->全局变量MMI_title_stri
2010-12-24 13:57:00 1041
转载 MTK 开发入门资料 概述
<br /><br />编译工具和辅助工具:<br />ADS1.2<br />ADS12_update_842.exe<br />MSYS-1.0.10.exe<br />MinGW-3.1.0-1.exe<br />ImageMagick-6.2.5-5-Q16-windows-dll.exe<br />7z313.exe<br /> <br /> <br />开始编译:<br />切换到项目根目录,然后在命令行下面执行命令:<br />make custom=proj gprs new<br />其中
2010-12-24 12:18:00 1269
转载 MTK手机软件系统的配置
<br /><br /> MTK手机软件系统的大部分配置都已经确定,基本上不需要再改变,一般是MTK发布新的版本时会作些改变,客户不大需要关心。最主要的配置文件是Option.mak,而客户化定制需要需要修改的主要是_.mak、REL_CR_MMI_.mak这两个文件。<br /> <br /> Option.mak文件中设置了工程构建时用到的编译器、链接器、库管理、二进制文件生成等工具的路径和可执行程序名,设置了基本的编译链接参数,指定CPU类型(ARM7EJ-S),确定最终使用的库列表(COMP
2010-12-24 10:55:00 710
转载 nucleus实时操作系统MTK手机软件系统工程和配置简介
<br /><br />nucleus实时操作系统MTK手机软件系统工程和配置简介(1) MTK是现在市场上所有国内手机设计、制造商使用的最多的一个完整的手机产品解决方案,大部分做手机的技术人员都对此有接触和了解。不过,MTK的整套软件系统十分庞大且复杂,很多刚接触这套系统的软件工程师一时不知如何进行配置和客户化定制。本文在此对整个MTK软件系统的工程结构和配置进行了简单介绍,希望通过此文和大家相互交流MTK软件系统的维护和修改、定制方面的心得。<br /><br /> MTK使用了nu
2010-12-24 10:18:00 1003
转载 MTK开发中一些经验总结
<br /><br />1. 在确定你的MTK工程完整而且在模拟器和真机上能正常运行 之前, 不要开始工作。<br />2. MTK开发 C是唯一选择, 不要试图用把C++工程移植到MTK平台。<br />3. ADS C/C++ COMPILER不同的编译选项可能导致代码的性能差异很大。ADS使用ARMV4指令集, 而真机是Thumb指令集。<br />4. MMI/GUI的工作尽量用MODIS模拟器。 真机编译很慢,可用分布式编译加速。<br />5. Image$$ZI$$Limit
2010-12-23 18:18:00 1054
转载 History管理
<br /><br />一、什么是History管理<br /> <br /> 对于我们上层用户而言,经常接触到的History管理是这样的:<br /> void EntryFunc()<br />{<br />U8 *guiBuffer;<br /> EntryNewScreen( Screen_ID , Exit_Func , Entry_Func , NULL );<br /> guiBuffer = GetCurrGuiBuffer( SCR_ID_WORD
2010-12-23 13:24:00 428
转载 CustomList模板的制作过程及使用方法
<br /><br />本文详细说明了如何建设一个自定义列表窗体模板。原理部分请参见《MTK平台(1)——如何添加一个窗体模板》。<br />最终实现的是一个字典输入界面。布局为:<br /><br />该模板不包含业务逻辑,仅提供页面显示和InputBox框输入事件后的ListBox的Redraw事件的注册,以及基本的输入法设置、清空后的返回函数。<br /> <br />一、添加用户自定义列表模板的过程<br />(一)在g_categories_controls_map[]中加入:<br />,{MM
2010-12-23 12:26:00 789
转载 如何添加一个窗体模板
<br /><br /> <br />http://blog.163.com/lyzaily@126/blog/static/4243883720092126591896/<br /> <br />(一)窗体的重画<br /> <br /> 通过观察可以发现,每个窗体模板都调用这样一个函数:dm_redraw_category_screen()。这个函数便是显示窗体的函数。它内部的实现是这样的:获得该窗体所包含的组件及它们的属性,再根据组件的类型和属性,调用不同的接口,逐一绘制各组件。详细流程如下
2010-12-23 12:15:00 961 1
原创 检测usb的插入弹出 以及光盘的插入弹出
<br />TestDlg.h的代码<br />// TestUSBDlg.h : 头文件//#pragma once// CTestUSBDlg 对话框class CTestUSBDlg : public CDialog{// 构造public: CTestUSBDlg(CWnd* pParent = NULL); // 标准构造函数// 对话框数据 enum { IDD = IDD_TESTUSB_DIALOG }; protected: virtua
2010-12-10 23:43:00 1098
原创 Detecting Media Insertion or Removal
<br />#include <windows.h>#include <dbt.h>#include <strsafe.h>#pragma comment(lib, "user32.lib")void Main_OnDeviceChange (HWND hwnd, WPARAM wParam, LPARAM lParam);char FirstDriveFromMask (ULONG unitmask); //prototype/*-------------------------
2010-12-10 23:40:00 603
原创 Processing a Request to Remove a Device
<br />#include <windows.h>#include <dbt.h>#include <strsafe.h> LPCTSTR FileName; // path to the file or device of interest HANDLE hFile; // handle to the file or device PDEV_BROADCAST_HDR pDBHdr; PDEV_BROADCAST_HANDLE pDBHandle;
2010-12-10 23:01:00 824
转载 检测网线拔出
<br />主机和客户机网口通信,已建立socket连接,当网线拔出的时候,如何检测到?<br />或者说当拔掉电脑上的网线时,如何编程检测到这个情况,高手帮忙,谢谢! 对我有用[0]丢个板砖[0]引用举报管理TOP回复次数:20xianglitian(向立天)等 级:<br />4#1楼 得分:0回复于:2010-11-01 22:42:34可以通过心跳检测机制 对我有用[0]丢个板砖[0]引用举报管理TOP精华推荐:狄仁杰--宦海浮沉,心系民生VisualEleven(Eleven[兔子党组织部长
2010-12-10 20:35:00 4646
转载 三十分钟掌握STL
STL概述STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离确实使得STL变得非常通用。例如,由于STL的sort()函数是完全通用的,你可以用它来操作几乎任何数据集合,包括链表,容器和数组。要点STL算法作为模板函数提供。为了和其他组件相区别,在本书中STL算法以后接一对圆括弧的方式表示,例如sort()。STL另一个重要特性是它不是面向对象的。为了具有足够通用性,STL主要依赖于模板而不是封装,继承和虚函数(多态性)——OOP的三个要素。你在STL中找不
2010-12-09 20:16:00 497
原创 MFC编程参考
<br />MFC编程参考0.文字输出<br />为了能选用不同的字体和大小来输出文本串,须使用作为GDI对象的CFont类。Windows和常用的字处理软件(如Word)、绘图软件(如CorelDraw)等应用软件会提供多种与设备无关的字体,主要是TrueType轮廓字体。1)创建字体函数<br />CFont类是CGDIObject的派生类:CObject → CGDIObject → CFont。只有一个缺省构造函数CFont( ); 必须用下列字体创建成员函数CreateFont[Indirect]
2010-12-08 19:16:00 2212 3
原创 一次只有一个实例能够运行
<br />在 InitInstance 这个函数中加入如下代码<br /> <br /> <br />SECURITY_ATTRIBUTES sa; sa.nLength = sizeof(SECURITY_ATTRIBUTES); sa.lpSecurityDescriptor = NULL;//采用默认安全属性 sa.bInheritHandle = TRUE; HANDLE hMutex = CreateMutex(&sa,FALSE,L"SpiritCat"); if (hMu
2010-12-08 12:31:00 531
原创 系统托盘的编程
<br />首先在dlg.h 中定义<br />#define WM_ICON_NOTIFY WM_USER+10 //托盘的使用<br /> <br />声明一个变量 NOTIFYICONDATA m_nidIconData;<br />afx_msg LRESULT OnTrayIcon(WPARAM wParam,LPARAM lParam); <br /> <br />然后在dlg.cpp 文件中实现<br /> <br />在initialInstance中 加入如下代码<br /> <b
2010-12-08 12:28:00 457
转载 转移焦点到另外一个CButton上
<br /><br />将当前焦点由一个CButton转移到另外一个CButton上,可以使用WM_NEXTDLGCTL消息,可以使用下面代码将焦点移到IDCANCEL标示的Button上 <br />CButton* pButton = (CButton*)GetDlgItem(IDCANCEL);<br />SendMessage/PostMessage(WM_NEXTDLGCTL, (WPARAM)pButton->GetSafeHwnd(), TRUE);
2010-12-08 12:17:00 689
原创 如何让vs 2005显示行号
<br />2010-12-08<br /> <br /> <br />工具---选项---文本编辑器---所有语言 --- 行号 这个复选框打勾 确定即可
2010-12-08 12:16:00 760 1
原创 如何才能让CDialog可以动态改变大小
<br />一般来说 利用wizard自动生成的dialog是不能够用鼠标拖动来更改大小的<br />并且 只有一个关闭按钮 <br /> <br />可以通过如下方法让其可以用鼠标拖动更改大小<br /> <br />调整dialog 属性border 为 reszing<br /> <br />maxmize box 为true<br />minimize box 为 false
2010-12-07 22:39:00 1450
转载 程序模拟键盘事件,向系统发消息
<br />1) 显示桌面: <br /><br /> 很多软件有显示桌面的功能, 并且大家的方法都是遍历窗口, 然后让它们最小化, 其实 win系统给咱们了一个非常方便的WIN键(就是键盘上在CTRL键和ALT键之间的那个带win标志的按键), 利用它, 可以轻松的完成显示桌面的功能. <br /><br /> keybd_event(VK_LWIN, 0, 0 ,0); <br /> keybd_e
2010-12-07 17:46:00 2707 1
转载 MFC编程参考
<br />MFC编程参考0.文字输出<br />为了能选用不同的字体和大小来输出文本串,须使用作为GDI对象的CFont类。Windows和常用的字处理软件(如Word)、绘图软件(如CorelDraw)等应用软件会提供多种与设备无关的字体,主要是TrueType轮廓字体。1)创建字体函数<br />CFont类是CGDIObject的派生类:CObject → CGDIObject → CFont。只有一个缺省构造函数CFont( ); 必须用下列字体创建成员函数CreateFont[Indirect]
2010-12-03 21:30:00 1622
指针经验总结(与数组的区别)
2011-02-28
makefile详解
2011-02-24
android 九宫格数独游戏
2011-01-18
android 连连看
2011-01-18
android 资源管理器
2011-01-18
短信PDU编码解码类
2008-10-05
Linux内核情景分析.part3.rar
2008-08-24
Linux内核情景分析.part2.rar
2008-08-24
Linux内核情景分析.part1.rar
2008-08-24
ktorrent
2008-08-24
multiget
2008-08-24
Discuz
2008-08-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人