网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > DotNet > VC.NET > VC++开发的应用技巧三则放送  

VC++开发的应用技巧三则放送

2007-03-01  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

1、创建向导对话框

  在使用具体某个软件的时候,我们常常会在该程序中使用向导模式来建立新的文件,最典型的例子就是在Frontpage2000中或者Word2000中使用向导方式来新建一个网页文件或者Word文档。那么看到别的程序都能提供人性化的向导对话框后,不知您有没有什么冲动?如果有的话,不妨使用下面的代码来创建一个向导对话框:

网管论坛bbs_bitsCN_com


以下是引用片段:
void CMy56_s1Dlg::OnWiz()
{
    CSheet sheet;
    sheet.SetWizardMode();
    int iRet=sheet.DoModal();//返回ID_WIZFINISH或IDCANCEL
}
//重载BOOL CPropertyPage::OnSetActive( )来控制显示的按钮

BOOL CPage1::OnSetActive()
{
    ((CPropertySheet*)GetParent())->SetWizardButtons(PSWIZB_BACK|PSWIZB_NEXT);
    return CPropertyPage::OnSetActive();
}

BOOL CPage2::OnSetActive()
{
    ((CPropertySheet*)GetParent())->SetWizardButtons(PSWIZB_BACK|PSWIZB_FINISH); 网管u家www.bitscn.net
    return CPropertyPage::OnSetActive();
}
网管联盟bitsCN_com

  2、在计算机之间实现收发数据

网管朋友网www_bitscn_net

  大家知道,计算机之间相互通信时,一般都是通过TCP协议来与指定IP地址的主机来建立联系,并进行相互通信的,在这个过程中,必需有一方扮演服务器的角色等待另一方(客户端)的连接请求,所以服务器端需要建立一个监听套接口,然后在此套接口上等待连接。当连接建立后会产生一个新的套接口用于通信。而客户端在创建套接口后只需要简单的调用连接函数就可以创建连接。对于有连接的通信不论是数据的发送还是发送与接收的顺序都是有保证的。下面的代码就是利用VC++提供的CSocket来实现数据收发功能的: 网管朋友网www_bitscn_net

以下是引用片段:
/*
服务器方在端口6802上等待连接,当连接建立后关闭监听套接口
客户方向服务器端口6802发起连接请求
*/

BOOL CMy63_s1_serverDlg::OnInitDialog()
{
    CDialog::OnInitDialog();

    CSocket sockListen;
    //创建本地套接口
    sockListen.Create(6802,SOCK_STREAM,"127.0.0.1");
    //绑定参数
    sockListen.Bind(6802,"127.0.0.1");
    sockListen.Listen(5);
    //等待连接请求,m_sockSend为成员变量,用于通信
    sockListen.Accept(m_sockSend);
    //关闭监听套接口 网管有家bitscn.net
    sockListen.Close();
    //启动定时器,定时发送数据
   
    SetTimer(1,3000,NULL);
}


void CMy63_s1_serverDlg::OnTimer(UINT nIDEvent)
{
    static iIndex=0;
    char szSend[20];
    sprintf(szSend,"%010d",iIndex++);
    //发送TCP数据
    int iSend= m_sockSend.Send(szSend,10,0);
}

BOOL CMy63_s1_clientDlg::OnInitDialog()
{
    CDialog::OnInitDialog();
    //创建本地套接口
    m_sockRecv.Create();
    //发起连接请求
    BOOL fC=m_sockRecv.Connect("127.0.0.1",6802);
    TRACE("connect is %s ",(fC)?"OK":"Error");
    //启动定时器,定时接收数据
    SetTimer(1,3000,NULL);
}

void CMy63_s1_clientDlg::OnTimer(UINT nIDEvent)
{
    char szRecv[20];
    //接收TCP数据

中国网管论坛bbs.bitsCN.com


    int iRecv =m_sockRecv.Receive(szRecv,10,0);
    TRACE("received %d byte ",iRecv);
    if(iRecv>=0)
    {
        szRecv[iRecv]='';
        m_szRecv=szRecv;
        UpdateData(FALSE);
    }
}
中国网管论坛bbs.bitsCN.com

 

网管bitscn_com

网管u家www.bitscn.net

上一页12 下一页
TAGs   放送   应用技巧   开发       //   连接   接口   数据   实现   工具      
 上一篇:在VC++中生成伪随机数祥解   下一篇:C++中对浮点数的格式化显示
相关文章列表
VC++开发的应用技巧三则放送 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
1.vs2008破解继续使用方法
2.Visual C#多线程参数传递浅析
3.VS在Debug时检测到Loaderlock的解决办法
4.使用C#的BitmapData编程实例
5..NET Web开发震撼之变:.NET MVC框架
6.VC下实现定时任务的方法讨论
7.怎样在 Visual C# .NET 中跟踪和调试
8.C #中的几个线程同步对象方法
最新推荐文章:
1.介绍VC6.0的18个实用小技巧
2..Net下进程外COM服务器的实现
3.用VC 6.0实现串行通信的三种方法
4.基于VC.NET的GDI+编程之CImage
5.在MFC下如何定义全局变量和全局函数
6.Visual C++制作一个Sniffer实例
7.VC++环境下浮动工具条的编程
8.Microsoft .NET Compact Framework 数据
9.VC.NET的Direct3D极速入门宝典
10.VC++.NET中定义和使用MFC DLL
网管论坛交流:
·大家来开心一下吧---看了会很开心的东西-
·中国人不可不知道的知识
·@@小鹏◎◎小鹏同志与某位女明星亲密接触
·◎◎小鹏◎◎发现不明生物,居然正在交配
·[图文]^^^版主是什么?????
·泡论坛的女人是好女人
·做个“水性杨花”的女人
·献给mm俱乐部的所有mm
·深圳一集团企业电脑基础应用培训教程
·■■■■十一遊玩照■■■■■