⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 01_9_13_10.asp.html

📁 有用的VC教程,包括编程思想编程技巧程序效率等方面的指导
💻 HTML
📖 第 1 页 / 共 3 页
字号:
实战演练</td></tr></table><table width=100% ><tr><td class=a14>
由于精力有限,只提供一个实战例子:将视图,工具栏和状态栏赶到右边</td></tr></table><table width=100% ><tr><td class=a14>
我们要生成这样的界面:视图窗口,工具栏和状态条统统在右边,左边是个自己加的窗口。</td></tr></table><table width=100% ><tr><td class=a14>
第一步:启动AppWizard生成一个单文档程序,全部使用默认设置。</td></tr></table><table width=100% ><tr><td class=a14>
第二步:在CMainFrame类里增加一个成员 CWnd m_mywnd。</td></tr></table><table width=100% ><tr><td class=a14>
第三步:在CMainFrame::OnCreate()函数里增加这几行:</td></tr></table><table width=100% ><tr><td class=a14>
    m_mywnd.CreateEx</td></tr></table><table width=100% ><tr><td class=a14>
    (</td></tr></table><table width=100% ><tr><td class=a14>
        WS_EX_CLIENTEDGE,</td></tr></table><table width=100% ><tr><td class=a14>
        AfxRegisterWndClass</td></tr></table><table width=100% ><tr><td class=a14>
       (</td></tr></table><table width=100% ><tr><td class=a14>
            CS_HREDRAW|CS_VREDRAW,</td></tr></table><table width=100% ><tr><td class=a14>
            ::LoadCursor(NULL,IDC_ARROW),</td></tr></table><table width=100% ><tr><td class=a14>
            ::CreateSolidBrush(RGB(190,190,190))</td></tr></table><table width=100% ><tr><td class=a14>
        ),</td></tr></table><table width=100% ><tr><td class=a14>
       "",</td></tr></table><table width=100% ><tr><td class=a14>
       WS_VISIBLE|WS_CHILD,</td></tr></table><table width=100% ><tr><td class=a14>
       CRect(0,0,0,0),</td></tr></table><table width=100% ><tr><td class=a14>
       this,</td></tr></table><table width=100% ><tr><td class=a14>
       IDC_MYPANE //用IDE的菜单view/resource symbols项加入的id。</td></tr></table><table width=100% ><tr><td class=a14>
    );</td></tr></table><table width=100% ><tr><td class=a14>
</td></tr></table><table width=100% ><tr><td class=a14>
第四步:启动ClassView,在CMainFrame里加上虚函数RecalcLayout(),函数体这样写:</td></tr></table><table width=100% ><tr><td class=a14>
void CMainFrame::RecalcLayout(BOOL bNotify)</td></tr></table><table width=100% ><tr><td class=a14>
{</td></tr></table><table width=100% ><tr><td class=a14>
    if (m_bInRecalcLayout)</td></tr></table><table width=100% ><tr><td class=a14>
        return;</td></tr></table><table width=100% ><tr><td class=a14>
    m_bInRecalcLayout = TRUE;</td></tr></table><table width=100% ><tr><td class=a14>
</td></tr></table><table width=100% ><tr><td class=a14>
    //rect1是新加的窗口将占据的区域</td></tr></table><table width=100% ><tr><td class=a14>
    //rect2就是提供给工具栏,状态条和视图窗口的初始可用区域。</td></tr></table><table width=100% ><tr><td class=a14>
    CRect rect1,rect2;</td></tr></table><table width=100% ><tr><td class=a14>
    GetClientRect(&rect1);</td></tr></table><table width=100% ><tr><td class=a14>
    rect1.right=rect1.right/3;</td></tr></table><table width=100% ><tr><td class=a14>
    GetClientRect(&rect2);</td></tr></table><table width=100% ><tr><td class=a14>
    rect2.left=rect2.right/3;</td></tr></table><table width=100% ><tr><td class=a14>
</td></tr></table><table width=100% ><tr><td class=a14>
    if(::IsWindow(m_mywnd.m_hWnd)) //这句是不能少的</td></tr></table><table width=100% ><tr><td class=a14>
        m_mywnd.MoveWindow(&rect1);</td></tr></table><table width=100% ><tr><td class=a14>
    RepositionBars(0, 0xffff, AFX_IDW_PANE_FIRST, reposExtra, CRect(0,0,0,0),&rect2);</td></tr></table><table width=100% ><tr><td class=a14>
    m_bInRecalcLayout = FALSE;</td></tr></table><table width=100% ><tr><td class=a14>
}</td></tr></table><table width=100% ><tr><td class=a14>
</td></tr></table><table width=100% ><tr><td class=a14>
第五步:用IDE的菜单view/resource symbols项加入一个id:IDC_MYPANE。</td></tr></table><table width=100% ><tr><td class=a14>
第六步:编译并运行程序。</td></tr></table><table width=100% ><tr><td class=a14>
</td></tr></table><table width=100% ><tr><td class=a14>
    好了,在主框架窗口的左边多了一个灰色的窗口,它占主窗口客户区的三分之一。工具栏,状态条和视图都被赶到右边三分之二的地方去了。</td></tr></table><table width=100% ><tr><td class=a14>
</td></tr></table><table width=100% ><tr><td class=a14>
 </td></tr></table><table width=100% ><tr><td class=a14>
</td></tr>
</table><br>
<style>.a1{font-size:1}</style>
<table width=100% ><tr><td align=right>(网页编辑:<a href='mailto:liu_yang@ccw.com.cn'>风之翼</a>)</td></tr></table>
</td><td class=a1 bgcolor=#f46240>&nbsp;</td>
<td valign=top width=138 align=right><table width=98% ><tr><td>
<form action='/app/gsearch1.asp' name=pdn><table width=100% ><tr><td>应用与方案
频道全文检索</td></tr>
<tr><td><input type="text" name="textfile" size=15 value=频道内检索 onfocus="this.value=''">
	<input border=0 src="../../../../../images/jian.gif" name="I1" type="image" align=absmiddle>
</td></tr>
</table>
</form>
<form name=srch action="/search/which.asp" method=post onsubmit="JavaScript:return chk()">
<table width=100% >
  <tr><td><select size="1" name="func">
  <option selected value="2">主题检索</option>
  <option value="1">周报全文检索</option>
  <option value="3">模糊词检索</option>
</select></td></tr>
  <tr><td><input type="text" name="SrchStr" size=15 value="输入待检索的词"
  onfocus="this.value=''">
  <input src="../../../../../images/jian.gif" name="I1" type="image" align="absMiddle" border=0>
  </td></tr>
</table>
<script language="JavaScript">
function chk()
{if (!document.srch.SrchStr.value){
alert("请输入需检索的词!");	
document.srch.SrchStr.focus();
return false;
}
else{if (document.srch.SrchStr.value.length>30){
alert("检索的词请不要超过30个字符!");
document.srch.SrchStr.focus();
return false;
}
}
}
</script></form>
<table width=100% ><tr><td class=f colspan=2><b>相关文章</b></td></tr>
<tr><td valign=top><IMG SRC=../../../../../img2/jiao.gif></td><td><a href='01_9_13_9.asp.html'>改变MFC默认文档操作方式</a></td></tr>
<tr><td valign=top><IMG SRC=../../../../../img2/jiao.gif></td><td><a href='01_9_13_8.asp.html'>创建自定义窗口</a></td></tr>
<tr><td valign=top><IMG SRC=../../../../../img2/jiao.gif></td><td><a href='01_9_13_7.asp.html'>用VC++实现异形窗口.</a></td></tr>
<tr><td valign=top><IMG SRC=../../../../../img2/jiao.gif></td><td><a href='01_9_13_6.asp.html'>如何创建一个不规则形状的窗口</a></td></tr>
<tr><td valign=top><IMG SRC=../../../../../img2/jiao.gif></td><td><a href='01_9_13_5.asp.html'>直接在程序中更改显示模式</a></td></tr>
</table>
</td></tr></table></td></tr></table><br>
<table align=center width=680><tr><td align=right>
<form name=mail method=post action='/pub/subMail.asp' onsubmit='JavaScript: return chkField(this)'>
<INPUT type='hidden' name='rec' value='24069'>
您的姓名:<INPUT type="text" name=myName size=10>&nbsp;
您朋友的E-mail:<INPUT type="text" name=friendMail size=10>&nbsp;
<INPUT type="submit" value="推荐给好友">
</form>
</td></tr>
<tr><td align=right>
<b>[<a href="javascript:window.close()">关闭窗口</a>]</b>
</td></tr>
</table>
<script language="javascript">
function chkField(fmObj)
{if (!fmObj.friendMail.value){
	alert("请输入您朋友的E-mail!");
	fmObj.friendMail.focus();
	return false;
}
	return true;
}
</script>
<table align=center width=680>
<tr><td><hr size=1 width=660 color=#f46240></td></tr>
</table><br>
<p align=center>Copyright(C) ccw.com.cn,All rights reserved</p>
<p align=center><b>中国计算机世界出版服务公司版权所有</b></p>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -