﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-    iSabC @ Blog-随笔分类-VC Demo</title><link>http://www.cppblog.com/Lee7/category/4851.html</link><description>  当华美的叶片落尽，生命的脉络才历历可见。 －－ 聂鲁达
</description><language>zh-cn</language><lastBuildDate>Wed, 21 May 2008 03:27:00 GMT</lastBuildDate><pubDate>Wed, 21 May 2008 03:27:00 GMT</pubDate><ttl>60</ttl><item><title>轻松实现类VC界面</title><link>http://www.cppblog.com/Lee7/archive/2008/04/11/46875.html</link><dc:creator>isabc</dc:creator><author>isabc</author><pubDate>Fri, 11 Apr 2008 14:56:00 GMT</pubDate><guid>http://www.cppblog.com/Lee7/archive/2008/04/11/46875.html</guid><wfw:comment>http://www.cppblog.com/Lee7/comments/46875.html</wfw:comment><comments>http://www.cppblog.com/Lee7/archive/2008/04/11/46875.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Lee7/comments/commentRss/46875.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Lee7/services/trackbacks/46875.html</trackback:ping><description><![CDATA[<p>发表日期：2005年2月17日&nbsp;&nbsp;
出处：vckbase.com
&nbsp;&nbsp;
作者：王骏
&nbsp; <br></p>
<p>下图是一个类似VC的界面，左边、底下有两个可浮动、可变大小的控制窗口。许多朋友都希望在自己的程序中实现类似的界面，因为此种类型的界面用途很广、通用性很强，所以笔者总结了一下实现的步骤，辑此一文，并提供源代码供大家参考！<br><br><br><img onmousewheel="return img_zoom(event,this)" onload="javascript:if(this.width>screen.width-333)this.width=screen.width-333" src="http://www.xiaozhou.net/uploadfile/gethttppic/2005-2/20052171550246771.gif" src_cetemp="http://www.xiaozhou.net/uploadfile/gethttppic/2005-2/20052171550246771.gif" height="299" width="408"> <br><br><strong><font color="#009966">一、实现原理</font></strong><br>图
中两个窗口的实现类是从CControlBar派生出来的，我们并不需要从头到尾实现该类，因为Cristi
Posea先生已经为我们实现了一个称为CSizingControlBar的类，而且做得相当完美！我们所要做的便是好好地利用该类,为了尽可能地简
洁，笔者将CSizingControlBar类修改了一下并命名为CCoolBar,接下来我们将详细介绍如何利用该类实现我们所需的界面。</p>
<p><strong><font color="#009966">二、实现步骤示例</font></strong><br>[1]前期准备<br>新建一个名为BarDemo的MFC工程，SDI界面，其它选项默认。<br>将本文示例代码中的sizecbar.h sizecbar.cpp scbarg.h scbarg.cpp 四个文件复制到工程目录下。<br>在菜单Project-&gt;Add to project-&gt;Files将四个文件加入工程中,此时在ClassView中将出现了一个称为CCoolBar的类。<br>在stdafx.h文件中加上<br>#include "sizecbar.h" <br>#include "scbarg.h" <br><br>[2]开始编码<br><br>2.1 为CMainFrame增加成员变量<br></p>
<pre>CCoolBar m_wndMyBar1;///我们将它作为左边的窗口<br>CCoolBar m_wndMyBar2;///停靠在下方的窗口</pre>
以下代码需要添加到CMainFrame::OnCreate中,方法与普通工具条的创建没有太大的区别!<br><br>2.2 创建ControlBar <br>
<pre>if (!m_wndMyBar1.Create(_T("我的控制条"),this,123)) <br>{ TRACE0("Failed to create mybar\n"); return -1; } <br>if (!m_wndMyBar2.Create(_T("我的控制条2"),this,CSize(100,100),TRUE,124))<br>{ TRACE0("Failed to create mybar\n"); return -1; }</pre>
2.3 停靠控制<br>
<pre>m_wndMyBar1.SetBarStyle(m_wndMyBar1.GetBarStyle() | CBRS_TOOLTIPS | <br>CBRS_FLYBY | CBRS_SIZE_DYNAMIC); <br>m_wndMyBar2.SetBarStyle(m_wndMyBar2.GetBarStyle() | CBRS_TOOLTIPS |<br>CBRS_FLYBY | CBRS_SIZE_DYNAMIC);<br>m_wndMyBar1.EnableDocking(CBRS_ALIGN_ANY);<br>m_wndMyBar2.EnableDocking(CBRS_ALIGN_ANY);<br>DockControlBar(&amp;m_wndMyBar1, AFX_IDW_DOCKBAR_LEFT);///停靠在左边<br>DockControlBar(&amp;m_wndMyBar2, AFX_IDW_DOCKBAR_BOTTOM);///停靠在右边</pre>
<p>此时我们已经生成了两个控制条窗口，但窗口中还没有任何东西！让我们来做最后一件事情:往窗口添加所需部件！<br><br>2.4 添加我的控件<br><br>这个问题看似有些麻烦其实相当简单：我们只要在创建这些控件时将控制条窗口指针作为父窗口指针赋值给这些控件即可！<br>请看如下例子<font color="#0033cc">（需要注意的是以下列举的几种形式，你只能选择其一，同时往一个控制条窗口添加多个子窗口将导致失败！)</font><br>(1)将编辑控件放入下面那个控制条窗口中 </p>
<pre>在CMainFrame类中添加成员变量CEdit	  m_wndEdit;<br>在创建ControlBar后创建编辑控件<br>m_wndEdit.Create(WS_VSCROLL|WS_CHILD|WS_VISIBLE|ES_AUTOVSCROLL|<br>ES_MULTILINE|ES_WANTRETURN,CRect(0,0,0,0),&amp;m_wndMyBar2,101);<br>m_wndEdit.ModifyStyleEx(0,WS_EX_CLIENTEDGE);<br></pre>
(2)将树型控件放入左边那个控制条窗口中
<pre>在CMainFrame类中添加成员变量	CTreeCtrl m_wndTree;;<br>在创建ControlBar后创建树型控件<br>	/////////////这一段代码创建树型控件////////////<br>	if (!m_wndTree.Create(WS_CHILD|WS_VISIBLE|<br>		TVS_HASLINES|TVS_HASBUTTONS|TVS_LINESATROOT,<br>		CRect(0, 0, 0, 0), &amp;m_wndMyBar1, 100))<br>	{<br>		TRACE0("Failed to create instant bar child\n");<br>		return -1;<br>	}<br>	m_wndTree.ModifyStyleEx(0, WS_EX_CLIENTEDGE);<br>			////往树型控件添加内容///<br>	HTREEITEM hti = m_wndTree.InsertItem(_T("VC知识库在线杂志"));<br>	m_wndTree.InsertItem(_T("电子文档"));<br>	m_wndTree.InsertItem(_T("在线杂志第一期"), hti);<br>	m_wndTree.InsertItem(_T("在线杂志第二期"), hti);</pre>
<p>(3)将对话框放入控制条中<br>首先在资源编辑器里制作一个CHILD类型的无BORDER对话框,ID为IDD_DIALOGBAR,并以此作为模板生成CVCKBASEDlg类，<br>并在CMainFrame中添加成员变量 CVCKBASEDlg m_wndVCKBASE;然后在创建ControlBar后用如下代码创建对话框 <br></p>
<pre>m_wndVCKBASE.Create(IDD_DIALOGBAR,&amp;m_wndMyBar1);<br>m_wndVCKBASE.ShowWindow(SW_SHOW);</pre>
<p>(4)将TabCtrl放入左边的控制条<br>本文的示例代码中提供了一个称为CCoolTabCtrl的封装类，我们用它可以简单地创建出TabCtrl,先请看如下代码<br></p>
<pre>	m_TabCtrl.Create(TCS_DOWN|WS_CHILD|WS_VISIBLE,CRect(0,0,100,100),&amp;m_wndMyBar1,125);<br>	/////////////这一段代码创建树型控件////////////<br>	if (!m_wndTree.Create(WS_CHILD|WS_VISIBLE|<br>		TVS_HASLINES|TVS_HASBUTTONS|TVS_LINESATROOT,<br>		CRect(0, 0, 0, 0), &amp;m_TabCtrl, 100))  ///注意，这里是将m_TabCtrl作为m_wndTree的父窗口<br>	{<br>		TRACE0("Failed to create instant bar child\n");<br>		return -1;<br>	}<br>	m_wndTree.ModifyStyleEx(0, WS_EX_CLIENTEDGE);<br>	///往树型控件添加内容<br>	HTREEITEM hti = m_wndTree.InsertItem(_T("VC知识库在线杂志"));<br>	m_wndTree.InsertItem(_T("电子文档"));<br>	m_wndTree.InsertItem(_T("在线杂志第一期"), hti);<br>	m_wndTree.InsertItem(_T("在线杂志第二期"), hti);<br>	///将树型控件加入到TabCtrl中<br>	m_TabCtrl.AddPage(&amp;m_wndTree,"VC知识库",IDI_ICON1); ///将树型控件添加到第一页<br>	m_TabCtrl.AddPage(RUNTIME_CLASS(CVCKBASEDlg),IDD_DIALOGBAR,"第二页",IDI_ICON2); ///将CVCKBASEDlg对话框添加到第二页<br>	m_TabCtrl.AddPage(RUNTIME_CLASS(CMyDlg),IDD_DIALOGBAR2,"第三页",IDI_ICON3);   ///将CMyDlg对话框添加到第三页<br><br>	m_TabCtrl.UpdateWindow(); ///更新TabControl</pre>
需要注意的是希望添加到TabControl中的对话框，在其类定义，类实现文件中必须添加如下信息：<br>例如CVCKBASEDlg类，在VCKBASEDlg.h中添加 DECLARE_DYNCREATE(CVCKBASEDlg)
<pre>class CVCKBASEDlg : public CDialog<br>{<br>// Construction<br>public:<br>	CVCKBASEDlg(CWnd* pParent = NULL);   // standard constructor<br><strong>	DECLARE_DYNCREATE(CVCKBASEDlg)</strong></pre>
<p>在.CPP中增加 IMPLEMENT_DYNCREATE(CVCKBASEDlg, CDialog)</p>
<p><br>至此我们已经大功告成!我们可以编译运行一下看看两个控制条有没有创建成功。<br>哇噻！只用这几行代码就实现了梦寐以求的界面！ </p>
<p><strong><font color="#009966">三、更加高级的话题</font></strong><br>3.1 该ControlBar在浮动的时候顶部的把手会消失，变成了普通的ToolWindow类型的标题栏。为了避免这种情况，我们需要在CMainFrame::OnCreate()中，在EnableDocking()后加入:<br></p>
<pre>#ifdef _SCB_REPLACE_MINIFRAME<br>m_pFloatingFrameClass = RUNTIME_CLASS(CSCBMiniDockFrameWnd); <br>#endif //_SCB_REPLACE_MINIFRAME<br>并在stdafx.h中加上#define	_SCB_REPLACE_MINIFRAME<br></pre>
3.2 该类的另外一种风格可以在stdafx.h中加上 #define _SCB_STYLE_FLAT 产生，您不妨试试!<br><br>3.3 如何将两个ControlBar停靠在同一行中<br>
<pre>	DockControlBar(&amp;m_wndMyBar1, AFX_IDW_DOCKBAR_BOTTOM);///停靠在底部<br>	RecalcLayout();<br>	CRect rect;<br>	m_wndMyBar1.GetWindowRect(rect);<br>	rect.OffsetRect(1, 0);//偏移一个位置<br>	DockControlBar(&amp;m_wndMyBar2, AFX_IDW_DOCKBAR_BOTTOM,rect);///也停靠在底部<br></pre>
3.4 如何将两个ControlBar停靠在同一列中<br>
<pre>	DockControlBar(&amp;m_wndMyBar1, AFX_IDW_DOCKBAR_RIGHT);///停靠在右边<br>	RecalcLayout();<br>	CRect rect;<br>	m_wndMyBar1.GetWindowRect(rect);<br>	rect.OffsetRect(0, 1);//看到这里的区别了吗<br>	DockControlBar(&amp;m_wndMyBar2, AFX_IDW_DOCKBAR_RIGHT,rect);///也停靠在右边<br></pre>
<font color="#009966"><strong>后记<br></strong></font>本文是在百忙中匆匆完成，错误之处希望大家批评指正！<br>最后，让我们再次感谢Cristi Posea先生为我们提供了如此好用的CSizingControlBar!<br><br><a  href="http://www.cppblog.com/Files/Lee7/bardemo.zip" title="示例代码">示例代码</a><br> <img src ="http://www.cppblog.com/Lee7/aggbug/46875.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Lee7/" target="_blank">isabc</a> 2008-04-11 22:56 <a href="http://www.cppblog.com/Lee7/archive/2008/04/11/46875.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>编辑框控件的一些用法</title><link>http://www.cppblog.com/Lee7/archive/2007/12/21/39228.html</link><dc:creator>isabc</dc:creator><author>isabc</author><pubDate>Fri, 21 Dec 2007 09:00:00 GMT</pubDate><guid>http://www.cppblog.com/Lee7/archive/2007/12/21/39228.html</guid><wfw:comment>http://www.cppblog.com/Lee7/comments/39228.html</wfw:comment><comments>http://www.cppblog.com/Lee7/archive/2007/12/21/39228.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Lee7/comments/commentRss/39228.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Lee7/services/trackbacks/39228.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 编辑框(Edit Box)控件实际上是一个简易的正文编辑器，用户可以在编辑框中输入并编辑正文。编辑框既可以是单行的，也可以是多行的，多行编辑框是从零开始编行号的．在一个多行编辑框中，除了最后一行外，每一行的结尾处都有一对回车换行符（用＂\r\n＂表示）．这对回车换行符是正文换行的标志，在屏幕上是不可见的&nbsp;&nbsp;<a href='http://www.cppblog.com/Lee7/archive/2007/12/21/39228.html'>阅读全文</a><img src ="http://www.cppblog.com/Lee7/aggbug/39228.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Lee7/" target="_blank">isabc</a> 2007-12-21 17:00 <a href="http://www.cppblog.com/Lee7/archive/2007/12/21/39228.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Visual C++ ADO数据库编程入门</title><link>http://www.cppblog.com/Lee7/archive/2007/12/05/37879.html</link><dc:creator>isabc</dc:creator><author>isabc</author><pubDate>Wed, 05 Dec 2007 12:19:00 GMT</pubDate><guid>http://www.cppblog.com/Lee7/archive/2007/12/05/37879.html</guid><wfw:comment>http://www.cppblog.com/Lee7/comments/37879.html</wfw:comment><comments>http://www.cppblog.com/Lee7/archive/2007/12/05/37879.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Lee7/comments/commentRss/37879.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Lee7/services/trackbacks/37879.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 摘要 本文简要介绍了在VC++ 6.0中使用 ADO进行客户端数据库编程的基本步骤，以及常见问题的解决方法，可供入门级的参考之用。&nbsp;&nbsp;<a href='http://www.cppblog.com/Lee7/archive/2007/12/05/37879.html'>阅读全文</a><img src ="http://www.cppblog.com/Lee7/aggbug/37879.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Lee7/" target="_blank">isabc</a> 2007-12-05 20:19 <a href="http://www.cppblog.com/Lee7/archive/2007/12/05/37879.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Dao编程中，怎样赋给一条记录各字段的值</title><link>http://www.cppblog.com/Lee7/archive/2007/11/20/37022.html</link><dc:creator>isabc</dc:creator><author>isabc</author><pubDate>Tue, 20 Nov 2007 08:09:00 GMT</pubDate><guid>http://www.cppblog.com/Lee7/archive/2007/11/20/37022.html</guid><wfw:comment>http://www.cppblog.com/Lee7/comments/37022.html</wfw:comment><comments>http://www.cppblog.com/Lee7/archive/2007/11/20/37022.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Lee7/comments/commentRss/37022.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Lee7/services/trackbacks/37022.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">COleVariant&nbsp;&nbsp;&nbsp;var;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">字符型&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;CString&nbsp;&nbsp;&nbsp;szItem</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">_T(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">abcdefg</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;rs.SetFieldValue(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">String</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,(LPCTSTR)szItem);&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">数值型&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;var</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">10.5</span><span style="COLOR: #000000">;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;rs.SetFieldValue(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Decimal</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,var);&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">日期型&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;COleDateTime&nbsp;&nbsp;&nbsp;testTime(</span><span style="COLOR: #000000">2000</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;var</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">testTime;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;rs.SetFieldValue(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Time</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,var);&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">布尔型&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;var.vt</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">VT_BOOL;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;var.boolVal</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;rs.SetFieldValue(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Bool</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,var);</span></div>
<img src ="http://www.cppblog.com/Lee7/aggbug/37022.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Lee7/" target="_blank">isabc</a> 2007-11-20 16:09 <a href="http://www.cppblog.com/Lee7/archive/2007/11/20/37022.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何改变Dialog中字体颜色？</title><link>http://www.cppblog.com/Lee7/archive/2007/11/15/36672.html</link><dc:creator>isabc</dc:creator><author>isabc</author><pubDate>Thu, 15 Nov 2007 05:54:00 GMT</pubDate><guid>http://www.cppblog.com/Lee7/archive/2007/11/15/36672.html</guid><wfw:comment>http://www.cppblog.com/Lee7/comments/36672.html</wfw:comment><comments>http://www.cppblog.com/Lee7/archive/2007/11/15/36672.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Lee7/comments/commentRss/36672.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Lee7/services/trackbacks/36672.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 重载OnCtlColor函数，在要更改颜色的时候向对话框发送WM_CTLCOLOR&nbsp;&nbsp;<a href='http://www.cppblog.com/Lee7/archive/2007/11/15/36672.html'>阅读全文</a><img src ="http://www.cppblog.com/Lee7/aggbug/36672.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Lee7/" target="_blank">isabc</a> 2007-11-15 13:54 <a href="http://www.cppblog.com/Lee7/archive/2007/11/15/36672.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何获取本机计算机名和IP地址？</title><link>http://www.cppblog.com/Lee7/archive/2007/11/15/36667.html</link><dc:creator>isabc</dc:creator><author>isabc</author><pubDate>Thu, 15 Nov 2007 03:43:00 GMT</pubDate><guid>http://www.cppblog.com/Lee7/archive/2007/11/15/36667.html</guid><wfw:comment>http://www.cppblog.com/Lee7/comments/36667.html</wfw:comment><comments>http://www.cppblog.com/Lee7/archive/2007/11/15/36667.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Lee7/comments/commentRss/36667.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Lee7/services/trackbacks/36667.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 使用了gethostname()和gethostbyname().获取本机IP和计算机名&nbsp;&nbsp;<a href='http://www.cppblog.com/Lee7/archive/2007/11/15/36667.html'>阅读全文</a><img src ="http://www.cppblog.com/Lee7/aggbug/36667.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Lee7/" target="_blank">isabc</a> 2007-11-15 11:43 <a href="http://www.cppblog.com/Lee7/archive/2007/11/15/36667.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何让一个对话框程序重新启动?</title><link>http://www.cppblog.com/Lee7/archive/2007/11/15/36666.html</link><dc:creator>isabc</dc:creator><author>isabc</author><pubDate>Thu, 15 Nov 2007 03:38:00 GMT</pubDate><guid>http://www.cppblog.com/Lee7/archive/2007/11/15/36666.html</guid><wfw:comment>http://www.cppblog.com/Lee7/comments/36666.html</wfw:comment><comments>http://www.cppblog.com/Lee7/archive/2007/11/15/36666.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Lee7/comments/commentRss/36666.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Lee7/services/trackbacks/36666.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 通过查阅资料实现了对话框程序重新启动的功能。<br>&nbsp;&nbsp;<a href='http://www.cppblog.com/Lee7/archive/2007/11/15/36666.html'>阅读全文</a><img src ="http://www.cppblog.com/Lee7/aggbug/36666.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Lee7/" target="_blank">isabc</a> 2007-11-15 11:38 <a href="http://www.cppblog.com/Lee7/archive/2007/11/15/36666.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]ListControl的使用</title><link>http://www.cppblog.com/Lee7/archive/2007/11/12/36424.html</link><dc:creator>isabc</dc:creator><author>isabc</author><pubDate>Mon, 12 Nov 2007 02:02:00 GMT</pubDate><guid>http://www.cppblog.com/Lee7/archive/2007/11/12/36424.html</guid><wfw:comment>http://www.cppblog.com/Lee7/comments/36424.html</wfw:comment><comments>http://www.cppblog.com/Lee7/archive/2007/11/12/36424.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Lee7/comments/commentRss/36424.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Lee7/services/trackbacks/36424.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">一、基本使用<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">.新加ListControl&nbsp;控件，属性中的style属性页下的View选择Report。<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>并设置其对应的控制变量如：m_list1。<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">.初始化，即设置列。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用m_list1。<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_list1.InsertColumn(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">曲名</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">插入列</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;m_list1.InsertColumn(</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">类型</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;m_list1.InsertColumn(</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">长度</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;m_list1.InsertColumn(</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">路径</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;CRect&nbsp;rect4;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;m_list1.GetClientRect(rect4);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">获得当前客户区信息</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;m_list1.SetColumnWidth(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,rect4.Width()</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">设置列的宽度。</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;m_list1.SetColumnWidth(</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,rect4.Width()</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;m_list1.SetColumnWidth(</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">,rect4.Width()</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;m_list1.SetColumnWidth(</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">,rect4.Width()</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">8</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">20</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;这部分初始化操作，最好放在对话框类的OnInitDialog()函数里，自动初始化。<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">.插入数据<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_list1.InsertItem(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">大海</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">插入第一个数据，即第0条数据。先插入，然后在修改其他的信息。</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_list1.SetItemText(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">MP3</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">修改第0条数据的其他信息。</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_list1.SetItemText(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">4:20</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_list1.SetItemText(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">c:\</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">.删除所有数据<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_list1.DeleteAllItems();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>二、其他技巧<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">.如何设置ListView控件的完全行(Full&nbsp;Row)选项。<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;这个控件有个地方常常很恼人，那就是在报告视图中选中一行时，它只加亮最左边的一个栏目。<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;为了克服这个问题，这里告诉你一个方法：向ListView控件发送一个LVM_SETEXTENDEDLISTVIEWSTYLE消息。<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>::SendMessage(m_list1.m_hWnd,&nbsp;LVM_SETEXTENDEDLISTVIEWSTYLE,LVS_EX_FULLROWSELECT,&nbsp;LVS_EX_FULLROWSELECT);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<img src ="http://www.cppblog.com/Lee7/aggbug/36424.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Lee7/" target="_blank">isabc</a> 2007-11-12 10:02 <a href="http://www.cppblog.com/Lee7/archive/2007/11/12/36424.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>第一次使用　VC SetTimer()</title><link>http://www.cppblog.com/Lee7/archive/2007/10/26/35245.html</link><dc:creator>isabc</dc:creator><author>isabc</author><pubDate>Fri, 26 Oct 2007 08:33:00 GMT</pubDate><guid>http://www.cppblog.com/Lee7/archive/2007/10/26/35245.html</guid><wfw:comment>http://www.cppblog.com/Lee7/comments/35245.html</wfw:comment><comments>http://www.cppblog.com/Lee7/archive/2007/10/26/35245.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/Lee7/comments/commentRss/35245.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Lee7/services/trackbacks/35245.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 　　最近在＂体验＂一个加密锁的操作，既然是加密锁肯定要不断访问锁上信息，＂百度＂and＂Google＂了解到一些思路,使用Timer控件，另外是采用时间消息响应机制使用的SetTimer函数，在VC6.0中Add to Project没有找到Timer控件，“百度”，发现vc没有Timer控件，只有使用SetTimer()了,<br>         Google了几篇文章，有简单的介绍，不详细。都是没有源代码（呵呵，本人比较笨，有代码才能明白，万一不明白就“照葫芦画瓢”），我现在清楚了贴出代码方便需要的人。（本人愚钝，写得可能不严谨或者错误，如有错误请指正！）&nbsp;&nbsp;<a href='http://www.cppblog.com/Lee7/archive/2007/10/26/35245.html'>阅读全文</a><img src ="http://www.cppblog.com/Lee7/aggbug/35245.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Lee7/" target="_blank">isabc</a> 2007-10-26 16:33 <a href="http://www.cppblog.com/Lee7/archive/2007/10/26/35245.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VC6.0 控件Radio Button的使用 </title><link>http://www.cppblog.com/Lee7/archive/2007/09/13/32152.html</link><dc:creator>isabc</dc:creator><author>isabc</author><pubDate>Thu, 13 Sep 2007 10:14:00 GMT</pubDate><guid>http://www.cppblog.com/Lee7/archive/2007/09/13/32152.html</guid><wfw:comment>http://www.cppblog.com/Lee7/comments/32152.html</wfw:comment><comments>http://www.cppblog.com/Lee7/archive/2007/09/13/32152.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/Lee7/comments/commentRss/32152.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Lee7/services/trackbacks/32152.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: VC6.0 控件Radio Button的使用 ，代码是我参照写的，可以参考！！&nbsp;&nbsp;<a href='http://www.cppblog.com/Lee7/archive/2007/09/13/32152.html'>阅读全文</a><img src ="http://www.cppblog.com/Lee7/aggbug/32152.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Lee7/" target="_blank">isabc</a> 2007-09-13 18:14 <a href="http://www.cppblog.com/Lee7/archive/2007/09/13/32152.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[原创]点击按钮，弹出另一个对话框的Demo</title><link>http://www.cppblog.com/Lee7/archive/2007/08/29/31155.html</link><dc:creator>isabc</dc:creator><author>isabc</author><pubDate>Wed, 29 Aug 2007 07:13:00 GMT</pubDate><guid>http://www.cppblog.com/Lee7/archive/2007/08/29/31155.html</guid><wfw:comment>http://www.cppblog.com/Lee7/comments/31155.html</wfw:comment><comments>http://www.cppblog.com/Lee7/archive/2007/08/29/31155.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Lee7/comments/commentRss/31155.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Lee7/services/trackbacks/31155.html</trackback:ping><description><![CDATA[<p style="FONT-SIZE: 10pt">第一步：添加（Insert Dialog）要弹出的Dialog，根据自己需要可以设计界面，因为我是一个简单Demo，所以很简单！<br>第二步：为添加的Dialog添加建立成一个继承DLG的类，class CDialog1 : public CDialog<br>第三步：在主对话框中为按钮添加函数。如下：<br>void CClickDialogDlg::OnButton1() <br>{<br>&nbsp;// TODO: Add your control notification handler code here<br>&nbsp;&nbsp;&nbsp; CDialog1&nbsp; dlg;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; dlg.DoModal(); <br>}<br><br>不要忘记#include "Dialog1.h"<br><br>附源代码：<a href="http://www.cppblog.com/Files/Lee7/ClickDialog.rar">/Files/Lee7/ClickDialog.rar</a><br><br></p>
<img src ="http://www.cppblog.com/Lee7/aggbug/31155.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Lee7/" target="_blank">isabc</a> 2007-08-29 15:13 <a href="http://www.cppblog.com/Lee7/archive/2007/08/29/31155.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]VC++ List Ctrl控件</title><link>http://www.cppblog.com/Lee7/archive/2007/08/29/31128.html</link><dc:creator>isabc</dc:creator><author>isabc</author><pubDate>Wed, 29 Aug 2007 03:05:00 GMT</pubDate><guid>http://www.cppblog.com/Lee7/archive/2007/08/29/31128.html</guid><wfw:comment>http://www.cppblog.com/Lee7/comments/31128.html</wfw:comment><comments>http://www.cppblog.com/Lee7/archive/2007/08/29/31128.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Lee7/comments/commentRss/31128.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Lee7/services/trackbacks/31128.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 列表控件可以看作是功能增强的ListBox，它提供了四种风格，而且可以同时显示一列的多中属性值。MFC中使用CListCtrl类来封装列表控件的各种操作。&nbsp;&nbsp;<a href='http://www.cppblog.com/Lee7/archive/2007/08/29/31128.html'>阅读全文</a><img src ="http://www.cppblog.com/Lee7/aggbug/31128.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Lee7/" target="_blank">isabc</a> 2007-08-29 11:05 <a href="http://www.cppblog.com/Lee7/archive/2007/08/29/31128.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>