当前位置:首页
开发技术指南» 文章正文
    引言:

    摘要: function windowproc(handle, msg, wparam, lparam: longint): longint; stdcall; var i,t: integer; p: tpoint; oldwndproc : pointer; rstartpos,rtemp,r: trect; nnewleft, nnew: longint; nwidth, nheight :......
 ·button定时执行动作    »显示摘要«
    摘要: 各位大哥,我在做一个考试系统,要定时交卷。谁能给个解决方案?(在线等待) ......


打印预览中加入图形显示

本程序没有用到没有用MFC的文档视图模板提供的打印预览功能  
  在此共用了两个继承   Cdialog   的类:  
  1、   CpreParent  
  2、   CpreView  
  CpreParent   作为最外面打印预览的控制窗口,   CpreView作为真正的预览窗口。    
  CpreParent窗口内包括一个平面打印控制工具栏及一个预览窗口CpreView  
  在对话框的窗口中,其中的学生数据现在我已放在ListCtrl控件中了,还有一图形放有Stati   c控件中,在对话框的窗口类中有一个DrawInfo   定义好的静态打印函数static   void   DrawInfo(CDC   &memDC,PRNINFO   PrnInfo)。  
   
  在DrawInfo函数中要实现的工作有:将ListCtrl控件中数据提取出来并显示在预览窗口。  
   
  现在我的问题的想把Static控件中图形抓出来也显示在预览窗口。  
  void   CPreviewDemoDlg::DrawInfo(CDC   &memDC,   PRNINFO   PrnInfo)//它是一个静态函数  
  {  
  .......  
  .......  
  for(int   i=0;i<nItem;   i++)  
  {  
   
  ListView_GetItemText(hList,   i+iStart,   0,   szID,   32);//它是用这种方法获得CList控件中的数据  
   
  ListView_GetItemText(hList,   i+iStart,   1,   szName,   16);  
   
  ListView_GetItemText(hList,   i+iStart,   2,   szSex,   8);  
   
   
  memDC.DrawText(szID,   &rt1,   DT_LEFT   |   DT_VCENTER   |   DT_SINGLELINE);  
   
  memDC.DrawText(szName,   &rt2,   DT_LEFT   |   DT_VCENTER   |   DT_SINGLELINE);  
   
  memDC.DrawText(szSex,   &rt3,   DT_LEFT   |   DT_VCENTER   |   DT_SINGLELINE);  
   
  }  
  在这个静态函数中我不能用下面的语句来抓图:  
  CStatic   *pStatic   pStatic=(CStatic*)GetDlgItem(IDC_STATIC_SHOW_U);  
  pStatic->GetClientRect(&rect);      
  pStatic->ClientToScreen(&rect);  
  ScreenToClient(&rect);  
  .....  
  .....  
  原因是它是一静态成员函数而上面用的是ListView_GetItemText(hList,   i+iStart,   0,   szID,   32)  
  我想抓图应该怎么办呢?  
   
   
   
   
 

NO.1   作者: vcmute

将pStatic的实例指针传入或添加成员变量static   CStatic   *pStatic;  
  HWND   hWnd=pStatic->GetSafeHwnd();  
  或static   HWND   hwnd;  
  ::GetClientRect(hWnd,&rect);      
  ::ClientToScreen(hWnd,   (LPPOINT)&rect);  
  ::ClientToScreen(hWnd,   ((LPPOINT)&rect)+1);  
  ::ScreenToClient(hWnd,   (LPPOINT)&rect);  
  ::ScreenToClient(hWnd,   ((LPPOINT)&rect)+1);


 ·asp中条件式包含某个文件    »显示摘要«
    摘要: 想在asp中条件式包含某个文件 ssi的include指令应该是不行的,它是先于其它脚本代码执行的,还有没有其它的方法呢 比如像php里面的: switch($n) { case "news" : require_once news_list.php; break; case "articles" : require_once article_t......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE