自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (38)
  • 收藏
  • 关注

原创 MTK修改默认输入法

<br />27:修改editor默认输入法的时候,在Nvram_cust_pack.c中数组<br />kal_uint8 const NVRAM_CACHE_SHORT_DEFAULT[NVRAM_CACHE_SIZE]=<br />{<br />}<br />中修改<br />0x0E, 0x00, /* NVRAM_SETTING_PREFER_INPUT_METHOD, */<br />记住此时还需修改<br />0x0E, 0x00, /* RESTORE

2010-06-24 19:56:00 1763

原创 Total Commander之添加两边同时进行文件夹切换操作的按钮

<br />Total Commander最方便之处在于两列文件管理视窗,这样复制备份文件就很方便,但有的时候想人工查看两个具有相同目录结构的文件夹时,比如和FTP上的文件夹对比。如果先切换左边的目录,再切换右边的目录,文件夹多了就很繁琐,很麻烦。<br />可以这样做,先在工具栏新建一个按钮,然后选择按钮的“命令”为“cm_SyncChangeDir”,描述为“两边窗口同步移到上层文件夹”,序号"2600"。<br /><br /><br />添加好这个按钮以后,再碰到这种需要,只需要点中,然

2010-06-21 20:28:00 1995

原创 MTK6225中日历农历问题

<br /> MTK中日历的农历在阳历达闰年的下一年而阴历还在闰年(如2009.1.1~2009.1.25)会有错前一天的问题,MTK的农历计算函数存在一点问题。<br />#4415:<br />此处的AccumulateDay应为前一年的1月1日到现在经过的天数,而LeapDay是按今年是否闰年来算的,若前1年为闰年,则AccumulateDay就会少1天,后面计算出的LunarDay就会小1天,导致农历的日向前错1天,如2009年的春节就没有三十了。<br /><br /><br /> MTK

2010-06-13 17:33:00 890

原创 MTK 图片资源的修改与替换

<br />MTK的图片修改比较简单,图片文件一般都放在plutommi/Customer/Images文件夹下,在该文件夹下,图片又分为两类,一类是放在压缩包里,一类是放在该目录下的文件夹里不压缩的文件。比如Default.bmp和EmptyImage.bmp,就直接放在该文件夹下,有一些SP为了修改方便,也会直接放在文件夹里,而不放在压缩包里,以和MTK系统图片相区分。但这两种文件,在使用上完全一样,调用时一般都是通过ID(gdi_image_draw_id)或者图片路径使用(gdi_ima

2010-06-12 14:37:00 877

原创 mtk将图片转成C代码

我们转的话一般不采取MCT工具转,因为这工具需要整套的图片~单张比较的麻烦~~~PNG的转出来可能有问题~~所以我们采用如下的方式转换: 所有的图片资源,当你 Resgen 后,都会转换成 C  代码存在Custimgdatahw.h 里面,比如主菜单的“通话记录”(calllog)在里面的数组名就是:__MAINLCD__MAINMENU__MATRIX__MM_CALLHISTORY_PNG,所以,我们可以把需要改的图片替代主菜单的通话记录的图片(格式不一定一致),然后压缩打包,re

2010-06-12 10:38:00 1373

原创 MTK的一些问题的处理方法

1.如何修改默认蓝牙设定名称?BTMMICm.c里面,修改 MMI_BT_DEF_HOST_BT_NAME 的值即可如何修改sensor的防闪烁频率?2.如何在pc上隐藏手机盘符,而只显示存储卡盘符?1、0812, #define PARTITION_SECTORS 02、0836, #define NOR_FAT_PARTITION_SECTORS 0或者采用另外一种方式:custom_usb_ms_init 中注释掉以下句子:USB_M

2010-06-09 15:51:00 1788

原创 MTK note

<br />LCD移植<br />static const s_lcd_probe gLcdProbe[] = {<br />...<br />    {"ILI9328", LCD_IsILI9328, &LCD_func_ILI9328},  <br />    {"LP4948", NULL, &LCD_func_LP4948},<br />}<br /> <br />原来{"LP4948", NULL, &LCD_func_LP4948},放在{"ILI9328", LC

2010-06-09 15:47:00 2455 1

原创 反其道而用之,从数组到资源

<br />前一段时间我曾经写了一篇文章介绍如何编写程序把铃声资源转为数组,其实也可以把转换后的数组再还原成资源以供验证或者做其他用途。几天前有朋友向我索取MID铃声资源,我给了他转化后的资源数组,原本以为他是直接在程序中使用的,但他却似乎不喜欢这种格式,希望我能直接给他铃声,他大概要放到T卡上试听,恰好我也没有原始的音源。后来想了想,其实也是很简单的,只需要一个读写文件的函数,把数组内容写入文件,修改一下扩展名,就变成我们需要的音源了。代码太简单,和朋友们共同学习,希望大伙不要扔砖头。<br

2010-06-09 15:30:00 496

原创 MTK的铃声修改与替换

<br />MTK的资源一直深受研发人诟病,几乎成为初入手MTK人的挥之不去的痛楚,主要是因为缺乏相关的专业管理工具。虽然有一些公司自己开发一些图片了,字串,菜单了管理工具,但都由于各种各样的条件限制,没有流通开来。比如菜单,明明已经加好了,就是显示不出来,明明个数已经算对了,仍然显示错乱,即使是一个训练有素的老鸟,拿到一份别的公司的代码,不仔细研究一下随便添加菜单,十分八九也会出错。所幸后来MTK添加了新的菜单函数,为我们许多人节省了数菜单个数的时间。再比如图片,既有放在压缩包里的,也有放在压

2010-06-09 15:07:00 535

原创 MTK的一些笔记【转】

http://blog.csdn.net/feelinghappy/archive/2010/02/22/5317539.aspx<br /><br />MMICheckDiskDisplay            开机点亮背光<br />PEN_CHECK_BOUND              检查触笔位置是否在控制区域<br />wgui_general_pen_down_hdlr   触屏事件<br />setup_dialing_keypad  拨号界面 <br />gui_dialin

2010-06-09 14:44:00 990

原创 手机铃声介绍

<br /><!-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;}

2010-06-08 15:53:00 1616

原创 MTK VC模拟器使用技巧

<br />前篇文章介绍了手机调试的TRACE技巧,MTK手机调试是比较简单的,除了打TRACE,找ASSERT,分析DUMP外,剩下的就是经验了,有经验的人看到现象就能猜到问题出在什么地方,简单看一下TRACE只是为了确认自己的猜测.初涉此道的朋友往往需要时间,慢慢积累经验.要达到熟练,就需要有空的时候多读多研究代码.熟练的掌握了代码,解决问题就会熟能生巧.<br />MTK的模拟器调试说没技巧也是对的,说有技巧也不错.因为模拟器的技术与其说是MTK经验,不如说是VC经验.<br />

2010-06-01 20:44:00 1648 1

原创 catcher使用指南

<br />一、抓主机的LOG:<br />1、        插入程序下载线到你的电脑里;<br />2、        点击“Catcher”的小人图标,打开此软件;<br />3、        点击"Config"--->"Set database path",点击“…”,选择你要的数据库文件,如果你要抓主机的LOG则选择主机的DATABASE文件;<br />4、        点击“Control”---"Mode"---"logging";<br />5、       

2010-06-01 20:28:00 2506

原创 MTK Idle界面显示日期时间流程

<br />首先还是在idleapp.c文件中:<br />EntryIdleScreen->mmi_idle_entry_idle_screen:其中IdleRefreshServiceIndicationArea就是上一文章主要讨论的关于获取运营商信息的地方,<br />我们继续想下看,到 ShowCategory33Screen(IDLE_SCREEN_LSK_TEXT,IDLE_SCREEN_LSK_ICON, idleLRStringtID, IDLE_SCREEN_RSK

2010-06-01 14:18:00 2558 3

NitroBake2动力学转换关键帧C4D插件V2.07版下载

NitroBake2动力学转换关键帧C4D插件V2.07版下载

2022-10-27

程序员面试宝典 PDF电子书 高清版

程序员面试宝典 PDF电子书 高清版

2012-01-31

凯立德最新2012电子眼文件(高清版) 红绿灯 测速 预警

凯立德最新2012电子眼文件(高清版) 红绿灯 测速 预警

2012-01-28

极速FLV合并器 亲测好用的FLV合并工具软件

极速FLV 合并器 亲测好用 FLV合并工具 软件

2012-01-03

300多条MTK工作笔记为你的工作节省一半时间.pdf

300多条MTK工作笔记为你的工作节省一半时间.pdf

2011-11-29

RAMDISK 4G, 详细教程版。不会的请来看

RAMDISK 4G 内存 详细教程版 RAMDISK 4G 内存 详细教程版

2011-11-28

最好的自动整理内存的小软件 很实用

最好的自动整理内存的小软件 很实用最好的自动整理内存的小软件 很实用

2011-08-11

MTK_MMI函数手册

MTK_MMI函数手册 MTK MMI 函数 宝典 说明书 API

2010-06-03

QQ号码分析工具2.1.1 整理qq号的工具

QQ号码分析工具2.1.1 整理qq号的工具

2009-05-30

深入BREW开发.rar 深入BREW开发.doc 深入BREW开发.pdf

深入BREW开发.rar 深入BREW开发.doc 深入BREW开发.pdf

2009-05-16

VMware-workstation-6.5汉化补丁VMware6.5汉化补丁 VMware6.5中文 VMware6.5简体中文

VMware-workstation-6.5汉化补丁VMware6.5汉化补丁 VMware6.5中文 VMware6.5简体中文

2009-04-04

金山词霸2009牛津版激活程序(支持sp2更新-内附属使用说明)

金山词霸2009牛津版激活程序(支持sp2更新-内附属使用说明)

2009-04-03

百度笔试题 百度 笔试题

百度笔试题 百度 笔试题 百度 笔试题

2008-10-27

计算机网络(第4版)中文版PDF完美版part1(All 4 Parts)

清华大学出版社 / 2004-8-1 / (美)特南鲍姆(Tanenbaum,A.S.)著,潘爱民 译 / 60 元 ISBN:7302089773

2008-09-13

计算机网络(第4版)中文版PDF完美版part2(All 4 Parts)

清华大学出版社 / 2004-8-1 / (美)特南鲍姆(Tanenbaum,A.S.)著,潘爱民 译 / 60 元 ISBN:7302089773

2008-09-13

计算机网络(第4版)中文版PDF完美版part3(All 4 Parts)

清华大学出版社 / 2004-8-1 / (美)特南鲍姆(Tanenbaum,A.S.)著,潘爱民 译 / 60 元 ISBN:7302089773

2008-09-13

计算机网络(第4版)中文版PDF完美版part4(All 4 Parts)

清华大学出版社 / 2004-8-1 / (美)特南鲍姆(Tanenbaum,A.S.)著,潘爱民 译 / 60 元 ISBN:7302089773

2008-09-13

PDG转PDF万能工具

PDG转PDF万能工具 PDG转PDF万能工具 PDG转PDF万能工具

2008-09-13

C++之父Bjarne Stroustrup 的C++ Style and Technique FAQ

C++之父Bjarne Stroustrup 的C++ Style and Technique FAQ

2008-07-06

西北工业大学C++全套课件

西北工业大学 C++ 全套课件西北工业大学c++全套课件,绝对好的课件

2008-04-21

BCGControlBar.专业版.v9.4.Full.Source 完整版Part1

BCGControlBar.专业版.v9.4.Full.Source 完整版Part1

2008-03-29

BCGControlBar.专业版.v9.4.Full.Source 完整版Part2

BCGControlBar.专业版.v9.4.Full.Source 完整版Part2

2008-03-29

Mycolor 我的取色器2007 很强大的取色软件

Mycolor 我的取色器2007 很强大的取色软件

2008-03-29

200个XP系统图标 很好很强大

200个XP系统图标 很好很强大

2008-03-29

很好的FileDialog控件 类似IE的选项对话框以及超链接类源码

很好的FileDialog控件 类似IE的选项对话框以及超链接类源码

2008-03-29

VC6.0透明背景的对话框示例代码

VC6.0 透明背景 对话框 示例代码

2008-03-29

last_order fantastic_dream Slicer系列精美图标下载

last_order fantastic_dream Slicer 系列 精美图标

2008-03-29

Adobe奥多比注册机全集 35合1 史上最强大

Adobe 奥多比 注册机全集 35合1 史上最强大

2008-03-14

北京大学信息学院数理逻辑经典教程

北京大学信息学院数理逻辑经典教程 共333页教程 计算机逻辑的经典教材

2008-01-02

利用多线程在程序繁忙时显示进度条源代码

利用多线程在程序繁忙时显示进度条源代码 很好的了解学习多线程的源代码

2008-01-01

MFC多线程编程源代码和说明文档(二)

MFC多线程编程源代码和说明文档(二)

2008-01-01

MFC多线程编程源代码和说明文档

MFC多线程编程源代码和说明文档

2008-01-01

ubuntu实用教程

ubuntu实用教程<br>

2007-12-30

在单文档程序中动态切换多个窗体的源码程序

摘要:本文通过一个程序实例描述了在VC++6.0下如何在单文档程序中通过菜单动态控制多 个窗体的切换。    一、 引言    我们在编制程序中根据需求的不同会在程序风格上选择多文档、单文档或是对话框模式 ,对于单文档模式可能是我们使用比较多的,但有时我们想采用单文档的形式显示多个不同 的窗体,如作为数据库前台应用程序就会遇到此类问题,数据库由大量的表单组成,而同常 一个窗体内只用来显示一个表单,所以要显示其他的表单时就要用到切换窗体的技术了,下 面就通过一个程序说明该技术的实现方法。    二、 实现技术    新建一个基于CFormView的单文档应用程序,再添加一个窗体和与之对应的基于 CFormView的新视类,然后通过在主框架类里添加控制代码和菜单控制实现这两个窗体的动态 切换,下面就是具体的实现过程:    (一) 用"MFC AppWizard(exe)"建立一个新项目"SwitchForm",并在第二步的创建类型上选 择为"Single documnet"单文档模式,第三、四、五、六步均取确省状态,最后一步选择 "CFormView"作为视类的基类。点按"完成"按钮,生成了初始工程"SwitchForm"。    (二) 点选菜单"Insert"、"Resource…",在弹出的"Insert Resource"对话框中"Dialog"树 里的"IDD_FORMVIEW",点击"New"按钮,生成了一个新的窗体,将其ID号改为"IDD_NEXTFORM"。 在原有的窗体上加一个静态框"这是第一个窗体";在新建的窗体上也添加一个静态框"这是第二 个窗体"。    (三) 在菜单资源的"IDR_MAINFRAME"上添加一级菜单"窗体切换",及其二级菜单"第一个窗 体"、"第二个窗体",其标识号分别为"ID_FIRSTFORM"和"ID_SECONDFORM"。修该"第一个窗体" 的属性为"Checked",表明程序初始时显示的是第一个窗体。    (四) 在"ClassView"属性页里的"SwitchForm classes"上右键,在弹出菜单上选择 "New Class…",弹出"New Class"对话框,选择"Dialog ID:"为我们刚添加的新窗体 "IDD_NEXTFORM",选择"Base class:"为"CFormView",类名取为"CNextFormView",这样就把第 二个窗体对应的视图类添加到了工程。 (五) 在框架类里添加函数SwitchToForm(): void CMainFrame::SwitchToForm(int nForm) { file://获取原来的活动窗体的视图句柄 CView* pOldActiveView = GetActiveView(); file://获取由"nForm"标识的窗体所对应的视图句柄 CView* pNewActiveView = (CView*) GetDlgItem(nForm); file://若视图句柄为空,则创建一新的。 if (pNewActiveView == NULL) { if (nForm == IDD_SW99vCHFORM_FORM) pNewActiveView = (CView*)new CSwitchFormView; if (nForm == IDD_NEXTFORM) pNewActiveView = (CView*)new CNextFormView; CCreateContext context; context.m_pCurrentDoc = pOldActiveView->GetDocument(); pNewActiveView->Create(NULL,NULL,0L, CFrameWnd::rectDefault, this,nForm,&context); pNewActiveView->OnInitialUpdate(); } file://选择pNewActiveView为活动窗体 SetActiveView(pNewActiveView); file://显示活动窗体,隐藏非活动窗体 pNewActiveView->ShowWindow(SW_SHOW); pOldActiveView->ShowWindow(SW_HIDE); int ID; if(pOldActiveView->GetRuntimeClass() == RUNTIME_CLASS(CSwitchFormView)) ID=IDD_SW99vCHFORM_FORM; if(pOldActiveView->GetRuntimeClass() == RUNTIME_CLASS(CNextFormView)) ID=IDD_NEXTFORM; file://设置窗体的ID号 pOldActiveView->SetDlgCtrlID(ID); pNewActiveView->SetDlgCtrlID(AFX_IDW_PANE_FIRST); RecalcLayout(); }    (六)添加两个菜单相对应的命令响应函数和更新函数如下: void CMainFrame::OnFirstform() { file://通过IsKindOf函数确定当前活动窗口是否是第一个窗口,如是,则无须切换, file://否则将通过SwitchToForm函数将当前活动窗口切换到"IDD_SW99vCHFORM_FORM" file://标识的第二个窗体。 if (GetActiveView()->IsKindOf(RUNTIME_CLASS(CSwitchFormView))) return; SwitchToForm(IDD_SW99vCHFORM_FORM); } void CMainFrame::OnUpdateFirstform(CCmdUI* pCmdUI) { file://通过IsKindOf函数判断当前活动窗口是否是第一个窗体,如是则将其选中。 pCmdUI->SetCheck(GetActiveView()->IsKindOf(RUNTIME_CLASS(CSwitchFormView))); } void CMainFrame::OnSecondform() { if (GetActiveView()->IsKindOf(RUNTIME_CLASS(CNextFormView))) return; SwitchToForm(IDD_NEXTFORM); } void CMainFrame::OnUpdateSecondform(CCmdUI* pCmdUI) { pCmdUI->SetCheck(GetActiveView()->IsKindOf(RUNTIME_CLASS(CNextFormView))); }    然后再在该文件开始处添加对两个视图类的引用: #include "SwitchFormDoc.h" #include "SwitchFormView.h" #include "NextFormView.h"    在此须注意:应在两个视类的引用之前添加对文档类的引用,否则会引起编译错误。另外,由于视 类的构造函数在声明时都确省的声明为保护型的,在框架类中无法引用,所以还要将两个视类的类 声明改动如下: class CNextFormView : public CFormView { public: file://将protected 改为public. CNextFormView(); …… }; class CSwitchFormView : public CFormView { public: file://将protected 改为public. CSwitchFormView(); …… };    三、 编译运行    编译运行程序,开始时的窗体上有"这是第一个窗体的字样",菜单也只有"第一个窗体"是被选中的, 当前的活动窗体是第一个窗体;点击菜单"第二个窗体",视图中的窗体上的字样变成了"这是第二 个 窗体",同时选中的菜单也由"第一个窗体"变成了"第二个窗体",实现了通过菜单将窗体进行动态切换。    总结:此程序中关键的是SwitchToView函数,在此函数中,程序搜索所有当前文档的显示窗口来查找与CruntimeClass变量匹配的视图类。如果找到,该窗口被激活。通过与之类似的方法,还可以实现在多文档模式下的单档(文档)多视(视图),通过不同的视图以不同的方式显示来自同一份文档的数据,以更好的满足程序的需要。

2007-12-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除