学习论坛 会员投稿 RSS订阅 站内通告:
搜索: 您的位置网站源代码 > 网络编程 > visual c++教程 > C++资产设备管理系统(二):主窗体设计

C++资产设备管理系统(二):主窗体设计

2009-10-03 12:29:42 来源:原创 【 】 浏览:
摘要: 主窗体设计,下面笔者讲述如何将状态栏、工具栏显示在窗口中、如何在窗口中绘图、以及在窗口改变时,如何调整控件的大小。

主窗体设计
下面笔者讲述如何将状态栏、工具栏显示在窗口中、如何在窗口中绘图、以及在窗口改变时,如何调整控件的大小。
(1)在窗口类CEquipmentDlg的头文件中引入“CustomBar.h”头文件,并定义3个共有成员变量。代码如下:
//引入“CustomBar.h”头文件
#include "CustomBar.h"
//定义共有成员变量
public:
CStatusBarCtrl statusbar; //状态栏
HICON m_hIcon; //图标
CCustomBar toolbar;//工具栏
(2)在窗口的构造函数中添加如下代码,用于加载窗口图标。
CEquipmentDlg::CEquipmentDlg(CWnd* pParent /*=NULL*/)
: CDialog(CEquipmentDlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINTITLE); //设置窗口图标,IDR_MAINTILTE是预先导
//入的图标,用户可以在资源视图中导入一个图标,将ID设置为IDR_MAINTILTE
toolbarcreated = false;
}
(3)处理窗口类的OnInitDialog()方法,创建并显示状态栏、工具栏。
BOOL CEquipmentDlg::OnInitDialog()
{
CDialog::OnInitDialog();
/******************************创建工具栏*********************************/
toolbar.Create(TBSTYLE_FLAT|CCS_TOP|WS_CHILD|WS_VISIBLE|WS_BORDER|CCS_ADJUST
ABLE|TBSTYLE_WRAPABLE,CRect(0,0,0,0),this,IDR_TOOLBAR1);
//MouseMove = DoToolMouseMove;
/******************************创建工具栏*********************************/
/******************************创建状态栏*********************************/
int panels[panelnum];//定义一个整型数组,记录状态栏每个面板的宽度
CRect rect1;
this->GetClientRect(&rect1);
//this->GetClientRect()
panels[0]= rect1.Width() / 9;
panels[1]=rect1.Width() / 9*3;
panels[2]=panels[1]+rect1.Width() / 9;
panels[3]=panels[2]+rect1.Width() / 9*2;
panels[4]=panels[3]+rect1.Width() / 9;
panels[5]=2000;
statusbar.Create(WS_CHILD|WS_VISIBLE|CCS_BOTTOM|SBARS_SIZEGRIP,
rect1,this,ID_statusbar);
statusbar.SetParts(panelnum,panels);//设置状态栏面板及宽度
statusbar.SetText("提示",0,0);
statusbar.SetText("公司",2,0);
CString string;
string.LoadString(IDS_COMPANY);
statusbar.SetText(string,3,0);
statusbar.SetText("系统时间",4,0);
/******************************创建状态栏**********************************/
this->UpdateWindow();
toolbarcreated = true;
SetIcon(m_hIcon, TRUE);// Set big icon
SetIcon(m_hIcon, FALSE);// Set small icon
SetWindowText("【资产设备管理系统】"); //设置窗口标题
this->ShowWindow(SW_SHOWMAXIMIZED);
this->SetTimer(12,1000,NULL);
return TRUE;  // return TRUE  unless you set the focus to a control
}
(4)导入窗口图片。在工作区的资源视图中鼠标右键单击根节点“Equipment resources”,在弹出的快捷菜单中选择“Insert”菜单项,打开“Insert Resoaia”对话框,如图1所示。

图1  添加资源对话框
(5)选中“Bitmap”选项,单击“Import…”按钮,从磁盘中导入一幅位图作为主窗口的背景图片,设置位图资源ID为“IDB_BITMAP3”。
(6)修改主窗口的OnPaint()方法,代码如下:
void CEquipmentDlg::OnPaint()
{
CPaintDC dc(this);
CDC MemDC;//定义一个画布对象
CBitmap bit;//定义一个位图对象
CRect rect;
bit.LoadBitmap(IDB_BITMAP3);//加载位图
MemDC.CreateCompatibleDC(this->GetDC());//创建一个兼容的画布对象


顶一下
(0)
0%
踩一下
(0)
0%
Tags: C++教程
责任编辑:小人物
收藏】 【挑错】 【推荐】 【打印
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
关于我们 | 网站声明 | 广告服务 | 招聘英才 | 联系我们 | 网站地图 | RSS订阅 |