起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 237|回复: 5

【结贴】[问题]如何设置DocViewBar来打印DataGrid的表单文档[已经解决]**

[复制链接]
发表于 2008-1-17 14:48:12 | 显示全部楼层 |阅读模式
[再问]:

如何设置DocViewBar来打印DataGrid的表单文档
把DocViewBar.DocView设为要打印的DataGrid表单文档不好使 按钮是不可用状态

上次论坛里给了意见 说是可以使用把DocViewBar临时设置成自动侦测的方式来解决 如下:
     DocViewBar1.AutoDetect := True;
          DocView1.SetFocus;
          DocViewBar1.AutoDetect := false;
但是发现这样DataGrid的表单文档可以正常打印了 但会干扰别的表格文档的打印(表格文档以前可以直接设置DocViewBar.DocView来打印 正常)  

如果把表格文档设置成也用这种临时自动侦测的方式来实现打印的话  会提示一个错误
这句出了一个问题 DocView1.SetFocus  说是不可以把一个invisible的设置为setfocus 但是该文档的 visible 属性此时已经设置为 true了 无语

问题越来越多 所以还是想要一个最简单的办法
到底如何设置DocViewBar才能让DataGrid的表单文档正常打印呢
一个很简单的设置 为什么表格文档就正常呢


希望就这个问题给点意见 不要再用别的方法来替代想要的效果了
回复

使用道具 举报

发表于 2008-1-17 15:10:28 | 显示全部楼层
在需要打印的适当时机把自动侦测设置为True,其他时候在设置为False,    DocView1.SetFocus;这句不需要
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-17 15:13:56 | 显示全部楼层
最初由 lisb 发布
[B]在需要打印的适当时机把自动侦测设置为True,其他时候在设置为False,    DocView1.SetFocus;这句不需要 [/B]



真的不能直接把DocViewBar.DocView 设置为要打印的表单文档 必须这样曲线救国嘛 ?




那也没办法啊 我再试试~~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-17 15:21:06 | 显示全部楼层
我再描述一下 一共有四个可视的文档通过标签切换 一个表格文档 三个表单文档
因为其中一个表单文档的打印不用其自身 要用另外一个隐藏起来的表格文档实现效果
所以这个文档打印的时候必须要手动的设置DocViewBar.DocView
而其它的则可以自动侦测 但是难就难在现在那两个表单文档直接这样设置的话是不好使的
设为临时自动侦测来获取的话 又会影响那两个直接通过设置这个属性DocViewBar.DocView 来打印的表格文档
有点郁闷 也弄不明白为什么
回复 支持 反对

使用道具 举报

发表于 2008-1-17 15:57:32 | 显示全部楼层
先把DocViewBar的自动侦测属性去掉,然后这样写代码
都在TabSheet的OnShow事件中写
procedure TMainForm.TabSheet1Show(Sender: TObject);  //假设TabSheet1放的表单文档,DocView3引用的隐藏的那个表格文档
begin
  DocViewBar1.AutoDetect := False;
  DocViewBar1.DocView := DocView3;
end;

procedure TMainForm.TabSheet2Show(Sender: TObject); //TabSheet2放的是表格文档,DocView2引用的就是这个表格文档
begin
  DocViewBar1.AutoDetect := False;
  DocViewBar1.DocView := DocView2;
end;

procedure TMainForm.TabSheet3Show(Sender: TObject);  //TabSheet3上放的是另一个表单文档
begin
  DocViewBar1.AutoDetect := True;
end;

procedure TMainForm.TabSheet4Show(Sender: TObject);  //TabSheet4上放的是另一个表单文档
begin
  DocViewBar1.AutoDetect := True;
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-17 16:11:18 | 显示全部楼层
也就是说 如果把DocViewBar.DocView设置为要打印的DataGrid表单文档确定是不好使的
恩 好的 我再看看吧

谢谢lisb的回复~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-5 15:45 , Processed in 0.041054 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表