自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 richedit富文本控件开发思路与编码设计

限于一直使用微软的richedit控件很多东西有问题都摸不着头脑,而工程使用中其实需要用到的并不高级需求也不高,需求就是快速简单的实现一个图文并茂的富文本显示工具;为此,我开始尝试设计一个简单易用的富文本显示和编辑工具,现在初步核心框架已经完成,为此分享给各位我的设计思路,欢迎拍砖~.~。源代码在文章的结束处可下载。首先,我们开始思考富文本控件特点:多行、图文并茂、样式自定义、光标命中、可拷贝

2012-04-11 15:38:04 3283 4

原创 Android ListView长按事件弹出菜单并获取选中的item

看了很多listview的长按事件,但几乎都是只给出弹出菜单的代码,没有给出选中的某个项的代码,我贴个全的吧,免得摸索麻烦思路就是listview在父窗口先注册一个长按弹出菜单registerReceiver=》设置一个长按的listener,保存好选中item数据=》onCreateContextMenu添加菜单=》onContextItemSelected菜单响应处理;就这么简单。

2012-10-12 10:17:19 10350 4

原创 richeidt 控件開發(八)

經過一段時間的開發,現在這個控件開始成型,現在已經包含了基本的拷貝黏貼,垂直滾動功能,link支持,obj支持;也就是到此步驟的時候整體的框架已經完工,而下一步將進行的是整體功能補全和性能優化。目前需要改進的總體有以下兩點:(一)內存洩露修正(當時為了快速搞,使用了一個效率比較高的容器類,稍微修改一下就可以達到刪除內存自動釋放);(二)滾動條添加;(三)獲取字體長寬優化;總體來說會有以

2012-04-10 15:25:40 689

原创 richeidt 控件開發(七)

開始有點小成果啦,上圖來個猛一點的   目前差下面這兩步啦。。。。第五,文件內容的拷貝,黏貼;第六,大規模數據插入與測試

2012-03-23 16:15:02 544

原创 richeidt 控件開發(六)

由於一週有其他事情做,進過一週的調試,完成obj對象的插入和顯示,光標命中和選中;目前遇到一個問題,就是繪畫,對於windows內核繪畫原理還不是很熟,有點小問題,放到後面研究

2012-03-07 16:56:14 534

转载 關於雙緩衝繪畫

在图形图象处理编程过程中,双缓冲是一种基本的技术。我们知道,如果窗体在响应WM_PAINT消息的时候要进行复杂的图形处理,那么窗体在重绘时由于过频的刷新而引起闪烁现象。解决这一问题的有效方法就是双缓冲技术。因为窗体在刷新时,总要有一个擦除原来图象的过程OnEraseBkgnd,它利用背景色填充窗体绘图区,然后在调用新的绘图代码进行重绘,这样一擦一写造成了图象颜色的反差。当WM_PAINT的响应很频

2012-03-05 13:29:11 440

原创 richeidt 控件開發(五)

寫了那麼久的邏輯,今天開始逐個build啦,所幸build不是遇到很多困難;不夠得出一個經驗就是build只是有邏輯的代碼的時候最好是一個一個cpp先build到通過以後,再來一次完整的build。把窗口的註冊創建都搞完以後,開始測試性的把代碼搞進去,頭大大D,準備啃掉基本的邏輯錯誤。初步調通插入邏輯,基本的繪畫邏輯貌似木有問題鳥~~

2012-02-21 16:06:57 489

原创 richeidt 控件開發(四)

經過一個星期的編寫,首先把一個基本的document操作的相關和對象定義和函數邏輯(僅僅編寫思路,build不過)的全部搞定,其中document包含stylemanager,一個linemanager,還有一個document details,基本數據存儲的data(我們使用'%'作為對象的佔位符標識);下一步進入繪畫和消息處理基本邏輯,paint步驟,消息處理步驟(基本思路邏輯

2012-02-17 10:06:59 455

原创 richeidt 控件開發(三)

著手開始開發,前期劃分為以下幾個基本步驟:第一,基本的對象屬性定制,基本函數的簡單定制;第二,基本的字符插入和刪除操作;第三,字符基本繪畫和光標命中,選擇背景;第四,圖片的插入與刪除,圖片的繪畫;第五,文件內容的拷貝,黏貼;第六,大規模數據插入與測試;迫切希望得到各路豪俠批評指正。。。

2012-02-14 14:05:01 457

原创 richeidt 控件開發(二)

两个月的时间开发个richedit还是挺有挑战的,其实开发一个基本能用的还是可以的,但是要开发一个高效的还是比较有挑战。开始构想整体思路,借鉴别人的的建议就是基于一行一行的绘画,那么从这个思路入手,整篇文档即是被分为N行,每一行里面有具体的内容,如果读到'\n'那么直接新建一行,否则自动换行,每一行可划分为若干个子段,每一个字段对应一个高度height和一个宽度width或者字符数charCo

2012-02-09 23:58:35 827 1

原创 richeidt 控件開發(一)

這兩天接到一個開發類似richedit控件的任務,兩個月時間,突然想想好好在這兩個月時間學習一下,並把開發這個控件過程中遇到的困難寫下來,以供以後回頭看看這段路是怎麼走過來的,嘻嘻。。。首先,開始動手之前思考了一下思路,這個控件可以分為,消息處理部分、文檔控制部分、繪畫部分;其中文檔控制部分是關鍵,如何有一個快速繪製可見部分文檔?初步思路是每一個相同格式的片段是一個obj,圖片

2012-02-09 13:27:13 436

原创 关于一个换肤系统的设计解决方案(一)

好久没有写过文章了,这篇文章分享的是设计一个基于原有UI绘画架构的换肤系统,当然,这里做的仅仅是一个解决方案设计和实现,深入的绘画用的是已有的东西(当然着色和色相变换是我添加的(*^__^*) );       这套东西我叫theme系统,这个系统可以分为一个主控制体和三个辅助控制部分;主控制为一SkinLoader类:所有相关到skin的图片和颜色值还有字体都需要通过这个类加载这是一个统

2011-10-24 23:48:05 1624

原创 關於解決sqlite中加密設計方案缺陷問題

最近在做sqlite存儲數據庫,但是後臺總是會出現一些離奇的崩潰,但又為數不多,查了好久,定位到使用加密以後才會崩潰;調試中發現問題出現在pagesize出錯後出現的page指向地址有問題,原來sqlite3BtreeOpen的時候取出了file的文件頭,但是這部分是加密過後的數據,因此在此時取出的pagesize是不可預料的,但此時數據庫未有key的存在,考慮到如果更改sqlite的加密機制的話

2011-10-24 13:24:53 1196 4

原创 關於 ATL COM 開發中遇到的"ATL COM automation 服务器不能创建对象"問題

對微軟相當無語,自己搞了個插件框架,搞得想寫個通用的plugin蛋疼死,杯具啊,今天這個問題搞了我整整一天,網上幾乎沒相關提示,結果就是MS所謂的安全問題:要讓你的控件是安全的。。。#include #include HRESULT CreateComponentC

2011-08-10 19:00:28 726

原创 關於firefox無法識別插件

蛋疼的FF讓我找了好久,語言也是ENUS的了,裏面提示都是跟進步驟做的,NND就是識別不了,最後偶然發現所有FF插件的前綴都是NP,直接修改dll前綴為NP,竟然可以了,FF這XX啊,這麼折磨人,我崩潰。。。。

2011-08-09 10:12:55 731

原创 关于VS图形化控件使用

<br /><br />hwnd = ::GetDlgItem(m_hWnd, IDC_RICHEDIT_MSGINPUT);<br />m_richeditMsgInput.Attach(hwnd);<br />使用这种方式创建窗体的时候在修改Windowlong的时候发现是无效的,不知道是什么原因。<br />不依赖VS自动生成的窗体,采用Create方法自己创建一个窗体对其GWL_STYLE修改就成功了,估计是它们两个的数据结构都不同导致的

2010-10-17 14:07:00 922

转载 钩子的原理和基本使用方法

钩子的基本原理  钩子的本质是一段用以处理系统消息的程序,通过系统调用,将其挂入到系统。钩子的种类有很多,每一种钩子负责截获并处理相应的消息。钩子机制允许应用程序截获并处理发往指定窗口的消息或特定事件,其监视的窗口即可以是本进程内的也可以是由其他进程所创建的。在特定的消息发出,并在到达目的窗口之前,钩子程序先行截获此消息并得到对其的控制权。此时在钩子函数中就可以对截获的消息进行各种修改处理,甚至强

2010-05-12 09:42:00 1344

转载 系统菜单使用

将变灰的菜单项激活,其实现方法是通过调用 CMenu::EnableMenuItem函数来实现,该函数用法如下:UINT EnableMenuItem(UINT nIDEnableItem,UINT nEnable);其中参数“nIDEnableItem”为菜单项的ID号,用于指定被操作的菜单项;参数“nEnable”为动作参数,用于说明要对被指定的菜单进行何种操作,其取值为MF_DISABL

2010-05-11 10:07:00 587

转载 fatal error LNK1169: 找到一个或多个多重定义的符号

fatal error LNK1169: 找到一个或多个多重定义的符号申明全局变量,全局函数一定要在cpp中申明其他类引用该全局变量就include该cpp的h文件然后extern一下就好了否则容易出现该重复定义错误这个"容易"是如何解释的呢?例如A.h中如果申明了全局变量int Global;在B.h中include "A.h"             

2010-04-22 10:32:00 4311 1

转载 IDispatch 接口方法的调用

IDispatch 接口方法的调用    在COM开发中免不了要使用 IDispatch 接口,这个接口在脚本中对应的就是 Object 对象(哪个脚本? 当然是可以使用COM的脚本了,VBS,JS,VB.NET,C#总之很多了),经常在调用一个对象的方法或者使用他的属性的时候最容易的方法就是确切的得到这个对象的接口,这样调用起来方便多了,效率也好. 但是天不遂人愿啊,经常有些情况下不方便

2010-04-13 10:02:00 2520

转载 (转)各种数据库的连接串(总结DSN的使用方法)

1.Oracle     标准连接(Standard Security):     "Provider=msdaora;Data Source=MyOracleDB;User Id=UserName;Password=asdasd;"      这是Microsoft的格式, 下面是Oracle的格式(提供者不同)     "Provider=OraOLEDB.Oracle;Data Source

2010-04-02 10:28:00 1465

原创 WinProc窗口过程定义函数解析-【学习札记】

LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)WndProc是窗口过程的名称,可以自由定义,不过为了便于理解可以按照默认定义,这四个参数与消息的前四个域是相同的hwnd:标识哪个窗口句柄需要调用窗口过程message:标识hwnd窗口要处理的消息wParam:一个32位的消息参

2010-01-21 09:35:00 3822

转载 GetSystemMetrics全解-【学习札记】

GetSystemMetrics原文地址:http://baike.baidu.com/view/1033713.htm?fr=ala0_1  GetSystemMetrics ()  用于得到被定义的系统数据或者系统配置信息.  语法:  int WINAPI GetSystemMetrics( __in int nIndex);   下面是GetSystemMetrics函数参数nIn

2010-01-21 09:09:00 3903 1

原创 Windows在各种情况下的响应的消息(大集合)-【学习札记】

参考地址:http://msdn.microsoft.com/en-us/library/dd469354(VS.85).aspx//WinUser.h/* * Window Messages */#define WM_NULL 0x0000#define WM_CREATE 0

2010-01-20 11:30:00 967

转载 WINDING 和 ALTERNATE模式的区别【学习札记】

内容来自:http://blog.myspace.cn/e/400893301.htm和http://zhukai-coding.blog.sohu.com/88627236.html1.在ALTERANATE模式下:从左到右水平扫描!~~系统只填充每个扫描行的多边行的奇数边到偶数边的部分,不填充偶数边到奇数边的部分; 什么是水平扫描: 就是显示器上的从左到右一行一行的水平扫描,假如你

2010-01-20 10:59:00 1707 1

转载 关于编程的理解-【学习札记】

很多初学者往往会将Windows编程和VC++混为一谈。打开VC++的新建项目,可以看到VC++支持很多种工程。包括命令行的,MFC的,还有就是Win32 Application,即SDK程序。使用VC++未必是编写SDK程序,编写SDK程序也未必要用VC++。 编写Windows程序的方法也不止SDK一种,还包括使用类库如MFC,OWL,使用快速开发工具如VB,Delphi。这些方法各有各的用处

2010-01-19 10:27:00 499

原创 一种内存非法访问【C++警示录一】

 char s[200]; char strdeal[200]; char area[10]; char name[100]; int i=0; ifstream ifs("C://Documents and Settings//Administrator//桌面//work//处理样本//产业园区.txt",ios_base::binary); ofstream ofs("C://Documen

2009-12-24 17:25:00 1961

原创 C#操作EXCEL全解(代码)

提示:运行之前必须先引用Interop.Excel.dll模块  using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.OleDb;using System.Windows.Forms;using System.Reflection;usin

2009-12-13 17:50:00 829

原创 使用SQL语句进行数据库恢复时数据库已被占用的解决方法

    有时候我们在操作数据库的时候会提示当前有一个或多个进程在使用数据库,访问被拒绝,这时我们就需要查看服务器中那些访问我们需要操作的数据库的进程,然后把它们全部都结束掉(除了本访问进程外),这些进程都是会被存在公共数据库master数据库的sysprocesses表中,所以我们必须先把他们给拿出来然后一个一个结束掉.///其中db_name是你所要操作的数据库            S

2009-09-27 12:20:00 1944

原创 IBM——一个庞大的系统

今天公司跟IBM合作开技术交流会,之前一直都是很佩服IBM,因为它给我的感觉就是一个词形容:庞大。终于有这么好的机会去听IBM技术专家讨论实在太幸福了,^_^ 会议9:30分就开始了,偷偷在后门随便找个位置坐了下来(忘了带笔记本,后悔中。。。),刘经理此时正在讲企业级解决方案的三层深度:第一层:面向业务咨询发展战略方向;第二层:面向整体的IT设计战略方向;第三层:面向IT运维方向。 其中谈到三

2009-09-10 12:47:00 588

原创 百度之星2009第二场第一题(附个人写的一个程序,测试得91分)

1.Sorry,打错了(250分)题目描述龙先生是一位著名的记者,平时最喜欢报道一些鲜为人知的故事。最近,由于听说索马里海盗猖獗,他打算实地探访,做一个深入的调查。龙先生联系了索马里当地的一些朋友,做了周密的计划——坐船从三亚出发,越过南海,趟过印度洋,最后到达索马里海域的亚丁湾。可就在船离海岸仅10公里时,突然一伙海盗突袭客船,所有人都被劫持到了索马里城内。在人质被运送到“

2009-08-19 22:01:00 687 1

原创 表达式求值(栈实现)

 第一次接触数据结构的时候写的,刚开始懵懵懂懂,写得乱七八糟,不过还是写出来了,以下是源代码 //zhan1.cpp#include#include#include#include"zhan1.h"void main(){ printf("            -----------栈的功能演示:-----------------08/12/5/n"); char m[10]={a

2009-08-18 22:23:00 674

原创 Dijkstra算法的实现

 关于这个算法思想我就不多说啦,百度百科讲得很清楚啦,下面是我自己写过的源代码供大家参考参考,不足之处望多多指教: //main.h#include #include "Dijkstra.h"int main(){ int  Graph_list_search[max][max]={{0,3,2,5,9999,9999},  {9999,0,9999,2,9999,9999}, {9999

2009-08-18 22:16:00 504

原创 二叉树的定义-创建-遍历三步走

这是算法实验的一个小实验,自己实现了一遍,代码如下://main.cpp#include #include #include "create_binary_tree.h"#include "hander_define.h"#include "partition.h"#include "quicksort.h"int main(){ Tree* t[max];// t=(_B_T *)mal

2009-08-18 21:44:00 589

原创 这几天整理了一些,忽然发现之前写过了一些程序,一直放在电脑里

我将陆续发表我写过的一些程序供大家一起学习,一起进步,不足之处望多多指教 如果你觉得还行欢迎转载,不过希望你能注明文章的出处,谢谢!

2009-08-18 21:23:00 460

原创 使控件产生透明背景(不同于MSDN的方法)

今天搞了一天终于搞定是这样的,我写了一个自定义的控件然后设置为背景透明,然后用Control.Add()方法添加到一个已有的控件,2个以内没问题,当超过两个后就会提示创建句柄错误,郁闷到死,怎么搞就是搞不好,MSDN提供的方法如下:定位控件类的构造函数。在构造函数中调用窗体的 SetStyle。Visual Basic复制代码 SetSt

2009-08-17 09:54:00 951

原创 未与SQL建立可信任的连接

产生这个问题有可能是系统本身的防火墙产生了作用了。本人在WinXP下就是出现这种情况,那么处理方法是这样的:控制面板->网络连接->本地连接->右击选择“属性”->高级->设置->进入Windows防火墙->例外->添加端口->输入端口名称和SQL开发端口1433(如:名称:数据库;端口号:1433)->确定产生这个错误的原因是系统的防火墙把SQL的开放端口1433

2009-08-17 09:53:00 743

原创 智能可变大小的控件:一个控件制作的全过程(C#)

第一步:确定这个控件需要用来做什么的,我们想对这个控件进行什么样的操作,这个控件需要什么属性;第二步:明确我们要做的控件之后就要开始进行实质性的技术攻关了,就是你要定义好各种要做的方法,明确这些方法是否是技术可及的;第三步:方法实现阶段,将原先已经解决的技术关键点和应处理的各个小范围处理应用到整个工程;以下我做的一个控件的代码://////此控件达到的功能是可以随意控制控件的大小,所在容器的位置,

2009-08-17 09:44:00 999 2

DES源代码(密码学课程设计)

随着计算机的不断更新换代,计算机网络信息安全要求也不断提升,密码学大量应用于实际生活中,并跟随着实际需要而飞速发展。在密码学体制中,分组对称密码是一个重要的组成部分,它以feitel网络结构理论为基础,采用迭代分组形式,在提高算法的运行速度,改善了密码的实用性的同时,也大大的提高了密码的安全性,对于我们研究密码学以及展望密码学的发展方向有重要意义。 本文主要讨论的是DES算法的研究,包括与其相关的数学理论,结构流程的描述以及在实际应用Visual C ++6.0平台用 C语言实现DES算法。 文中附有源代码

2009-08-18

全国交通查询系统模拟(数据结构课程设计)

全国交通查询系统模拟,数据结构课程设计,包括功能有添加功能,删除功能,查询功能,最小费用,最小短路程 ,功能很齐全

2009-08-18

版本管理器TortoiseSVN-1.6.3

版本管理器TortoiseSVN-1.6.3TortoiseSVN-1.6.3TortoiseSVN-1.6.3TortoiseSVN-1.6.3TortoiseSVN-1.6.3TortoiseSVN-1.6.3TortoiseSVN-1.6.3TortoiseSVN-1.6.3TortoiseSVN-1.6.3TortoiseSVN-1.6.3TortoiseSVN-1.6.3TortoiseSVN-1.6.3TortoiseSVN-1.6.3TortoiseSVN-1.6.3

2009-07-08

空空如也

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

TA关注的人

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