当前位置: 网学 > 编程文档 > VB > 正文

用API函数改进ListView控件的显示效果

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/16
下载{$ArticleTitle}原创论文样式
istimlList

CommandButton。Command1


  将ImageList控件中充填一个名为“item”的图象后与ListView控件关联。

   在$#@60;$#@60;工程$#@62;$#@62;菜单命令条中进入“引用”对话框,选择“MicrosoftDAOObjectLibrary”

   在Form的通用模块(Modle)中定义以下变量。


PrivateTypeRECT用来定义一个区域的坐标。

LeftAsLong

TopAsLong

Right AsLong

BottomAsLong

EndType

  --

Windows API函数的声明。

PrivateDeclareFunctionInvalidateRectLib"user32"

(ByVal hwndAsLong,lpRectAsRECT,ByValbEraseAsLong)AsLong

PrivateDeclare FunctionValidateRectLib"user32"

(ByValhwndAsLong,lpRect AsRECT)AsLong

PrivateDeclareFunctionGetClientRectLib"user32"

(ByVal hwndAsLong,lpRectAsRECT)AsLong


DimmbSearchCancelAsBoolean

用来定义查询中断的标志。

True表示中止查询;False表示正在查询


  将该Form的KeyPreview属性设为True,以控制窗体接收键盘事件。

  然后在Form 的KeyPress事件中写下列代码:


IfKeyAscii=vbKeyEscapeThen

mbSearchCancel=True

当用户按Escape 键时,置mbSearchCancel变量为True。

EndIf

表示结束查询

在Command Button的Click事件中调用填充子程序:CallFillListView。


程序的代码 为:

PrivateSubFillListView()


DimitmXAsListItem定义一 个ListView的显示项目。

DimsSQLAsString查询字串变量。


Dim rcAsRECTListView的显示区域。

DimwrkJetAsWorkspace数据库工作空间。

Dim dbFISCALAsDatabase数据库对象。

DimRSAsRecordset数据结果集。


On ErrorGoToErrFillListView


Screen.MousePointer=vbHourglass

lvw.ListItems.Clear: 清除ListView的内容。

    

定义ListView的列头的名称。

With lvw.ColumnHeaders

.Add,,"凭证编号",800

.Add,," 凭证日期",1000

.Add,,"凭证字号",1000

.Add,," 凭证类别",800

.Add,,"首行摘要",1440

.Add,," 借方金额合计",1000,lvwColumnRight

EndWith


  - --

产生查询语句。

sSQL="selectvoucher_id,voucher_number,voucher_date,
voucher_type_shortname,"

sSQL=sSQL&"voucher_type_name,voucher_memo,voucher_amount fromVOUCHER"

sSQL=sSQL&"orderbyvoucher_number"

  ---

打开一个数据库结果集。

SetwrkJet=CreateWorkspace("NewJetWorkspace", "admin","",
dbUseJet)

SetdbFISCAL=wrkJet.OpenDatabase("FISCAL.mdb")

Set RS=.dbFISCAL.OpensSQL,dbOpenForwardOnly

    

获得listview 的显示区域。

CallGetClientRect(lvw.hwnd,rc)


DoWhileNotRS.EOF()

DoEvents

If mbSearchCancelThen

中断退出

RS.Close:SetRS=Nothing关闭、清 除结果集。

mbSearchCancel=False

Screen.MousePointer=vbDefault

  --

刷新ListView的内容,显示已经查出的记录数。

CallInvalidateRect(lvw.hwnd, rc,True)

ExitSub

EndIf

  ---

增加一个显示 项目ListItem。

Withlvw.ListItems

SetitmX=.Add(,,""& RS!voucher_number,"item","item")

凭证编号

itmX.SubItems(1) =Format$(""&RS!voucher_date,"yyyy/mm/dd")

凭证日期

itmX.SubItems(2)=""&RS!voucher_type_shortname &"-"—

凭证字号

&""&RS!voucher_number


itmX.SubItems(3)="" &RS!voucher_type_name

凭证类别

itmX.SubItems(4)=""&RS!voucher_memo

首行摘要

itmX.SubItems(5)=Format$(""&RS!voucher_amount, "#,###.00")

借方合计金额

itmX.Tag="&quo
  • 上一篇资讯: 使用Win95的动画光标
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号