登录
首页 » VC++源码 » VC++ 实现基于文档视图结构的打印

VC++ 实现基于文档视图结构的打印

于 2022-06-19 发布 文件大小:29.66 kB
0 185
下载积分: 2 下载次数: 1

代码说明:

VC++ 实现基于文档视图结构的打印功能,把窗口中所显示的内容,包括表格全部打印出来,这种打印功能是最常规也是最实用的,源代码部分请参考DocViewPrintView.cpp文件,以下为参数定义:   CFont m_titlefont; //标题字体   CFont m_bodyfont; //正文字体   int screenx,screeny; //获取窗口每英寸像素数   int printx,printy; //获取打印机每英寸像素数   double xrate,yrate; //打印机与屏幕的像素比率   int pageheight; //打印纸高度   int pagewidth; //打印纸宽度   int leftmargin,rightmargin; //打印纸左右边距   BOOL isPreview; //是否处于预览状态

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • VC++ 使用自定义消息进行线程间的通信
    VC++ 使用自定义消息进行线程间的通信,在本例子中,当计数到17的整数倍时,工作线程通过自定义消息与主线程通信。最后会弹出消息框:当前计数器的计数为17的整数倍。计数器有几个选项:高速计数、低速计数,相关参数设置如下:   SpeedControl=1;   GetDlgItem(IDC_RADIO1)->EnableWindow(true);//单选按钮生效   GetDlgItem(IDC_RADIO2)->EnableWindow(true);   GetDlgItem(IDC_RADIO3)->EnableWindow(true);   GetDlgItem(IDC_STAR)->EnableWindow(false);//开始按钮无效   numinfo.pedit=&m_Num;   numinfo.hwnd=GetSafeHwnd();//获取主线程窗口指针   CWinThread* pThread=AfxBeginThread(ThreadFunc,&numinfo);//创建新的线程并开始执行
    2023-03-13 15:00:04下载
    积分:1
  • VC++ 读取SQL Server数据库结构
    VC++ 读取SQL Server数据库结构,读取指定数据库指定数据表的数据结构,演示中仅是读取出字段名、字段类型和字段类型取值大小,只是演示一种获取字段数据的方法:   m_grid.SetExtendedStyle(LVS_EX_FLATSB    |LVS_EX_FULLROWSELECT    |LVS_EX_HEADERDRAGDROP    |LVS_EX_ONECLICKACTIVATE    |LVS_EX_GRIDLINES);   m_grid.InsertColumn(0,"字段名",LVCFMT_LEFT,100,0);   m_grid.InsertColumn(1,"类型",LVCFMT_LEFT,100,1);   m_grid.InsertColumn(2,"大小",LVCFMT_LEFT,100,2);
    2022-07-17 13:15:00下载
    积分:1
  • VC++ 遍历记录集的实现方法和代
    VC++ 遍历记录集的例子,需要数据库配合,核心代码如下:   //连接数据库   OnInitADOConn();   //设置查询字符串   _bstr_t bstrSQL = "select * from employees order by 员工编号 desc";   //创建记录集指针对象实例   m_pRecordset.CreateInstance(__uuidof(Recordset));   //打开记录集   m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,    adLockOptimistic,adCmdText);   //遍历记录集   while(!m_pRecordset->adoEOF)   {    m_Grid.InsertItem(0,"");    m_Grid.SetItemText(0,0,(char*)(_bstr_t)m_pRecordset->GetCollect("员工编号"));    m_Grid.SetItemText(0,1,(char*)(_bstr_t)m_pRecordset->GetCollect("员工姓名"));    m_Grid.SetItemText(0,2,(char*)(_bstr_t)m_pRecordset->GetCollect("所属部门"));    m_Grid.SetItemText(0,3,(char*)(_bstr_t)m_pRecordset->GetCollect("基本工资"));    //将记录集指针移动到下一条记录    m_pRecordset->MoveNext();   }   //断开数据库连接   ExitConnect();
    2022-09-02 14:45:03下载
    积分:1
  • VC++ 向程序中手工添加WinHelp帮助文件
    VC++ 向程序中手工添加WinHelp帮助文件,也就是在程序中调用帮助。一个完善的软件系统,不可缺少帮助系统。本程序演示在VC++开发中,手动从外部添加WinHelp帮助文件,本实例 中是添加调用了Windows7系统中的两个帮助文件,点击菜单项的“帮助”,选择“帮助主题”和“绘制直线帮助”两个功能,即可演示本功能的效果。
    2022-01-25 14:39:21下载
    积分:1
  • VC++ 创建WinExample和MFCExample窗口程序演示
    VC++ WinExample和MFCExample程序演示,是创建此两类程序的演示,一种是使用WINAPI的方式 创建程序窗口,另一种是采用MFC方式创建窗口,下面列举一上结使用WINAPI方式创建窗口的具体代码,完整代码请下载本源码。   // 创建窗口   hWnd = CreateWindow("HelloMsg",// 窗口类名    "我的窗口", // 窗口标题    WS_OVERLAPPEDWINDOW,// 窗口样式    CW_USEDEFAULT,// 窗口最初的x位置    CW_USEDEFAULT,// 窗口最初的y位置    CW_USEDEFAULT,// 窗口的宽度    CW_USEDEFAULT,// 窗口的高度    NULL,// 父窗口句柄    NULL,// 窗口菜单句柄    hInstance,// 应用程序实例句柄    NULL);// 创建窗口的参数窗口消息处理函数   LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)   {    switch (uMsg)    {    case WM_LBUTTONDOWN:// 鼠标左键按下消息    MessageBox(NULL, "欢迎进入Visual C++!", "问候", 0);    break;    case WM_DESTROY:// 窗口销毁消息    PostQuitMessage(0);    break;    default:    // 默认消息处理函数    return DefWindowProc(hWnd, uMsg, wParam, lParam);    }    return 0;   }
    2022-09-16 09:05:03下载
    积分:1
  • VC++演示如何使用insert语句批量向数据库插入数据
    VC++演示如何使用insert语句批量向数据库插入数据,这个我感觉挺有用处吧,一般情况下,我们录入都是一条一条的,但信息量较大的时候,就需要批量插入数据了,我们可以先读取外部指定格式的文件,然后将数据转换为可插入的格式,然后使用insert批量向数据库中插入数据,有效提升工作效率。本示例测试前请先准备好数据库并连接上,否则会报错。
    2022-02-26 09:24:35下载
    积分:1
  • VC++ 创建一个非模态对话框
    VC++ 创建一个非模态对话框,比较一下模态对话框,与其有何异同。以下是创建对话框的代码:   void CNonModeDlgDlg::Finish()   {    m_pChoice = NULL;    GetDlgItem(IDOK)->EnableWindow();   }   void CNonModeDlgDlg::OnOK()   {    if ( m_pChoice == NULL )    {    m_pChoice = new CChoiceDlg(this);    if ( m_pChoice->Create() == TRUE )    {    GetDlgItem(IDOK)->EnableWindow(FALSE);    }    }    else    {    m_pChoice->SetActiveWindow();    }   }
    2022-02-10 13:08:52下载
    积分:1
  • VC6.0 多表分组统计查询销售数据
    VC6.0 多表分组统计销售数据,查询和统计图书的销售数量和库存数量,合理使用分组多表查询可有效提升效率,减少对数据库的查询次数,本示例就是演示如何使用分组多表查询的一个简单的例子,对于查询产品销售最、销售业绩都很方便。   提示:本源码中仅包括了VC++文件和代码,并不包括数据库,需要自己准备测试数据库。
    2023-02-05 17:45:03下载
    积分:1
  • 3个VC++ win注册表编程操作实例
    本源码中有三个VC++操作表的相关例子,每一个都属于比较简单那种,展示注册表的操作技巧,有兴趣的下载源码包。   HKEY hKEY; //定义有关的 hKEY, 在查询结束时要关闭。   LPCTSTR data_Set="SoftwareMicrosoftWindowsCurrentVersion"; //子键目标   //打开与路径 data_Set 相关的 hKEY,第一个参数为根键名称,第二个参数表。   //表示要访问的键的位置,第三个参数必须为0,KEY_READ表示以查询的方式。   //访问注册表,hKEY则保存此函数所打开的键的句柄。   long retopen=(::RegOpenKeyEx(HKEY_LOCAL_MACHINE,data_Set, 0, KEY_READ, &hKEY));   if(retopen!=ERROR_SUCCESS) //如果无法打开hKEY,则终止程序的执行   {    MessageBox("错误: 无法打开有关的hKEY!");    return;   }   //查询有关的数据 (系统用户姓名 owner_Get)。   LPBYTE owner_Get=new BYTE[80];   DWORD type_1=REG_SZ ;   DWORD cbData_1=80;   //hKEY为刚才RegOpenKeyEx()函数所打开的键的句柄,"RegisteredOwner"。   //表示要查 询的键值名,type_1表示查询数据的类型,owner_Get保存所。   //查询的数据,cbData_1表示预设置的数据长度。   //与RegQureyValueEx()类似,hKEY表示已打开的键的句柄,"RegisteredOwner"   //表示要访问的键值名,owner_Set表示新的键值,type_1和cbData_1表示新值。   //的数据类型和数据长度   UpdateData(true);//获得编辑框数据   if(m_Adduser.IsEmpty()||m_Addpassword.IsEmpty())//用户名、密码不能为空   {    AfxMessageBox("输入用户名、密码不能为空!");    return;   }
    2022-02-22 09:55:12下载
    积分:1
  • VC++ 制作的 TextProgress文本进度条样例
    这是VC++ 制作的 TextProgress文本进度条样例,可自定义步长和进度条数字变化范围,根据窗口中的提示设置相关参数后,即可看到进度条的变化效果,下面是具体的实现代码:   void CTextProgressDlg::OnButtonStart()   {    UpdateData();    m_ctrProgressBar.SetPos(0);//设定当前位置    m_ctrProgressBar.SetRange(m_nRangeFrom,m_nRangeTo); //设定范围    m_ctrProgressBar.SetStep(m_nStep);//设定步长    m_ctrProgressBar.SetShowText(TRUE);//允许显示文字    for (int i = 0; i
    2022-11-21 13:20:03下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载