请教报表问题(100分)

  • 主题发起人 主题发起人 kuba
  • 开始时间 开始时间
K

kuba

Unregistered / Unconfirmed
GUEST, unregistred user!
各位高手:在下刚开始自学DELPHI4。0,现在碰一到一个无法解决的问题:如何在程序中控制报表!比如有五个字段,如个用户全部选用,那没问题,但是如果用户只选用了三个字段,报表中我不想打印它,该如何控制?
还有一个问题,在录入数据窗体中,如何设定回车跳到下一个。因为我设计的窗口,都是要用TAP才可以跳到下一个。盼请各路高手指定。最好直接EM给我 MY EM:kubal@163.net
 
第一个问题,可以看一看DBPRINT,在DELPHI深度历险中下载。
第二个问题,在控件的onkeydown事件中写程序,
if key=vk-return then

nextcom.setfocus;
 
1. 请说具体些
2. set form.keypreview=true

in form's event--on keypress
IF key=#13 then
begin
selectnext(activecontrol as twincontrol,true,true);
key:=#0;
end;
 
2、设有两个edit
edit1.keydown事件中:
if key=$0d then
if edit2.canfocus then
edit2.Setfocus;
 
1.
2.
IF Key=#13 then
Form.ActiveControl:=ControlName;
 
说说我常用的方法:
1、采用一些所见即所得的控件,如printatonce
(http://www.zg169.net/~randolph,free&open source,推荐使用),或
printscreen(要掏钱,否则打印有水印)。类似的控件在星际总部还有一些,
你可以去找找。
2、sengmessage(self.handle,WM_KEYDOWN,VK_TAB,0);

sengmessage(self.handle,WM_CHAR,VK_TAB,0);
 
不好意思,笔误,应该是sendmessage(...);
printscreen在http://www4.netease.com/~ladybird/有下载
 
1。自己控制qrlabel的显隐。
在qrlabel所在的qrBand的BeforePrint中就可以控制qrlabel.visible;
如果是要显示的,就自己设置qrlabel.caption:=xxx.fieldbyname
('xxx').asString;
2。略
 
kuba:报表源程序已发送,请查收,也请赏分!
 
1.我前不久编了个程序(PH小农历&小小电话簿windstorm2000.yeah.net)
在小小电话簿里我做了个打印功能,允许用户选择不同的字段,允许用户自
已排列字段打印的前后顺序。
具体做法如下:
[1]用鼠标右击Table选择Fields Editor
[2]加入要打印的字段,在程序里控制所有字段的Visible值可以做到打印选择的
字段
[3]修改Index值就可以做到让用户自已排列字段打印
2.在OnKeyPress事件中加入
if Key = #13 then
SelectNext(ActiveControl,True,True);
把所有Edit的OnKeyPress事件都指向它
 
在该控件的OnKeyPress事件中加入
if Key = #13 then
if 要转到的下一个控件.canfocus then
要转到的下一个控件.setfocus;
 
多人接受答案了。
 
后退
顶部