tempad
Readygo技术搜索引擎 >>ASP技术 >> 非常紧急的问题:今天一定要搞定的!有关打印的,大家一定要帮个忙!

非常紧急的问题:今天一定要搞定的!有关打印的,大家一定要帮个忙!

Readygo技术搜索引擎 网络搜索 efish 2008-1-14 6:26:04

非常紧急的问题:今天一定要搞定的!有关打印的,大家一定要帮个忙!

楼主RedGuest(Haha)2002-05-14 15:19:03 在 C++ Builder / 基础类 提问

//打印菜单  
          try  
          {  
                  TPrinter   *devicePrinter   =   Printer();  
                  devicePrinter->PrinterIndex   =   0;   //缺省打印机  
                  devicePrinter->Refresh();  
                  MessageBox(NULL,   (devicePrinter->Printers->Text.c_str(),   "信息",   MB_OK);  
                  TRect   r   =   Rect(100,100,devicePrinter->PageWidth   -   100,  
                          devicePrinter->PageHeight   -   100);  
                  devicePrinter->BeginDoc();  
                  devicePrinter->NewPage();  
                  devicePrinter->Canvas->TextOut(100,   100,   data->GetText());  
                  devicePrinter->Canvas->TextRect(r,   100,   100,   data->GetText());  
                  //devicePrinter->Refresh();  
                  devicePrinter->EndDoc();  
          }   catch(...)  
          {  
                  if   (Debug)  
                  {  
                          MessageBox(NULL,   "打印失败了",   "错误",   MB_OK   |   MB_ICONERROR);  
                  }  
                  return   false;  
          }  
          return   true;  
   
  --------------------------------------------------------------------------  
  上面是我照帮助上的例子抄的,但实际上打印的时候,只有打印机的图标出现在托盘里,却没有任何的打印任务在里面,没有任何东西打印出来,   大家帮忙看看如何? 问题点数:100、回复次数:5Top

1 楼Chimae(David)回复于 2002-05-14 15:29:17 得分 10

Printer的帮助里有!Top

2 楼hotxu(hotxu)回复于 2002-05-14 15:30:27 得分 10

char   Device_C;  
      char   Driver_C;  
      char   Port_C;  
      THandle     hDMode_C;  
      PDevMode     pDMode_C;  
      TPrinter   *Prntr_C   =   Printer();  
      Prntr_C->PrinterIndex=0;     //设置打印机  
   
      //获取打印机  
      Prntr_C->GetPrinter(Device_C,Driver_C,Port_C,hDMode_C);  
      if   (hDMode_C!=NULL)  
            {  
              pDMode_C=(PDevMode)GlobalLock((HGLOBAL   &)hDMode_C);  
                        if   (pDMode_C!=NULL)  
                                  {  
                                      pDMode_C->dmPaperSize=   256;  
                                      pDMode_C->dmFields=pDMode_C->dmFields   |   DM_PAPERSIZE;  
                                      pDMode_C->dmPaperLength   =1400;     //高   *0.1mm  
                                      pDMode_C->dmFields   =pDMode_C->dmFields|   DM_PAPERLENGTH;  
                                      pDMode_C->dmPaperWidth   =   2400;     //宽   *0.1mm  
                                      pDMode_C->dmFields   =pDMode_C->dmFields|   DM_PAPERWIDTH;  
                                  }  
                          ResetDC(Prntr_C->Handle,pDMode_C);  
                          GlobalUnlock((HGLOBAL   &)hDMode_C);  
                  }  
        //开始打印  
          TFontStyles   Style;  
          Style   >>fsBold;  
          Prntr_C->Canvas->Font->Style=Style;  
          Prntr_C->Canvas->Font->Name="宋体";  
           
          String   Title;  
          Title="结账账单";  
          Prntr_C->Canvas->Font->Size=16;  
          Prntr_C->BeginDoc();  
          Prntr_C->Canvas->TextOutA(1100,10,Title);  
          Prntr_C->EndDoc();Top

3 楼Chimae(David)回复于 2002-05-14 15:31:33 得分 0

data???Top

4 楼RedProgramer(TST : RedSteel)回复于 2002-05-14 15:43:01 得分 40

print()  
  {          
  TPrinter   *   Prnt=Printer();  
            Prnt->BeginDoc();  
            Prnt->Canvas->Font->Size=12;  
            Prnt->Title   =   "";  
            Prnt->Canvas->TextOut(100,100,"试验");  
             
            Prnt->EndDoc();  
  }  
  应该没问题,在我的程序中就是这么做的;  
             
  Top

5 楼jerry921(jerry)回复于 2002-05-14 16:18:50 得分 30

print()  
  {          
   
            Printer()->BeginDoc();  
            Printer()->Canvas->Font->Size=12;  
            Printer()->Title   =   "";  
            Printer()->Canvas->TextOut(100,100,"试验");  
             
            Printer()->EndDoc();  
  }  
  就可以了Top

6 楼fangrk(加把油,伙计!)回复于 2002-05-14 16:23:19 得分 10

打印机设置好了吗?Top

7 楼RedGuest(Haha)回复于 2002-05-14 16:48:28 得分 0

问题成功解决了,谢谢大家(作痛哭装...................,我的100分啊)  
   
  --------------------------------------------------------------------  
   
  呵呵,原来一定要指定Font   &   Title   ,考,不知道为什么,   希望有高手研究研究:)Top

责任编辑: efish 参与评论 查找更多:
相关文章
几个简单问题,答者有份! 几个简单问题,答者有份!
怎样获得上条SQL语句执行的结果? 怎样获得上条SQL语句执行的结果?
是可视空件在设计时不能移动, 应做何设置 。 是可视空件在设计时不能移动, 应做何设置 。
关于LABEL 的一个问题 回答给一百分 关于LABEL 的一个问题 回答给一百分
100分求规范的软件工程文档实例! 100分求规范的软件工程文档实例!
怎样输出双引号 怎样输出双引号
如何对其他机子进行文件操作? 如何对其他机子进行文件操作?
在控件上点击右键的消息怎么获得,然后弹出菜单是如… 在控件上点击右键的消息怎么获得,然后弹出菜单是如何实现的?
如何使VFP6.0连接ORACLE数据库? 如何使VFP6.0连接ORACLE数据库?
五月天 是红色的吗?《C++ STL中文版》 《STL源码剖… 五月天 是红色的吗?《C++ STL中文版》 《STL源码剖析》《C++程序设计语言(特别版)》
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn

分类导航
Readygo技术搜索引擎