VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 3589|回复: 10

这个论坛上高人真多啊,不知道可不可以悬赏真实货币改写程序

[复制链接]
发表于 2015-5-1 13:07:31 | 显示全部楼层 |阅读模式
这个论坛上高人真多啊,不知道可不可以悬赏真实货币改写程序。

如果担心信用问题,可以淘宝或猪八戒同步进行。

主要是把几个现成的源码里提取一些东西重新组合成一个新程序。

点评

可以,但是你发错版块了  发表于 2015-5-1 13:13
发表于 2015-5-2 04:43:59 来自手机 | 显示全部楼层
传上来看看.—起研究
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-5-2 10:47:18 | 显示全部楼层
zpy2 发表于 2015-5-2 04:43
传上来看看.—起研究

终于有人回复了,非常感谢您的关注。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-5-2 10:53:53 | 显示全部楼层
不知道怎么发点评,就像acme_pjz发的那样。

点评

可能是用户组权限不够  发表于 2015-5-3 20:47
<--- 这样发  发表于 2015-5-2 23:06
回复 支持 反对

使用道具 举报

发表于 2015-5-4 12:46:12 | 显示全部楼层
什么样功能的?要怎么改?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-10 03:51:56 | 显示全部楼层
从发我这个贴子到现在,经历了很多事情,换了好几份工作,忙忙碌碌,一直没理出头绪。现在先发一个任务,有擅长打印机编程的朋友先看看。
出于个人兴趣,钱不是很多,有愿意帮忙的,先谢过了。支付宝付款,完后再继续发新任务。
如果我发的贴子发错版块,烦请版主帮忙移一下,谢谢。
工程在附件中。
以下是内容:

我想打印listview内容,按顺序打印所有行,用手工指定的方式打印每一行的第一列、第二列、第三列等等,而不是所有列。
但下面的代码,打印出来的效果全都挤在一起,列与列之间没有空隙。再往下就不会写了。感谢各位大师不吝赐教。
注:没有打印机也可以开发,装一个TinyPDF(虚拟打印机)一样可以看出效果。

Dim i As Integer
Dim strText As String
For i = 1 To ListView1.ListItems.Count
        strText = ListView1.ListItems(i).Text
        strText = strText + ListView1.ListItems(i).SubItems(1)
        strText = strText + ListView1.ListItems(i).SubItems(2)
        strText = strText + ListView1.ListItems(i).SubItems(3)
        Printer.Print strText
Next i
-
-
-
-
下面的代码是遍历Listview所有单元格并打印,打印效果是矩阵式,和listview显示效果一一对应,第二列直线对齐,不受第一列内容多少的影响。第三列亦然。
作为思路的参考。

Dim objCol As ColumnHeader
Dim ObjItem As ListItem
Dim lngX As Long
Dim lngX1 As Long
Dim lngTop As Long
Dim strText As String
On Error GoTo Error_Handler
Screen.MousePointer = vbHourglass
For Each objCol In ListView1.ColumnHeaders
        lngX = lngX + objCol.Width
Next
Printer.CurrentY = lngTop
Printer.Font.Bold = True
Printer.DrawMode = vbCopyPen
For Each ObjItem In ListView1.ListItems
        lngTop = lngTop + 255
        lngX = 420
        For Each objCol In ListView1.ColumnHeaders
                If objCol.Index > 1 Then
                        strText = ObjItem.SubItems(objCol.Index - 1)
                Else
                        strText = ObjItem.Text
                End If
                lngX1 = lngX + 1440
                Printer.CurrentY = lngTop + 562
                Select Case objCol.Alignment
                Case ListColumnAlignmentConstants.lvwColumnCenter
                        Printer.CurrentX = lngX + (((objCol.Width * 15) - Printer.TextWidth(strText)) / 2)
                Case ListColumnAlignmentConstants.lvwColumnLeft
                        Printer.CurrentX = lngX + (Screen.TwipsPerPixelX * 5)
                Case ListColumnAlignmentConstants.lvwColumnRight
                        Printer.CurrentX = lngX + ((objCol.Width * 15) - Printer.TextWidth(strText)) - (Screen.TwipsPerPixelX * 5)
                End Select
                Printer.Print strText
                lngX = lngX1
        Next
Next

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2016-3-10 14:33:17 | 显示全部楼层
我只知道用tab()函数定位字符串打印起始位置
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-22 03:50:14 | 显示全部楼层
yiziwuya 发表于 2016-3-10 14:33
我只知道用tab()函数定位字符串打印起始位置

我用msgbox Printer.CurrentX测试发现,最初Printer.CurrentX和Printer.CurrentY是0和0,随着代码向下执行,Printer.CurrentX和Printer.CurrentY值会逐渐变大。
回复 支持 反对

使用道具 举报

发表于 2016-3-22 08:24:20 | 显示全部楼层
本帖最后由 yiziwuya 于 2016-3-22 08:25 编辑

肯定的,这个值是当前打印的位置
但可以被重新设置
回复 支持 反对

使用道具 举报

发表于 2016-3-26 19:00:59 | 显示全部楼层
楼主此问题有没有解决,如果没有不妨求教于我
回复 支持 反对

使用道具 举报

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

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2022-7-5 11:26

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表