摘要: WEB设计者中流传着这样一句话: Of course, then, there’s one standard way and one Microsoft way 这是用来抱怨IE与其他符合标准的浏览器(如FF)的区别给他们工作带来的烦恼的。 这几天改CSS,发现几个IE解析CSS时几个挺重要的BUG, 这几个缺陷以前走马观花web设计书籍时其实就听过, 只是以前没有实际设计经验,看了也就忘了。... 阅读全文
posted @ 2008-04-21 11:47 湘西小刁民 阅读(575) 评论(0) 推荐(0) 编辑
摘要: 解决不寻常操作影响鼠标事件捕获的办法: 监视WM_CAPTURECHANGED事件,窗口在鼠标捕获状态改变时触发这个消息 Form1中定义一个内部类,处理将响应WM_CAPTURECHANGED消息的低级Windows过程 CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHigh... 阅读全文
posted @ 2008-04-18 22:49 湘西小刁民 阅读(326) 评论(0) 推荐(0) 编辑
摘要: Font对象建立之后不能修改,如果需要不同的字体,只有建立新的 Font对象。为了强制触发Paint事件,在Invalidate方法后又调用了Update方法把Control类的Capture属性设置为false,这样MouseMove和MouseUp事件就不会被发送至捕获MouseDown的窗口,而是鼠标所在的窗口 阅读全文
posted @ 2008-04-17 22:48 湘西小刁民 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 粗略地翻了《设计师谈网页配色》一书,欣赏了不少好的网站配色,书中利用形容词来确定配色和基于色相确定配色方案的方法让我感到有些惊奇,书中还附上了一些配色字典,灵感匮乏的时候,这是一本能打开思路匣子的书。 阅读全文
posted @ 2008-04-08 22:47 湘西小刁民 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 有时候使用可变变量名是很方便的。就是说,一个变量的变量名可以动态的设置和使用。一个普通的变量通过声明来设置,例如:$a 的内容是“hello”并且 $hello 的内容是“world”。因此,可以echo "$a ${$a}"; 要将可变变量用于数组,必须解决一个模棱两可的问题。这就是当写下 $$a[1] 时,解析器需要知道是想要 $a[1] 作为一个变量呢,还是想要 $$a 作为一个变量并... 阅读全文
posted @ 2008-03-20 22:45 湘西小刁民 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 要初始化一个对象,用 new 语句将对象实例到一个变量中。 如果将一个对象转换成对象,它将不会有任何变化。如果其它任何类型的值被转换成对象,内置类 stdClass 的一个实例将被建立。如果该值为 NULL,则新的实例为空。对于任何其它的值,名为 scalar 的成员变量将包含该值。 由于资源类型变量保存有为打开文件、数据库连接、图形画布区域等的特殊句柄,因此无法将其它类型的值转换为资源。 很... 阅读全文
posted @ 2008-03-17 22:44 湘西小刁民 阅读(210) 评论(0) 推荐(0) 编辑
摘要: echo 'Hello World';//输出文字$_SERVER:自动全局变量,HTTP请求信息头strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE');//在 $_SERVER['HTTP_USER_AGENT']变量中寻找 'MSIE',如果没有,则返回 FALSE。 自动全局变量 $_POST,它包含了所有的 POST 数据,即表单数据如果使用了 GET 方... 阅读全文
posted @ 2008-03-16 22:43 湘西小刁民 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 为了允许属性作为一个字符串编辑,需要为类创建一个新的TypeConverter。 UITypeEditor 十三 滚动 AutoScroll说明控件师傅大体上设为显示滚动条 AutoScrollMinSize是Size类型,它储存虚拟空间的大小。 虚拟空间的大小通常是潜在无限的,使用在内存中永久表示虚拟空间的绘图技术是不可行的。 bitBlt操作 可滚动控件中放置不可滚动控件,Panel中放P... 阅读全文
posted @ 2008-03-13 22:40 湘西小刁民 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 十一 Windows Form自定义控件 如果修改属性会改变自定义控件的外观,那么在属性set中调用Invalidate()方法就很重要 通知VS.NET默认值的两种机制: 1.在属性定义前设置一个属性[DefaultValue()] 2.DefaultValue不能用户Color,可使用Reset和ShouldSerialize方法的技术。Reset()吧属性重置为他的默认值,ShouldSer... 阅读全文
posted @ 2008-03-11 22:39 湘西小刁民 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 八 变换 ScaleTransform方法:缩放变换,连同初试点和画笔宽度一起缩放 TranslateTransform方法:平移变换,将原点坐标平移,此句以后的画图都将以平移后的原点做原点 ResetTransform方法:重设变换 RotateTransform方法:旋转变幻 矩阵和变换 应用变换时失效区域没有改变 变换不应用与裁剪失效 九 打印 打印机的像素比显示的像素小的多 阅读全文
posted @ 2008-03-09 14:55 湘西小刁民 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 七 裁剪和失效 失效的意思就是说图形界面需要重新绘制 SetClip函数 SetClip函数的参数CombineMode枚举 if(cellRect.IntersectsWith(e.ClipRectangle)//判断矩形是否与Paint事件更新显示的矩形相交 if(!g.IsVisibleClipEmpty)//裁剪区域可见 窗体的ResizeRedraw属性为true,强制执行一次彻底的重新... 阅读全文
posted @ 2008-03-07 14:54 湘西小刁民 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 五 图像 双倍缓存:完全准备图像之后再把他绘制到屏幕上 将下列三句写入Load时间中,即可激活双倍缓存 SetStyle(ControlStyles.DoubleBuffer,true);//所有绘图操作都在缓存器中,绘图操作完成后绘制到屏幕上 SetStyle(ControlStyles.AllPaintingInWmPaint,true);//窗口背景不在单独操作中绘制,,UserPain... 阅读全文
posted @ 2008-03-03 14:51 湘西小刁民 阅读(477) 评论(0) 推荐(0) 编辑
摘要: 这一阵因为项目需要开始看GDI编程方面的书。 如果绘图和填充任务的分离课余减少改变钢笔和笔刷操作的次数,就可以大大提高性能 使用完Font对象后,记得Dispose,或者using 在建立自定义控件时,只要可能,就应使用Form对象的Font属性,而不是创建自己的Font 图象分辨率和屏幕分辨率的换算。图象平行扭曲、旋转:给DrawImage传左上、右上、左下三个点 阅读全文
posted @ 2008-03-03 12:34 湘西小刁民 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 状态一致性问题的几个经验 1.尽可能晚的给状态赋值 2.如果必须给状态赋值最好使用try、finally语句,收到异常之后应该恢复已修改了的状态 3.通常,编写的代码应该尽可能少地修改全局状态 try语句后面可跟多个catch,catch捕捉Exception时顺序很重要,应该从特殊到通用 自定义异常: 致命的用户自定义异常从Exception派生 非致命的应用程序错误从Applicati... 阅读全文
posted @ 2008-01-04 12:29 湘西小刁民 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 错误与异常 异常是有可能发生但不应该发生的情况,从代码特定位置无法欲知异常是否会发生 如果能准确之处发生异常的位置,那就是错误 从编码角度,要么产生异常,要么正确处理错误 更好的策略是不要返回空对象(null),要么返回一个没有内容的对象,要么返回拥有默认数值的对象,或者产生一个异常来显示一个有意义信息 不应该把设置默认状态的代码放在构造函数内部,而应设置一个独立的方法,构造函数调用这... 阅读全文
posted @ 2008-01-03 12:27 湘西小刁民 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 存储过程 系统存储过程是SQL Server系统创建的存储过程,它的目的在于能够方便地从系统表中查询信息,或者完成与更新数据库表相关的管理任务或其他的系统管理任务。系统存储过程可以在任意一个数据库中执行。系统存储过程创建并存放于系统数据库master中,并且名称以sp_或者xp_开头。一些系统过程只能由系统管理员使用,而有些系统过程通过授权可以被其他用户使用。 系统存储过程的部分示例如下:sp... 阅读全文
posted @ 2008-01-02 12:26 湘西小刁民 阅读(3233) 评论(0) 推荐(0) 编辑
摘要: DCL 数据控制语言(DCL)是用来设置或更改数据库用户或角色权限的语句,包括GRANT,DENY,REVOKE等语句。在默认状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行数据控制语言。 GRANT 语句权限与角色的授予 SQL语言使用GRANT语句为用户授予语句权限的语法格式为: GRANT | [,|]… TO ... 阅读全文
posted @ 2007-12-30 12:21 湘西小刁民 阅读(882) 评论(0) 推荐(0) 编辑
摘要: Transact—SQL是结构化查询语言(SQL)的增强版本,与许多ANSI SQL标准兼容,Transact-SQL代码已成为SQL Server的核心 DDL 数据定义语言(DDL)是指用来定义和管理数据库以及数据库中各种对象的语句,这些语句包括CREATE、ALTER和DROP等。在SQL Server 2005中,数据库对象包括表、视图、触发器、存储过程、规则、默认、用户自定义的数据类... 阅读全文
posted @ 2007-12-30 12:19 湘西小刁民 阅读(312) 评论(0) 推荐(0) 编辑
摘要: declare_dyncrate(动态创建,意义在于文件中恢复类) 包括了 declare_dynamic(运行时类型识别) 动态创建>运行时类型识别implement_dynamic 类类型都记录在CRuntimeClass结构体中 new比malloc更多的是会引发构造函数值类型在栈上,引用类型在堆上 阅读全文
posted @ 2007-12-30 12:15 湘西小刁民 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 如果SQLSERVER 2005中某字段先描述问题:假设DataSet中有表T_Table,表有两个列:F_A,F_B,字段可以允许为空,但所有行的F_B都为null时DataSet.GetXml()取出字符串时,只有F_A,却没有了F_B: CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://ww... 阅读全文
posted @ 2007-12-18 11:38 湘西小刁民 阅读(1239) 评论(0) 推荐(1) 编辑