自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

转载 MD5计算

转自:http://www.cnblogs.com/shengshuai/archive/2007/06/02/mfcmd5.htmlMD5算法MFC实现由 rfc1321 中实现的示范代码改写而来/* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. Allrights reserved

2013-07-31 16:45:08 778

转载 Duilib中各个类的简单介绍

来自:http://www.cnblogs.com/xubin0523/archive/2012/06/01/2530901.htmlDirectUI意为直接在父窗口上绘图(Paint on parent dc directly)。即子窗口不以窗口句柄的形式创建(windowless),只是逻辑上的窗口,绘制在父窗口之上。微软的“DirectUI”技术广泛的应用于Windows XP、Vist

2013-07-31 10:31:25 1685 1

转载 DuiLib 源码分析——UIBase

DuiLib源码分析 ——以DuiLib 1.01版为分析目标  ——colin3dmax 分析于2011-6-16 19:44----------------------------------------------------------------------------------分析约定:private o------- 私有的成员变量或方法protect

2013-07-31 10:30:52 1086

转载 DuiLib 源码分析——UIManager

DuiLib源码分析 ——以DuiLib1.01版为分析目标----------------------------------------------------------------------------------分析约定:private o------- 私有的成员变量或方法protect x------- 受保护的成员变量或方法public  +------- 公

2013-07-31 10:29:53 1142

转载 DUILIB源码分析

1 stdAfx.h* lengthof(x) 计算数组长度宏* MAX  两值最大* MIN  两值最小* CLAMP(x,a,b) x在a,b之间则取x否则取最小2 UIBase* UI_WNDSTYLE_ 窗口风格属性* UI_CLASSSTYLE_ 窗口类属性* DUITRACE(LPCTSTR pstrFormat, ...)  功能 - 调试信息

2013-07-31 10:28:33 1802

转载 DUILIB创建菜单窗口

转自:http://blog.163.com/zwei3666@126/blog/static/993128052012101272027399/先发一张效果图。支持多级扩展,支持菜单表头,支持文本居中/左对齐/右对齐三种方式,支持字体颜色设置,支持添加自定义控件,支持基本属性(背景颜色,图片,图标,宽高等)的自定义设置。 漂亮不? 咳~一般般吧~其实DuiLib里已经有个

2013-07-31 10:09:12 3284 1

转载 DUI控件

DirectUI技术开发界面  DirectUI意为直接在父窗口上绘图(Paint on parent dc directly)。即子窗口不以窗口句柄的形式创建(windowless),只是逻辑上的窗口,绘制在父窗口之上。微软的“DirectUI”技术广泛的应用于Windows XP、Vista、Windows 7,如浏览器左侧的TaskPanel,控制面板导航界面,Media Player播

2013-07-30 14:23:43 1663

转载 duilib学习笔记

2012年11月3日 — Asp J 原创文章,转载请注明:转载自Soul Apogee本文链接地址:duilib学习笔记前段时间对皮肤引擎比较感兴趣,于是在VS第一人称快的无法直视的dot大神推荐下,看了一个小巧又好用的皮肤引擎:duilib。1. duilib简介duilib是一个开源的DirectUI界面库,简洁但是功能强大。而且还是BSD的license,所

2013-07-30 14:01:01 1087 1

转载 调试技巧

Visual C++ 的 C 运行时刻函数库标识模板0xCD    已经分配的数据(alloCated Data)0xDD    已经释放的数据(Deleted Data)0xFD    被保护的数据(Fence Data)Visual C++ 的 C 运行时刻函数库内存块类型标识符_NORMAL_BLOCK    由程序直接分配的内存_CLIENT_BLOCK    由程

2013-07-30 10:49:39 647

原创 MySql中的流程函数

if(value,t1,t2),如果value是真,返回t1,否则返回t2。if NULL (value1,value2)。如果value1不为空返回value1,否则返回value2。case when value1 then result else default end 。如果value1为真,返回result,否则default。case expr when value the

2013-07-28 14:46:25 473

原创 MySql支持的运算符

算术运算符:加法+,减法-,乘法*,除法/,DIV,返回商;除法%,MOD返回余数。比较运算符:=:等于;   :NULL安全的等于;  :大于;  >=:大于等于;  between:存在于指定的范围;   in:存在于指定的集合;Is NULL:为NULL;    Is Not NULL:不为NULL; like: 通配符匹配;   REGEXP或RLIKE:正则表达式匹配。

2013-07-28 11:00:51 930

转载 MySql中变量的定义

一、变量的定义 mysql中变量定义用declare来定义一局部变量,该变量的使用范围只能在begin...end 块中使用,变量必须定义在复合语句的开头,并且是在其它语句之前,也可以同时申明多个变量,如果需要,可以使用default赋默认值。定义一个变量语法如下: declare var_name[,...] type[default value]看一个变量定义实例 decl

2013-07-26 11:57:21 982

原创 数据库完整性

完整性约束条件:         实体完整性给出了主键的取值的最低约束条件;规则是:主键的各个属性都不能为空。        参照完整性给出了在关系之间建立正确的联系的约束条件;规则是:外键或者取空值(此时要求外键的各个属性均为空值),或者等于被参照关系中的主键的某个值。        用户自定义完整性:关系数控应用系统中的关系往往还应该满足一些特殊的约束条件;规则:属性(或者属性

2013-07-25 23:15:03 697

转载 Mysql 约束(Constraint)

Mysql 约束(Constraint)约束(Constraint)是Microsoft SQL Server 提供的自动保持数据库完整性的一种方法,定义了可输入表或表的单个列中的数据的限制条件(有关数据完整性的介绍请参见第9 章)。在SQL Server 中有5 种约束:主关键字约束(Primary Key Constraint)、外关键字约束(Foreign Key Constra

2013-07-25 22:12:49 2265 1

转载 windows2008配置自带FTP服务器的被动模式问题及解决方案

问题现象:客户端访问提示超时,看不到文件,但是在命令行下一切正常。 解决方案:1.打开控制面板, 双击windows防火墙, 点击"允许程序通过windows防火墙", 选择"例外"选项卡, "添加程序", 选择"C:/Windows/System32/inetsrv/inetinfo.exe", 根据自己的安装路径的不同, 有所不同, 最后确定即可.              2.打

2013-07-23 11:49:35 1676

原创 FTP客户端

前天老板要求用iStation提取一些用户的本地信息,信息量比较大,用http协议肯定实现不了了。只能在服务器端开一个ftp,然后由iStation实现上传。       我以为这次真的要接触那些冗繁的socket套接字编程了。先Google一下吧,没想到结果很令人惊喜,MFC居然自带了封装Ftp操作的CFtpConnection类,这可省了大事了。这个类封装的的确比较彻底了,如果进行简单

2013-07-19 15:26:10 1667 1

转载 Dui网摘

http://bigasp.com/archives/573

2013-07-15 15:18:11 728

转载 WM_CHAR,WM_KEYDOWN和WM_SYSKEYDOWN

WM_KEYDOWN和WM_CHAR都是键盘消息。TranslateMessage函数已经将按键消息转换成字符消息了,那么WndProc函数中需要对事件进行选择。如:键入“D”键,就应该选择WM_CHAR,因为WM_CHAR 只是字母,不包含特殊字符如Ctrl等。如果键盘键入的是“Ctrl+D”,则应该选择WM_KEYDOWN,因为WM_KEYDOWN既包含字母也包含特殊字符。      

2013-07-15 13:52:23 1927 2

原创 窗口管理函数

窗口管理函数    窗口管理函数向应用程序提供了一些创建和管理用户界面的方法。你可以使用窗口管理函数创建和使用窗口来显示输出、提示用户进行输入以及完成其他一些与用户进行交互所需的工作。大多数应用程序都至少要创建一个窗口。   应用程序通过创建窗口类及相应的窗口过程来定义它们所用窗日的外观和行为。窗口类可标识窗口的缺省属性,比如窗口是否接受双击鼠标按钮的操作。或是否带有菜单。窗口过程中包

2013-07-15 11:39:11 584

转载 GetModuleFileName

1.函数原型:  DWORD GetModuleFileName(  HMODULE hModule,  LPTSTR lpFilename,  DWORD nSize  );  函数参数说明:  hModule HMODULE 装载一个程序实例的句柄。如果该参数为NULL,该函数返回该当前应用程序全路径。  lpFileName LPTSTR 是你存放返回的名字的内存块的指针,是一个输出参数  

2013-07-12 14:25:02 913

转载 窗口变化相关消息 OnSize、OnSizing和OnGetMinMaxInfo

最近用到窗口变化的一些东西,遇到几个相关的消息函数,简要分析,作为备忘。3个消息分别是:WM_SIZE、WM_SIZING、WM_GETMINMAXINFO;分别对应相应的处理函数:OnSize、OnSizing、OnGetMinMaxInfo。当窗口大小发生变化时,响应的顺序依次是:WM_GETMINMAXINFO-->WM_SIZING-->WM_SIZE。 O

2013-07-12 11:59:46 936

原创 防止用户改变窗口大小的方法

1,在OnNcHitTest函数处理中,不处理返回HTTOPLEFT,HTTOPRIGHT,HTBOTTOMLEFT,HTBOTTOMRIGHT。2,在OnGetMinMaxInfo函数中,用setwindowpos,如果你想使你的窗口被人设置大小时不能无限制的缩小,你可以处理wm_size事件,然后判断当前窗口的大小,当小于你的要求时,用setqindowpos来保持窗口的大小。

2013-07-12 11:44:07 2774

转载 DUI异形窗口实现

使用分层窗口及透明png图片实现一个异形窗口搞Windows程序的人尽皆知分层窗口能够实现很多不错的效果,之前看过一些异形窗口的实现,所以就手痒也想自己搞一个玩一玩。自己动手实现过程才发现还是有不少问题的。基本思路是:1.将窗口扩展属性设置为分层属性WS_EX_LAYERED。2.选一张透明的png图片,并将其加载进来。3.创建与窗口兼容的内存设备上下文,以及兼容位图,将兼容位

2013-07-12 11:33:43 1286

转载 DUI程序Demo2(注意拖动程序的边框改变程序界面的大小,OnNcHitTest消息中处理)

注意拖动程序的边框改变程序界面的大小!!!duilib是一个windows下的皮肤库,用win32写的。。。先看个效果图吧:这个图片里有源代码,右键保存下图标,把后缀改为zip,即可。由于skin目录下的图片不便上传,需要自己加入合适的图片。 要使用duilib库,必须先把库导入,代码如下: 1 #include "xxx\UIlib.h" //xxx为UI

2013-07-12 11:32:17 2560

转载 Dui程序Demo

先上效果图(自己感觉还不错):功能不完善,一是为了熟悉xml的写法,手写,不建议使用编辑器,二了为了理顺程序的流程,加入了部分注释。xml文件 程序代码://2012.10.16 by l0g1n。#include "stdafx.h"class CFrameWindowWnd:public CWi

2013-07-12 11:18:24 1044

转载 WM_NCHITTEST消息(移动无标题栏窗口)

我为了移动一个无标题栏的窗体,使用了WM_NCHITTEST消息,这个消息大概如下:通常,我们拖动对话框窗口的标题栏来移动窗口,但有时候,我们想通过鼠标在客户区上拖动来移动窗口。一个容易想到的方案是,处理鼠标消息WM_LBUTTONDOWN和WM_LBUTTONUP。在OnLButtonUp函数中计算鼠标位置的变化,调用MoveWindow实现窗口的移动。注意,拖动标题栏移动窗口的时候

2013-07-12 09:57:42 1601

转载 WM_SYSCOMMAND消息(点击窗口的系统菜单发送的消息)

从窗口系统菜单上发送该消息,实现窗口的最大化,最小化,移动,还原,移动等操作假设在CWnd派生类中如,关闭窗口SC_CLOSESendMessage(WM_SYSCOMMAND, SC_CLOSE, NULL);最小化窗口SC_MINIMIZESendMessage(WM_SYSCOMMAND, SC_MINIMIZE, NULL);窗口移动状态SC_MOVE  

2013-07-12 09:32:32 3703

转载 DirectUI的消息流转

Windows是一个基于消息循环的系统,DirectUI同样遵循这样的消息流转。当界面呈现、用户点击、定时器等各种各样的消息一旦进入windows消息循环队列,系统自动调用该窗口的WndProc过程。对于DirectUI程序来说,因为所有的界面都是逻辑界面,均基于程序运行之初通过CreateWindowEx生成的原始窗口,因此,所有的消息最开始都会先流转到DirectUI中CWindowWnd类的

2013-07-11 16:00:08 1324

转载 DirectUI界面渲染流程

DirectUI是通过xml文件来描述界面的,DirectUI库通过解析xml文件来呈现界面,从而实现界面与逻辑的分离。当然,xml需要遵照特定的规矩描述界面元素的名称、坐标、大小、配色方案、背景图片等多种属性。下面我们给出一个xml文件的实例:xml version="1.0" encoding="UTF-8"?> size="500,350" caption="0,0,0,36" rou

2013-07-11 15:42:06 2098

转载 窗口子类化三:SubClassWindow详解

许多Windows程序员都是跳过SDK直接进行RAD开发工具[或VC,我想VC应不属于RAD]的学习,有些人可能对子类化机制比较陌生。 我们先看看什么是Windows的子类化。Windows给我们或是说给它自己定义了许多丰富的通用控件,如:Edit、ComboBox 、ListBox……等,这些控件功能丰富,能为我们开发工作带来极大方面,试想:我们单单是自己实现一个EDIT控件是多么的艰难!但

2013-07-11 14:40:10 883

转载 窗口子类化二

尽管Windows系统提供了丰富的通用控件(如按钮,编辑框,滑动条等),但仍不可能满足我们实际应用中千差万别的需求,笔者在某项目的开发工作中就遇见了这样的问题。项目需要一个供用户输入表格数据的接口界面,要求只接收用户输入的数据信息,并可以利用键盘上的光标键移动输入位置以避免用户在键盘和鼠标之间的频繁切换。简单地使用Windows的编辑框控件不仅不能对输入字符进行有效过滤(如果给编辑框控件加上ES_

2013-07-11 13:54:38 837

原创 MFC一些函数说明

BOOL IsWindow(HWND hWnd):该函数确定给定的窗口句柄是否标识一个已存在的窗口。

2013-07-11 12:51:12 912

转载 DirectUI笔记(二)模块化

说到软件,“模块”无法绕过去的一个概念一个名词。我们在很多时候不同的场合会经常听到或说到这个词。在目前的软件开发中,软件模块的形式多种多样,比如一个MFC程序里,可能一个对话框或一个View就是可以定义为一个模块,C++中的一个类也可以是一个模块。软件模块不外乎几个作用,一个是完成一定的功能,这也是模块出现和存在最根本原因;一个是应对变化,软件做好以后一般来说是不可避免的药变化的,这个

2013-07-11 11:54:43 1261

原创 Duilib中的子类化

具体到DirectUI,我们要想使用我们自定义的窗口过程,同样需要子类化:HWND CWindowWnd::Subclass(HWND hWnd){    ASSERT(::IsWindow(hWnd));   //判断给定的句柄是否是一个已经存在的窗口    ASSERT(m_hWnd==NULL);    m_OldWndProc = SubclassWindow(

2013-07-11 11:42:47 1269

转载 Dui中函数说明2

客户端       目前客户端的实现,不少大公司采用了较为新潮的Direct UI技术,本项目中也考虑使用Direct UI,但可惜微软并没有提供可使用的Direct UI 封装,因此我们自己设计实现Direct UI,并在此基础上实现客户端UI部分的功能。       Direct UI 框架的实现并不复杂,就是繁琐,如抽象窗口,控件自绘制,设计完成消息循环与映射,资源管理...  

2013-07-11 11:38:30 1033

转载 DUI中的函数说明

过年有些耽搁,深感抱歉。近日依旧在进行客户端界面使用DirectUI 进行尝试,由于一切控件均需要进行自绘,过程较为耗时。 控件的实现由CUIBaseCtrl基类开始定义如下: [cpp] view plaincopyprint?/* CLASS_BEGIN **********************************************

2013-07-11 11:37:55 1481

转载 窗口子类化

VC 中基于 SDK 编程的窗口子类化窗口子类化的作用窗口子类化技术最大的特点就是能够截取 Windows 的消息。一旦用户自定义的窗口函数截取了传向原窗口函数的消息,就可以对被截取的消息进行如下处理:将其传给原来的窗口函数。这是对大多数消息应该采取的措施,因为子类通常只对原来的窗口特性作少量的改动截取该消息,阻止其向原窗口函数发送。修改该消息,修改完毕以后再向原窗口函数发送。

2013-07-11 11:17:47 687

转载 DirectUI笔记(一)窗口子类化

在看DirectUI的代码,尝试着写一些理解,可能有误,同时也不知道能写多少。写到哪算哪吧。先谈谈窗口的子类化。什么是DirectUI呢?DirectUI界面库取名自微软的一个窗口类名“DirectUIHWND”,意为Paint on parent dc directly。即子窗口不以窗口句柄的形式创建,只是逻辑上的窗口,绘制在父窗口之上。这个父窗口就是使用window

2013-07-11 11:04:15 1375

原创 窗口样式CS_DBLCLKS

1.窗口类样式:CS_DBLCLKSCS_DBLCLKS标志使窗口可以检测到双击事件。窗口响应双击的细节如下:如果窗口没有CS_DBLCLKS标志,系统向窗口依次发送如下消息:WM_LBUTTONDOWNWM_LBUTTONUPWM_LBUTTONDOWNWM_LBUTTONUP.其实相当于两个单击。如果窗口有CS_D

2013-07-11 11:01:09 4633

原创 Duilib第一讲:Duilib结构梳理

使用Duilib也有一段时间了,了解了许多,但由于工作匆忙的原因,很多东西都是现学现用,没有深层的思考!导致后面重复使用前面学过、用过的知识出现了许多的问题!因此,在此恰当的时间(了解许多,但很模糊的情况下)做一些梳理和总结!也希望能帮助到一些正在学习Duilib的同仁!        第一步,包含duilib头文件。#include "xxxUIlib.h" //xxx为UIlib.

2013-07-10 17:34:27 1964 3

空空如也

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

TA关注的人

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