设为首页 加入收藏

TOP

11.1.2 客户端(1)
2013-10-07 13:02:56 来源: 作者: 【 】 浏览:66
Tags:11.1.2 客户端

11.1.2  客户端(1)

在客户端实例中,实例程序的界面应该与QQ的界面相似。因此,在VC中新建一个工程,修改工程名为"仿QQ程序客户端"。而其他设置均与服务器端一样。

1.客户端界面设计

用户可以在对话框资源编辑器中,将窗口拖放到与QQ窗口同样大小,如图11.13所示。但是,用户在实际使用该实例时,常常需要使用鼠标将窗口拉大或者是拉小。为了使程序运行时具有该功能,用户可以右击对话框面板,在弹出的快捷菜单中选择"属性"命令,弹出"对话 属性"对话框,如图11.14所示。

用户在该对话框中,选择"样式"选项卡,在边框下拉列表框中选择"调整大小"选项。当客户端实例运行时,用户便可以使用鼠标对窗口进行缩放了。请用户参考随书光盘中的实例代码。

现在,用户可以在VC的资源管理器中,为客户端主窗口添加相应的功能控件。添加控件后的界面效果如图11.15所示。

 

其中,添加的控件ID、类型以及作用等如表11.2所示。

表11.2  控件ID、类型以及作用

ID< xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

控件类型

控件作用

IDC_LIST1

列表控件

显示好友

IDC_EMAIL

按钮

QQ邮件

IDC_NET

按钮

QQ网页

用户添加控件成功以后,为了使添加的控件能随窗口的大小改变而改变。该功能应该在窗口类的函数OnSize()中实现,代码如下:

  1. void CQQDlg::OnSize(UINT nType, int cx, int cy)  
  2. {  
  3.     CDialog::OnSize(nType, cx, cy);  
  4.     RECT rect;                                     
    //定义结构体变量  
  5.     ::GetWindowRect(m_hWnd,&rect);                  
    //获取窗口的大小  
  6.     GetDlgItem(IDC_LIST1)->MoveWindow(&rect,true);  
    //根据窗口的大小移动控件  
  7.    GetDlgItem(IDC_EMAIL)->MoveWindow(&rect,true);  
  8.    GetDlgItem(IDC_NET)->MoveWindow(&rect,true);  

当窗口的大小发生变化时,程序会调用该函数进行处理。通过以上代码,用户实现了控件随窗口的大小改变而改变。

2.显示QQ图标

为了使实例程序与真实QQ的效果一样,用户可以在程序中添加一个QQ图标。其方法如下:

(1)在实例工程中,添加一个图标资源。选择"插入"|"资源"命令,弹出"插入资源"对话框,如图11.16所示。

 
图11.16  插入资源对话框
用户选中资源类型列表中的选项Icon,再单击"引入"按钮,选择并插入图标文件即可。在VC资源管理器的图标项中,用户可以查看刚添加的图标文件,如图11.17 所示。
 
(点击查看大图)图11.17  刚插入的图标资源
(2)用户可以将该图标文件的名称修改为IDR_MAINFRAME,并且在对话框类CQQDlg的初始化函数中调用函数载入该图标资源到程序中。代码如下:
  1. CQQDlg::CQQDlg(CWnd* pParent /*=NULL*/)  
  2.     : CDialog(CQQDlg::IDD, pParent)             //对
    话框类的初始化函数  
  3. {  
  4.     m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);//载入图标资源  

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇11.1.2 客户端(2) 下一篇11.4.1 URL编码

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: