- 浏览: 85103 次
- 性别:
- 来自: 北京
最新评论
文章列表
1. const常量,如const int max = 100; 优点:const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换时可能会产生意料不到的错误(边际效 ...
Visual C++中实现双缓冲
- 博客分类:
- C & C++
双缓冲的原理可以这样形象的理解:把电脑屏幕看作一块黑板。首先我们在内存环境中建立一个“虚拟“的黑板,然后在这块黑板上绘制复杂的图形,等图形全部绘制完毕的时候,再一次性的把内存中绘制好的图形“拷贝”到另一块黑板(屏幕)上。采取这种方法可以提高绘图速度,极大的改善绘图效果。
// 在OnPaint()函数中可以如下所述实现双缓冲,其主要步骤分为四步:
void CGDIPlusCtrl::OnPaint()
{
CPaintDC dc(this); // device context for painting
CPen Pen; // 画笔
Pen.Create ...
SPin控件增减小数
- 博客分类:
- C & C++
// 初始化
BOOL CGraphCtrDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_spin.SetRange(0.1,10); // 设置范围
m_spin.SetBuddy(GetDlgItem(IDC_TXTY)); // Spin控件绑定Edit控件
m_spin.SetPos(0.4); // 起始位置
return TRUE;
}
// SPin控件的消息处理
void CGraphCtrD ...
C#的多线程机制探索
- 博客分类:
- C#
http://www.vchome.net/dotnet/dotnetdocs/dotnet1.htm
http://www.yaosansi.com/post/1344.html
VS2005打开VS2008项目
- 博客分类:
- C#
1、去掉源代码目录代码的只读权限。2、修改.sln中的Microsoft Visual Studio Solution File, Format Version 10.00# Visual Studio 2008 为修改为Microsoft Visual Studio Solution File, Format Version 9.00# Visual Studio 2005 此时可以打开项目了。3、找到*.csproj文件修改 :<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns=&q ...
用GetManifestResourceStream获取的资源要保证包含在工程中,不包含在工程中即使在同一目录下也没用。包含在工程中以后把该文件的“属性”中的“生成操作”改为“嵌入的资源”。就可以用了通过GetManifestResourceNames(好像是这个名字)把所有的名字都取出来,然后看看有没有你要的。一般是Assembly名.类名.Manifest.Resource。
// 获取当前类库的程序集
Assembly assembly = Assembly.GetExecutingAssembly();
// 从程序集中读取插件的菜单和工具栏配置信息(xml文件内容)
...
char []sepc = new char[]{'+'};
string str = "Alt+A";
string[] shortCutKeys = str.Split(sepc);
Keys keys = Keys.None, key = Keys.None;
foreach (string shortCutKey in shortCutKeys)
{
key = (Keys)Enum.Parse(typeof(Keys), shortCutKey);
if (keys != Keys.None)
keys = ke ...
原本操作没有用xsd的xml文件时,XPath可以找到节点,但给xml文件关联上.xsd文件(Schema规范),
就出错了,根据Xpath找不到节点了!
问题出现时的Plugin.xsd文件
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="Plugin"
targetNamespace="http://tempuri.org/Plugin"
elementFormDefault="quali ...
/// <summary>
/// 调用插件的方法
/// </summary>
/// <param name="pluginIndex">插件索引</param>
/// <param name="functionName">方法名称</param>
/// <returns></returns>
public bool InvokePluginMember(int pluginIndex, string functionName)
{
...
.NET上根据字符串动态创建控件
- 博客分类:
- C#
首先,利用System.Type.GetType方法,获得字符串中指定的控件的类型实例。
这里需要注意这个字符串的语法,根据msdn的解释:
1.按名称和签名隐藏会考虑签名的所有部分,包括自定义修饰符、返回类型、参数类型、标记和非托管调用约定。这是二进制比较。
2.对于反射,属性和事件按名称和签名隐藏。如果基类中有同时带 get 访问器和 set 访问器的属性,但派生类中仅有 get 访问器,则派生类属性隐藏基类属性,并且您将无法访问基类的设置程序。
3.自定义特性不是通用类型系统的组成部分。
不对数组或 COM 类型执行搜索,除非已将它们加载到可用类表中。
typeName 可以 ...
AJAX(Asynchronous JavaScript And XML 异步JavaScript和XML技术)<!--[if !supportLists]-->第一章<!--[endif]--> 揭开AJAX的面纱<!--[if !supportLists]-->1. <!--[endif]-->AJAX技术的应用范畴
(1)局部刷新(使用javascript使DOM对象搜索并更改表单中的元素)
(2)获取其他网页的内容。当本网页的内容基于其他网站(天气预报),填充在网页内;
(3)需要异步读取的地方(借助浏览器中提供的组件,来返回三种类 ...
<!--[if !supportLists]-->第一章<!--[endif]--> 透析XMLHttpRequest的实质<!--[if !supportLists]-->1. <!--[endif]-->xmlHttpRequest是依附于浏览器的一个组件,IE浏览器中的此组件命名为XMLHTTP,FIREFOX中的组件名称为XMLHttpRequest; XMLHTTP是一套可以在JAVAscript,VBscript,Jscript等脚本语言中,通过HTTP协议传送或者接受XML及其他数据的一套API。XMLHTTP特点(1)局部刷新(2 ...
<!--[if !supportLists]-->第一章<!--[endif]-->Microsoft ASP.NET Ajax核心组件<!--[if !supportLists]-->1. <!--[endif]-->ScriptManager脚本控制器
ScriptManager控件包括在ASP.NET 2.0 AJAX Extensions中,它用来处理页面上的所有组件以及页面局部更新,生成相关的客户端代理脚本以便能够在JavaScript中访问Web Service,所有需要支持ASP.NET AJAX的ASP.NET页面上有且只能有一 ...
<!--[if !supportLists]-->第一章<!--[endif]-->Microsoft ASP.NET Ajax介绍<!--[if !supportLists]-->第二章<!--[endif]--> Ajaxcontroltoolkit工具包概述创建AJAX-Enabled模板的网站和创建AJAXControlToolkit模板的网站在配置文件方面的区别:
AJAX-Enabled面向所有的AJAX程序,在默认页面加载ScriptManage控件,在配置文件中加载实现AJAX程序最基本类库;
<compilation ...
<!--[if !supportLists]-->第一章<!--[endif]--> 菜单特效<!--[if !supportLists]-->1.
<!--[endif]-->HoverMenu在鼠标移动到指定地点时,在不影响页面其他元素的时候出现一个菜单;
<ajaxToolkit:HoverMenuExtender ID="hme1" runat="Server"
TargetControlID="Panel9"//要显示菜单的目标控件的ID
PopupControl ...