<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feeds.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feeds.feedsky.com/csdn.net/lvlv526" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feeds.feedsky.com/csdn.net/lvlv526" type="application/rss+xml"></fs:self_link><lastBuildDate>Fri, 29 Feb 2008 10:02:00 GMT</lastBuildDate><title>lvlv526的专栏</title><link>http://blog.csdn.net/lvlv526/</link><item><title>oracle的最高可用性体系结构Oracle Maximum Availability Architecture MAA</title><link>http://blog.csdn.net/lvlv526/archive/2008/02/29/2132300.aspx</link><wfw:comment>http://blog.csdn.net/lvlv526/comments/2132300.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/lvlv526/comments/commentRss/2132300.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2132300</trackback:ping><description>分为如下四个部分

非计划宕机：系统失败 RAC; 数据异常 Data guard ASM Flashback Rman Streams

计划内停机：系统改变 在线修改配置在线滚动补丁升级；数据变化 在线重定义 
&lt;img src =&quot;http://blog.csdn.net/lvlv526/aggbug/2132300.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Fri, 29 Feb 2008 18:02:00 +0800</pubDate><author>lvlv</author><comments>http://blog.csdn.net/lvlv526/archive/2008/02/29/2132300.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/lvlv526/archive/2008/02/29/2132300.aspx</guid><dc:creator>lvlv</dc:creator><fs:srclink>http://blog.csdn.net/lvlv526/archive/2008/02/29/2132300.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lvlv526/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/lvlv526/~1298906/206274512/1301879</fs:itemid></item><item><title>简单而强大的多线程串口编程工具CserialPort类</title><link>http://blog.csdn.net/lvlv526/archive/2007/07/19/1698367.aspx</link><wfw:comment>http://blog.csdn.net/lvlv526/comments/1698367.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/lvlv526/comments/commentRss/1698367.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1698367</trackback:ping><description>老有人觉得MSComm通讯控件很土，更有人大声疾呼：忘了它吧。确实当我们对串口编程有了一定的了解后，应该用API函数写一个属于自己的串口程序，由于编程者对程序了解，对程序修改自如。但我一直没有停止过用MSComm通讯控件，那么简单的东西，对付简单的任务完全可以，但当我们需要在程序中用多个串口，而且还要做很多复杂的处理，那么最好不用MSComm通讯控件，如果这时你还不愿意自己编写底层，就用这个类：CserialPort类。

这是Remon Spekreijse写的一个串口类， 地址在： 
 http://codeguru.earthweb.com/network/serialport.shtml

类作者Remon Spekreijse已作了一个基于对话框的同时检测4个串口示例的程序，在上面的网址和我主页的串口源码下载页也可以找到。我在这儿主要介绍如何将这个类应用到VC中基于文档的程序中。为了加深对串口数据处理的了解，我们利用这个类解决如下问题： 


问题：


串口2（COM2）每隔1秒向串口1（COM1）发送的NEMA格式的报文：串头为$，串尾为＊，中间为一&lt;img src =&quot;http://blog.csdn.net/lvlv526/aggbug/1698367.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Thu, 19 Jul 2007 17:08:00 +0800</pubDate><author>lvlv</author><comments>http://blog.csdn.net/lvlv526/archive/2007/07/19/1698367.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/lvlv526/archive/2007/07/19/1698367.aspx</guid><dc:creator>lvlv</dc:creator><fs:srclink>http://blog.csdn.net/lvlv526/archive/2007/07/19/1698367.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lvlv526/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/lvlv526/~1298906/206274513/1301879</fs:itemid></item><item><title>CButtonST使用技巧（一）</title><link>http://blog.csdn.net/lvlv526/archive/2007/07/18/1697521.aspx</link><wfw:comment>http://blog.csdn.net/lvlv526/comments/1697521.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/lvlv526/comments/commentRss/1697521.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1697521</trackback:ping><description>CButtonST使用技巧（一）
作者:杜修杏

下载CButtonST示例源代码
下载CButtonST类的源代码

本篇主要包括了以下的效果：
1. 在按钮上加入Icon，使Icon和文字同时显示
2. 显示平面按钮
3. 使按钮上的图标可变
4. 设置按钮在不同状态下的底色和文字颜色
5. 设置图标和文字的位置
6. 根据Icon的形状设置按钮的形状
7. 添加Tooltips

以下是Basic Features的演示界面：


 效果一：在按钮上加入Icon，使Icon和文字同时显示 

假设按钮ID为IDC_BUTTON1
1. 添加成员变量 

CButtonST	m_btn;
2. 添加Icon资源，设其ID设为IDI_ICON1
3. 在OnInitDialog函数中初始化按钮 m_btn.SubclassDlgItem(IDC_BUTTON1,this);
m_btn.SetIcon(IDI_ICON1);
m_btn.SetFlat(FALSE);
注意:为达到最好效果，请根据Icon的大小调整按钮的大小。
&lt;img src =&quot;http://blog.csdn.net/lvlv526/aggbug/1697521.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Thu, 19 Jul 2007 04:32:00 +0800</pubDate><author>lvlv</author><comments>http://blog.csdn.net/lvlv526/archive/2007/07/18/1697521.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/lvlv526/archive/2007/07/18/1697521.aspx</guid><dc:creator>lvlv</dc:creator><fs:srclink>http://blog.csdn.net/lvlv526/archive/2007/07/18/1697521.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lvlv526/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/lvlv526/~1298906/206274514/1301879</fs:itemid></item><item><title>为按钮控件添加图片的方法</title><link>http://blog.csdn.net/lvlv526/archive/2007/07/18/1697284.aspx</link><wfw:comment>http://blog.csdn.net/lvlv526/comments/1697284.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/lvlv526/comments/commentRss/1697284.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1697284</trackback:ping><description>第一种：
Button属性页里Style的Bitmap点上

CBitmap Bitmap;
Bitmap.LoadBitmap(IDB_BITMAP1);
HBITMAP hBitmap=(HBITMAP)Bitmap.Detach();
CButton *pButton=(CButton*)GetDlgItem(IDCANCEL);
pButton-&gt;SetBitmap(hBitmap);

感觉效果不是很好。因为图片不会自动拉伸。

第二种：
可以采用CButtonST控件，挺好用的，比MFC的那些封装好用。

第三种：
把button按钮属性设置为ower draw
然后映射onDrawItem消息
在ondraw函数内自己绘制就可以了
void CUi6Dlg::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct)
{
if(nIDCtl == IDC_HELLO_CFAN)
{
//绘制按钮框架
UINT uStyle = DFCS_BUTTONPUSH;
//是否&lt;img src =&quot;http://blog.csdn.net/lvlv526/aggbug/1697284.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Thu, 19 Jul 2007 02:27:00 +0800</pubDate><author>lvlv</author><comments>http://blog.csdn.net/lvlv526/archive/2007/07/18/1697284.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/lvlv526/archive/2007/07/18/1697284.aspx</guid><dc:creator>lvlv</dc:creator><fs:srclink>http://blog.csdn.net/lvlv526/archive/2007/07/18/1697284.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lvlv526/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/lvlv526/~1298906/206274515/1301879</fs:itemid></item><item><title>打印控制：监测打印状态</title><link>http://blog.csdn.net/lvlv526/archive/2007/07/18/1696443.aspx</link><wfw:comment>http://blog.csdn.net/lvlv526/comments/1696443.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/lvlv526/comments/commentRss/1696443.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1696443</trackback:ping><description>void CControlPrinterDlg::OnSelchangePrinters() 
{
	// TODO: Add your control notiflication handler code here
	m_listBox2.ResetContent();
	int nIndex=m_listBox.GetCurSel();
	CString strPrinterName;
	if (nIndex!=CB_ERR) {
		m_listBox.GetText(nIndex,strPrinterName);
		if (!strPrinterName.IsEmpty()) {
			ListJobs((LPTSTR)(LPCSTR)strPrinterName);
		}
	}
}

BOOL CControlPrinterDlg::ListJobs(LPSTR szPrinterName)
{
	HANDLE hPrinter;
	DWORD dwNeeded,dwReturned,i;
	JOB_INFO_1	*pJobInfo;
&lt;img src =&quot;http://blog.csdn.net/lvlv526/aggbug/1696443.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Wed, 18 Jul 2007 16:41:00 +0800</pubDate><author>lvlv</author><comments>http://blog.csdn.net/lvlv526/archive/2007/07/18/1696443.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/lvlv526/archive/2007/07/18/1696443.aspx</guid><dc:creator>lvlv</dc:creator><fs:srclink>http://blog.csdn.net/lvlv526/archive/2007/07/18/1696443.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lvlv526/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/lvlv526/~1298906/206274516/1301879</fs:itemid></item><item><title>打印控制：连接打印机</title><link>http://blog.csdn.net/lvlv526/archive/2007/07/18/1696441.aspx</link><wfw:comment>http://blog.csdn.net/lvlv526/comments/1696441.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/lvlv526/comments/commentRss/1696441.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1696441</trackback:ping><description>void CControlPrinterDlg::OnEnumprintters() 
{
	// TODO: Add your control notification handler code here
	DWORD dwSize,dwPrinters;
	::EnumPrinters(PRINTER_ENUM_LOCAL,NULL,5,NULL,0,&amp;dwSize,&amp;dwPrinters);
	BYTE* pBuffer=new BYTE[dwSize];
	::EnumPrinters(PRINTER_ENUM_LOCAL,NULL,5,pBuffer,dwSize,&amp;dwSize,&amp;dwPrinters);	
	if (dwPrinters!=0) {
		m_listBox.ResetContent();
		PRINTER_INFO_5* pPrnInfo=(PRINTER_INFO_5*)pBuffer;
		for(UINT i=0;ipPrinterName);
			pPrnInfo++;
		}
	}
	delete[] pBuffe&lt;img src =&quot;http://blog.csdn.net/lvlv526/aggbug/1696441.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Wed, 18 Jul 2007 16:40:00 +0800</pubDate><author>lvlv</author><comments>http://blog.csdn.net/lvlv526/archive/2007/07/18/1696441.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/lvlv526/archive/2007/07/18/1696441.aspx</guid><dc:creator>lvlv</dc:creator><fs:srclink>http://blog.csdn.net/lvlv526/archive/2007/07/18/1696441.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lvlv526/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/lvlv526/~1298906/206274517/1301879</fs:itemid></item><item><title>Velocity简介</title><link>http://blog.csdn.net/lvlv526/archive/2007/05/19/1615964.aspx</link><wfw:comment>http://blog.csdn.net/lvlv526/comments/1615964.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/lvlv526/comments/commentRss/1615964.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1615964</trackback:ping><description>Velocity是一个开放源吗的模版引擎，由apache.org小组负责开发，现在最新的版本是Velocity1.3.1，http://jakarta.apache.org/velocity/index.html可以了解Velocity的最新信息。Velocity允许我们在模版中设定变量，然后在运行时，动态的将数据插入到模版中，替换这些变量。&lt;img src =&quot;http://blog.csdn.net/lvlv526/aggbug/1615964.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Sat, 19 May 2007 16:44:00 +0800</pubDate><author>lvlv</author><comments>http://blog.csdn.net/lvlv526/archive/2007/05/19/1615964.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/lvlv526/archive/2007/05/19/1615964.aspx</guid><dc:creator>lvlv</dc:creator><fs:srclink>http://blog.csdn.net/lvlv526/archive/2007/05/19/1615964.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lvlv526/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/lvlv526/~1298906/206274518/1301879</fs:itemid></item><item><title>压力监测程序sqlserver和MYSQL版</title><link>http://blog.csdn.net/lvlv526/archive/2007/05/16/1611055.aspx</link><wfw:comment>http://blog.csdn.net/lvlv526/comments/1611055.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/lvlv526/comments/commentRss/1611055.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1611055</trackback:ping><description>using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using MySQLDriverCS;

/// 
/// db 的摘要说明
/// 
public class db
{
	public db()
	{
		//
		// TODO: 在此处添加构造函数逻辑
		//
	}
  /*  public static SqlConnection createCon()
    {
        return new SqlConnection(&quot;server=.;&lt;img src =&quot;http://blog.csdn.net/lvlv526/aggbug/1611055.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Wed, 16 May 2007 17:52:00 +0800</pubDate><author>lvlv</author><comments>http://blog.csdn.net/lvlv526/archive/2007/05/16/1611055.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/lvlv526/archive/2007/05/16/1611055.aspx</guid><dc:creator>lvlv</dc:creator><fs:srclink>http://blog.csdn.net/lvlv526/archive/2007/05/16/1611055.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lvlv526/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/lvlv526/~1298906/206274519/1301879</fs:itemid></item><item><title>ASP.NET AJAX入门系列（6）：UpdateProgress控件简单介绍</title><link>http://blog.csdn.net/lvlv526/archive/2007/05/14/1608344.aspx</link><wfw:comment>http://blog.csdn.net/lvlv526/comments/1608344.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/lvlv526/comments/commentRss/1608344.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1608344</trackback:ping><description>在ASP.NET AJAX Beta2中，UpdateProgress控件已经从“增值”CTP中移到了ASP.NET AJAX核心中。以下两篇关于UpdateProgress的文章基本翻译自ASP.NET AJAX官方网站。

 

主要内容

1．UpdateProgress控件简单使用

2．使用多个UpdateProgress控件

 

一．UpdateProgress控件简单使用

1．创建一个Web页面并切换到设计视图。

2．在工具箱的AJAX Extensions标签下，双击ScriptManager控件添加到页面中。

3．双击UpdatePanel控件添加到页面中。



4．双击UpdateProgress控件添加到页面中。

5．在UpdateProgress控件中添加文本“Progress……”。



6．在UpdatePanel中添加一个Button和一个Label。

7．设置Label的Text属性值为“Initial Page Rendered”。



8．双击Button添加Cl&lt;img src =&quot;http://blog.csdn.net/lvlv526/aggbug/1608344.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Mon, 14 May 2007 23:25:00 +0800</pubDate><author>lvlv</author><comments>http://blog.csdn.net/lvlv526/archive/2007/05/14/1608344.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/lvlv526/archive/2007/05/14/1608344.aspx</guid><dc:creator>lvlv</dc:creator><fs:srclink>http://blog.csdn.net/lvlv526/archive/2007/05/14/1608344.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lvlv526/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/lvlv526/~1298906/206274520/1301879</fs:itemid></item><item><title>ASP.NET AJAX入门系列（5）：使用UpdatePanel控件（二）</title><link>http://blog.csdn.net/lvlv526/archive/2007/05/14/1608289.aspx</link><wfw:comment>http://blog.csdn.net/lvlv526/comments/1608289.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/lvlv526/comments/commentRss/1608289.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1608289</trackback:ping><description>UpdatePanel可以用来创建丰富的局部更新Web应用程序，它是ASP.NET 2.0 AJAX Extensions中很重要的一个控件，其强大之处在于不用编写任何客户端脚本，只要在一个页面上添加几个UpdatePanel控件和一个ScriptManager控件就可以自动实现局部更新。通过本文来学习一下UpdatePanel其他的一些使用方法（第二篇）。

 

主要内容

1．用编程的方法控制UpdatePanel的更新

2．UpdatePanel的嵌套使用

3．同一页面上使用多个UpdatePanel

 

一．用编程的方法控制UpdatePanel的更新

对于UpdatePanel，我们也可以使用编程的方法来控制它的更新，可以通过ScriptManager的RegisterAsyncPostBackControl()方法注册一个异步提交的控件，并且调用UpdatePanel的Update()方法来让它更新。再次用我在前面的文章中用到的一个无聊的时间更新例子来看一下，有时候我觉得例子过于复杂更加不好说明白所要讲的内容，如下代码所示，注意B&lt;img src =&quot;http://blog.csdn.net/lvlv526/aggbug/1608289.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Mon, 14 May 2007 22:55:00 +0800</pubDate><author>lvlv</author><comments>http://blog.csdn.net/lvlv526/archive/2007/05/14/1608289.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/lvlv526/archive/2007/05/14/1608289.aspx</guid><dc:creator>lvlv</dc:creator><fs:srclink>http://blog.csdn.net/lvlv526/archive/2007/05/14/1608289.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lvlv526/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/lvlv526/~1298906/206274521/1301879</fs:itemid></item></channel></rss>