VC操作SQL Server主从表

php中文网
发布: 2016-06-07 15:04:09
原创
1182人浏览过

工作之余,用VC作了一个小程序,是VC+SQL server模式的,程式内容比较简单,主要设及以下内容: 窗口如何分割; 多视图之间如何通信; 列表视图的操作及事件处理; 树形控件的操作及事件处理,利用递归根据数据库动态生成目录; 实现主从表的显示 以下对程序

工作之余,用VC作了一个小程序,是VC+SQL server模式的,程式内容比较简单,主要设及以下内容:

窗口如何分割;

多视图之间如何通信;

列表视图的操作及事件处理;

树形控件的操作及事件处理,利用递归根据数据库动态生成目录;

实现主从表的显示 以下对程序细节稍作一下说明;

一、窗口如何分割

切分窗口既适用于SDI应用程序,也适宜于MDI应用程序。它通常驻是以类 CSplitterWnd来表示,对 Windows 来说,CSplitterWnd 是一个真正的窗口,它完全占用框架窗口的客户区域而视图占用切分窗口的窗格区域。 动态切分与静态切分 动态切分允许用户须任何时候对窗口进行切分,用户既可以通过选取菜单也可以通过拖动滚动条中的切分框来进行切分。动态切分窗口使用的是一个视图类。 静态切分,当窗口第一次被创建时,窗格就已经被切他好了,它们不能再被改变。用户可以移动窗格边框,但此时不能再对窗口进行合并或再划分。静态切分窗口允许使用多个视图类,并且可以创建时对这些视图类进行配置。在静态切分窗口中,每个窗格都有自己的滚动条。 动态切分比较简单,不实用,下面看静态切分。

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)<br> {<br>    CRect rect;<br>    GetClientRect(&rect);<br>    m_wndSplitter1.CreateStatic(this,1,2);<br>    m_wndSplitter1.CreateView(0,0,RUNTIME_CLASS(CClassTreeView),CSize(150,150),pContext);<br>    m_wndSplitter2.CreateStatic(&m_wndSplitter1,<br>    2,1,WS_CHILD|WS_VISIBLE,<br>    m_wndSplitter1.IdFromRowCol(0,1));<br><br>    m_wndSplitter2.CreateView(1,0,RUNTIME_CLASS(CDagDetialView),CSize(0,0),pContext);<br>    m_wndSplitter2.CreateView(0,0,RUNTIME_CLASS(CDagView),CSize(0,0),pContext);<br>    m_wndSplitter2.SetRowInfo(0,rect.Height()/2,0);<br>    return true;<br>   //重载时不能调用基类的OnCreateClient()<br> }

以上是本程序DEMO使用的方法。关于切分详细信息,请查阅MSDN.

免费商城免费网店系统asp.net 2.0+sql2005
免费商城免费网店系统asp.net 2.0+sql2005

开发环境: 1、开发语言:asp.net 2.0(C#) 2、数据库sql 2005 3、开发平台:windows 2003+Microsoft .NET Framework v2.0 +Microsoft SQL server 2005+IIS6.0 配置环境要求: 1、操作系统须为windows 2003,须已安装IIS Web 6.0以上服务 (从Windows组件中安装IIS) 2、须已安

免费商城免费网店系统asp.net 2.0+sql2005 0
查看详情 免费商城免费网店系统asp.net 2.0+sql2005

二、多视图之间的通信

本程序demo使用了三个视图类,Winzard生成了一个,其余的是我加的。关于多视图之间的通信主要是茯得你要访问的视图类的pointer,如何茯得?有两种方法1,通过视图类(如果有多个视图共享一个文档类的话)2.通过主框架茯得。由于我的程式就一个文档类,其他视图类是独立的,所以就采用第二种方法了。

以下代码是茯得CDagDetialView类指针的示例,其余类同。

CMainFrame* pFrame=static_cast<cmainframe>(AfxGetMainWnd());//茯得主框架<br> CDagDetialView* pDagDetialView =<br> static_cast<cdagdetialview>(pFrame->m_wndSplitter2.GetPane(1,0));</cdagdetialview></cmainframe>

以上有一点,我觉得最好采用以上形式,虽说通过C的强制转换语法也行,但最好还是使用C++的语法比较好。

茯得视图指针后你就可以do anything that you want to do

顺便说一下,通信细节有一些牵连到效率的地方,一定要妥善处理。上面的demo程式,没有考虑过多。因为我觉得这比较适合大家看明白意思,如果程式模块分散开来,程式看起来是简洁了不少,但不太方便看清程序流程。请见谅。

1 2 3  下一页

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号