有四个checkbox 名称分别为所有文件、只读、隐藏、系统
不选所有文件而只选择只读、隐藏、系统时,怎么让filelistbox控件中只显示只读、隐藏、系统文件?先谢谢啦~~~另外捎带一个问题,如何用VB判断出可移动磁盘的盘符?

解决方案 »

  1.   

    在FileListBox属性框里有四项文件属性屏蔽与否的 True False 设置将於三月中发行之 CBM666 编程示例教材
    http://cbm666.com/ppmouse.rar
      

  2.   

    To  CBM666 :  你的程序在我的计算机上运行,我发现了3个 BUG 。  不知道是否仅在我这里才会出现这些现象:
    ①退出后,屏幕花屏。似乎启动程序后,直接关闭 与点击‘综合属性’后再关闭,花屏的状态不相同。
     启动后直接退出,是把一些区域搞成了‘白屏’。
    ②最后的‘再见’画面,我想效果应该是从中间出现文字,向上滚动显示吧。
     在我这里是“在中间部分出现一行(约5象素高)闪烁的白色点,稍等一下文字全部显示出来”。
    ③程序退出后,系统托盘中 鼠标特效 的图标没有清除。
     这时把鼠标移过去,托盘中那个图标才会消失。这里有一个屏幕截图。 【点这里查看原始大图
      

  3.   

    谢谢 Chen80131.因为数百兆文件,而且大半代码还没整理 所以我将所有的文件夹代码与相关文件拿掉后, 压缩成.rar便於上传, 是否在你那边少了啥? 我得检查看看. (可我自己下载下来的也没问题, 晕死....)2.会有雪花? 不知其他人会不会 我这边很顺畅, 有两层一个flash另个Picturebox 我都先拿掉了, 因懒得注册并带上flash10c.ocx 也不该会是这问题3.淡进淡出我用的就是SetLayeredWindowAttributes与AlphaBlend这两个API我经常在用,还没见过出问题的, 是否什么地方不兼容 ?? 搞不懂 ?4.托盘那个图标不会马上消失 呵呵...是的, 那问题我知道还没时间去研究.
      

  4.   

    我除了用API 没用其它任何控件 只有添加了 HvScrollbar 不会是注册的问题.连鼠标滚轮的hook 我都先拿掉了, 呵呵 系统应该很"绿色"的 , 哎 再慢慢找问题了总之 感谢你了, 有错误的纠正才有进步.
      

  5.   

    Chen8013 我晕了....现在 我QQ上找了3人 下载运行 都很正常 是否有可能是你显卡兼容的问题 ?
      

  6.   

      对于我说的第①的现象,我无法确认是什么原因。按理说不应该有‘不兼容’的问题。毕竟你的程序应该没用用直写屏幕的方法。用 Windows 的 GDI 方式来输出,几乎没有不兼容的情况。  文件应该是不会少,否则不能运行吧。  你能不能描述一下,你的最后的那屏白色文字是怎样的显示效果呢?  要不,我用屏幕录像软件录个视频,你下载来看看我这里运行是怎样的情况?
      还有,我建议你的软件窗口不要强行置顶。毕竟窗口比较大,一运行你的软件,就会影响别的操作。
    至少,你可以让别人选择是否置顶吧!
    (这里仅是我的观点,你可以无视:①窗口置顶问题。②不喜欢关闭软件时,无条件询问“是否退出”。)
      

  7.   

    谢谢1.置顶 我全部都会有地方让使用者最小化的, 呵...到最后再加...2.下面这代码是最后一个代码Tmer1 是淡进与淡出 Timer2是一个PictureBOX上面有那些白字Private Sub Form_Load()
       On Error Resume Next
       Me.BorderStyle = 0: Me.Caption = ""
       Me.Move LearnMain.Left, LearnMain.Top
       SetWindowPos Me.hwnd, -1, 0, 0, 0, 0, 3 '设定总在最前
       '***********************************************************************
       TransColor = vbBlue
       Me.BackColor = TransColor
       NowLevel = 0: Fadeio = 1
       Call TransParent(Me.hwnd, TransColor, NowLevel)
       Timer1.Interval = 100: Timer1.Enabled = True
       '*********************************************
       Me.Caption = "感谢您的大力支持"
       Picture1.AutoRedraw = True
       Timer2.Interval = 10
    End SubPrivate Sub Form_Unload(Cancel As Integer)
       On Error Resume Next
       Call CleanAll
    End SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
       On Error Resume Next
       If Button <> 0 Then DragKj (Me.hwnd)
    End SubPrivate Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
       On Error Resume Next
       If Button <> 0 Then DragKj (Me.hwnd)
    End SubPrivate Sub Timer1_Timer()
       On Error Resume Next
       If NowLevel >= 0 And NowLevel <= 255 Then Call TransParent(Me.hwnd, TransColor, NowLevel)
       If Fadeio = 1 Then
          NowLevel = NowLevel + LVstep
          If NowLevel >= 255 Then
             NowLevel = 255
             Timer1.Enabled = False
             Call TransParent(Me.hwnd, TransColor, NowLevel)
             Picture2.Move Picture2.Left, Picture3.Height
             Timer2.Enabled = True
          End If
       Else
          NowLevel = NowLevel - LVstep
          If NowLevel <= 0 Then Timer1.Enabled = False: Unload Me
       End If
    End SubPrivate Sub Timer2_Timer()
       On Error Resume Next
       Picture2.Top = Picture2.Top - 40
       If Picture2.Top <= 300 Then
          Timer2.Enabled = False: Picture2.Top = 300
          LearnMain.WindowState = 1
          Call DelayCycle(1500)
          PlayVoice (VoiceDisk & "再见.wav")
          Fadeio = 2
          Timer1.Enabled = True
       End If
    End Sub
      

  8.   

    桌面进行一次强制刷新 ?? 不理解 ? 我画面淡出后只做了 Call CleanAll 关闭所有的Form,  set nothing所有的 再END你看到的几个涵数都在Module里面(Public Sub)Picture2装载文字, 并以画面的上上半部份为Picture3 当Pictuire2的容器非常感谢你的指教, 还有我好几个朋友都试了, 很奇怪, 他们都很正常啊, 不解...
      

  9.   

    我的意思就是在 End 之前,让系统把桌面(整个屏幕)刷新一下。好象有个什么 API ,发个消息什么的。记不清楚了  ,也许你知道这个。应该不是淡入淡出的问题。我也偶尔搞淡入淡出的窗口,从来没遇到过花屏现象。
    你那个大窗口淡入淡出没有任何异常,仅仅那个主界面窗口,在我这儿淡入淡出的时候有点问题。
      

  10.   

    主界面的淡进淡出 因为我这代码将会完全公开 当教材的所以主面我用另个 API (AlphaBlend)我常用来半透明溶合图片应该不会有问题的,Sub ShowTransparency(cSrc As PictureBox, cDest As PictureBox, ByVal nLevel As Byte)
       On Error Resume Next
       Dim LrProps As rBlendProps
       Dim LnBlendPtr As Long
       cDest.Cls
       LrProps.tBlendAmount = nLevel
       CopyMemory LnBlendPtr, LrProps, 4
       With cSrc
          AlphaBlend cDest.hDC, 0, 0, .ScaleWidth, .ScaleHeight, .hDC, 0, 0, .ScaleWidth, .ScaleHeight, LnBlendPtr
       End With
       cDest.Refresh
    End Sub