网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月02日漏签0天
vb吧 关注:156,056贴子:1,166,214
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 6回复贴,共1页
<<返回vb吧
>0< 加载中...

如何在普通窗体中显示感叹号(vbExclamation)?

  • 只看楼主
  • 收藏

  • 回复
  • linchenqian
  • 世界你好
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
RT,就是在普通的窗体中显示vbExclamation(系统的黄色感叹号),如何实现?越简单越好


  • Zatans
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
Option Explicit
Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Private Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long
Private Declare Function DrawIcon Lib "user32" (ByVal hDc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long
Private Declare Function DestroyIcon Lib "user32" (ByVal hIcon As Long) As Long
Function DrawShellIcon(ByVal hDc As Long, ByVal x As Long, ByVal y As Long, ByVal iCount As Long) As Long
     Dim sBuf As String
     sBuf = Space$(256)
     Call GetSystemDirectory(sBuf, 256)
     sBuf = Left$(sBuf, InStr(sBuf, Chr(0)) - 1) & "\shell32.dll"
     DrawShellIcon = ExtractIcon(App.hInstance, sBuf, iCount)
     If DrawShellIcon Then
         Call DrawIcon(hDc, x, y, DrawShellIcon)
         Call DestroyIcon(DrawShellIcon)
     End If
End Function
Private Sub Command1_Click()
     Call DrawShellIcon(Me.hDc, 0, 0, 235)
End Sub


2026-01-02 19:14:46
广告
不感兴趣
开通SVIP免广告
  • 112.113.7.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
楼上错了
Option Explicit
Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Private Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long
Private Declare Function DrawIcon Lib "user32" (ByVal hDc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long
Private Declare Function DestroyIcon Lib "user32" (ByVal hIcon As Long) As Long
Function DrawShellIcon(ByVal hDc As Long, ByVal x As Long, ByVal y As Long, ByVal iCount As Long) As Long
      Dim sBuf As String
      sBuf = Space$(256)
      Call GetSystemDirectory(sBuf, 256)
      sBuf = Left$(sBuf, InStr(sBuf, Chr(0)) - 1) & "\user32.dll"
      DrawShellIcon = ExtractIcon(App.hInstance, sBuf, iCount)
      If DrawShellIcon Then
          Call DrawIcon(hDc, x, y, DrawShellIcon)
          Call DestroyIcon(DrawShellIcon)
      End If
End Function
Private Sub Command1_Click()
      Call DrawShellIcon(Me.hDc, 0, 0, 1)
End Sub



  • 为啥都是15L
  • 函数调用
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
。。。为啥还去ExtractIcon。。。
LoadIcon加一个标志就可以载入感叹的ICON句柄了,然后再DrawIcon就行了。


  • richway2
  • 递归爆栈
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
3F的DrawShellIcon函数可以设置成0-5,0和5是一样的。会有不同的图标。


  • Zatans
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我2L的代码错了?不是吧,VISTA系统上调试通过的.
如4L所说,LoadIcon确实比较简单,通用性也比较好.
Option Explicit
Private Declare Function LoadIcon Lib "user32" Alias "LoadIconA" (ByVal hInstance As Long, ByVal lpIconName As Any) As Long
Private Declare Function DrawIcon Lib "user32" (ByVal hDc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long
Private Declare Function DestroyIcon Lib "user32" (ByVal hIcon As Long) As Long
Private Const IDI_EXCLAMATION = 32515&
Function DrawExclamationIcon(ByVal hDc As Long, ByVal x As Long, ByVal y As Long) As Long
       DrawExclamationIcon = LoadIcon(0&, IDI_EXCLAMATION)
       If DrawExclamationIcon Then
           Call DrawIcon(hDc, x, y, DrawExclamationIcon)
           Call DestroyIcon(DrawExclamationIcon)
       End If
End Function
Private Sub Command1_Click()
       Call DrawExclamationIcon(Me.hDc, 0, 0)
End Sub



快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
2L代码在XP下运行显示的是按下Shift+Delete时的强行删除图标


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 6回复贴,共1页
<<返回vb吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示