精华内容
下载资源
问答
  • 我使用以下代码: Dim oDLG Set oDLG = CreateObject("MSComDlg.CommonDialog") With oDLG .DialogTitle = "保存文件" ‘其他脚本 end WITH 在本机有vb安装的电脑执行没问题,但是将程序编译后...
  • Vb2010 弹出对话框来选择文件夹路径

    千次阅读 2012-12-31 11:12:19
    众所周知,在vb中如果是打开某一个文件的话,非常简单,使用CommonDialog组件即可轻松完成,但是他只能选择文件,之后或许选取的文件路径,而如果想要浏览文件夹,就没这么方便了。 这里介绍3个办法来实现文件夹...
    众所周知,在vb中如果是打开某一个文件的话,非常简单,使用CommonDialog组件即可轻松完成,但是他只能选择文件,之后或许选取的文件路径,而如果想要浏览文件夹,就没这么方便了。

    这里介绍3个办法来实现文件夹浏览。

    第一个非常简单,利用Shell对象
    程序代码 程序代码
    '引用Microsoft Shell Controls And Automation
    Dim ShellA As New Shell
    Private Sub Command1_Click()    '建立一个按钮对象                                                     
    Dim Shellb As Folder
    Set Shellb = ShellA.BrowseForFolder(0, "选择文件夹", 0)
    ShellA.Open b
    End Sub


    记得一定要引用Microsoft Shell Controls And Automation

    第二种方法,我们同样利用shell对象,但是加几个函数
    程序代码 程序代码
    '引用Microsoft Shell Controls And Automation
    Private shlShell As Shell32.Shell
    Private shlFolder As Shell32.Folder
    Private Const BIF_RETURNONLYFSDIRS = &H1
    Private Sub Command1_Click() '
        If shlShell Is Nothing Then
           Set shlShell = New Shell32.Shell
        End If
        Set shlFolder = shlShell.BrowseForFolder(Me.hWnd, "请选择文件夹", BIF_RETURNONLYFSDIRS)
        If Not shlFolder Is Nothing Then
           MsgBox shlFolder.Items.Item.Path  '测试
        End If
    End Sub


    上面2个方法的结果如图:
    点击放大图片

    第三个方法,是利用API来操作。
    程序代码 程序代码
    Private Const BIF_RETURNONLYFSDIRS = 1
    Private Const BIF_DONTGOBELOWDOMAIN = 2
    Private Const MAX_PATH = 260

    Private Declare Function SHBrowseForFolder Lib "Shell32" (lpbi As BrowseInfo) As Long
    Private Declare Function SHGetPathFromIDList Lib "Shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long
    Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long
    Private Type BrowseInfo
         hWndOwner As Long
         pIDLRoot As Long
         pszDisplayName As Long
         lpszTitle As Long
         ulFlags    As Long
         lpfnCallback     As Long
         lParam     As Long
         iImage     As Long
    End Type
    Private Sub Command1_Click()
         Dim lpIDList As Long
         Dim sBuffer As String
         Dim szTitle As String
         Dim tBrowseInfo As BrowseInfo
         szTitle = App.Path
         With tBrowseInfo
              .hWndOwner = Me.hWnd
              .lpszTitle = lstrcat(szTitle, "")
              .ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN
         End With

         lpIDList = SHBrowseForFolder(tBrowseInfo)
         If (lpIDList) Then
              sBuffer = Space(MAX_PATH)
              SHGetPathFromIDList lpIDList, sBuffer
              sBuffer = Left(sBuffer, InStr(sBuffer, vbNullChar) - 1)
              MsgBox sBuffer
         End If
    End Sub


    如果希望对话框中有“新建文件夹”,那么就给.ulFlags 加上BIF_USENEWUI属性,BIF_RETURNONLYFSDIRS 的意思是仅仅返回文件夹。
    效果如图:
    点击放大图片

    同时我也打包2个完整的利用此API的代码,有意者请自己学习了。


    第4个方法。
    其实是第三个方法的改进,就是打开对话框后,自动定位到当前文件夹位置 。

    程序代码 程序代码
    'Objects:   Form1、Command1、Module1   
      'Form1:   
      Option   Explicit   
      Private   Const   BIF_RETURNONLYFSDIRS   =   1   
      Private   Const   BIF_DONTGOBELOWDOMAIN   =   2   
      Private   Const   MAX_PATH   =   260   
      Private   Declare   Function   SHBrowseForFolder   Lib   "shell32"   (lpbi   As   BrowseInfo)   As   Long   
      Private   Declare   Function   SHGetPathFromIDList   Lib   "shell32"   (ByVal   pidList   As   Long,   ByVal   lpBuffer   As   String)   As   Long   
      Private   Declare   Function   lstrcat   Lib   "kernel32"   Alias   "lstrcatA"   (ByVal   lpString1   As   String,   ByVal   lpString2   As   String)   As   Long   
      Private   Declare   Function   LocalAlloc   Lib   "kernel32"   (ByVal   uFlags   As   Long,   ByVal   uBytes   As   Long)   As   Long   
      Private   Declare   Sub   CopyMemory   Lib   "kernel32"   Alias   "RtlMoveMemory"   (pDest   As   Any,   pSource   As   Any,   ByVal   dwLength   As   Long)   
      Private   Const   LPTR   =   (&H0   or   &H40)   
      Private   Type   BrowseInfo   
                      hWndOwner             As   Long   
                      pIDLRoot             As   Long   
                      pszDisplayName   As   Long   
                      lpszTitle             As   Long   
                      ulFlags                 As   Long   
                      lpfnCallback     As   Long   
                      lParam                 As   Long   
                      iImage                 As   Long   
      End   Type   
      Private   Function   MyAddressOf(AddressOfX   As   Long)   As   Long   
      MyAddressOf   =   AddressOfX   
      End   Function   
        
      Private   Sub   Command1_Click()   
      Dim   lpIDList   As   Long   
      Dim   sBuffer   As   String   
      Dim   szTitle   As   String   
      Dim   tBrowseInfo   As   BrowseInfo   
      Dim   Ret   As   Long   
      szTitle   =   "This   is   the   title"   
      Dim   sPath   As   String   
      sPath   =   VBA.InputBox("初始路径:",   ,   "C:\program   files")   
      With   tBrowseInfo   
              .hWndOwner   =   Me.hWnd   
              .lpszTitle   =   lstrcat(szTitle,   "")   
              .ulFlags   =   BIF_RETURNONLYFSDIRS   +   BIF_DONTGOBELOWDOMAIN   
              .lpfnCallback   =   MyAddressOf(AddressOf   BrowseForFolders_CallbackProc)   
              Ret   =   LocalAlloc(LPTR,   VBA.Len(sPath)   +   1)   
              CopyMemory   ByVal   Ret,   ByVal   sPath,   VBA.Len(sPath)   +   1   
              .lParam   =   Ret   
      End   With   
      lpIDList   =   SHBrowseForFolder(tBrowseInfo)   
      If   (lpIDList)   Then   
          sBuffer   =   VBA.Space(MAX_PATH)   
          SHGetPathFromIDList   lpIDList,   sBuffer   
          sBuffer   =   VBA.Left(sBuffer,   VBA.InStr(sBuffer,   vbNullChar)   -   1)   
          MsgBox   sBuffer   
          End   If   
      End   Sub   
        
      'Module1:   
      Option   Explicit   
      Private   Declare   Function   SendMessage   Lib   "user32"   Alias   "SendMessageA"   (ByVal   hWnd   As   Long,   ByVal   wMsg   As   Long,   ByVal   wParam   As   Long,   lParam   As   Any)   As   Long   
      Private   Const   WM_USER   =   &H400   
      Private   Const   BFFM_SETSelectIONA   As   Long   =   (WM_USER   +   102)   
      Private   Const   BFFM_SETSelectIONW   As   Long   =   (WM_USER   +   103)   
      Private   Const   BFFM_INITIALIZED   As   Long   =   1   
      Public   Function   BrowseForFolders_CallbackProc(ByVal   hWnd   As   Long,   ByVal   uMsg   As   Long,   ByVal   lParam   As   Long,   ByVal   lpData   As   Long)   As   Long   
      If   uMsg   =   BFFM_INITIALIZED   Then   
          SendMessage   hWnd,   BFFM_SETSelectIONA,   True,   ByVal   lpData   
      End   If   
      End   Function


    效果如图:

    点击放大图片 

    看了这个代码后,你会发现它确实定位到了当前文件夹,但是他有一个问题就是,没有选定当前文件夹。咱们继续看方法5.

    第5个方法。
    他同样是第3个方法的加强版,不过这个方法应当是最为完美的方法,不仅定位到当前文件夹,而且选定它。
    建立一个模块文件

    程序代码 程序代码
    'form1
    ''Module1:   
    Option Explicit
    Private Const BIF_STATUSTEXT = &H4&
    Private Const BIF_RETURNONLYFSDIRS = 1
    Private Const BIF_DONTGOBELOWDOMAIN = 2
    Private Const MAX_PATH = 260

    Private Const WM_USER = &H400
    Private Const BFFM_INITIALIZED = 1
    Private Const BFFM_SELCHANGED = 2
    Private Const BFFM_SETSTATUSTEXT = (WM_USER + 100)
    Private Const BFFM_SETSelectION = (WM_USER + 102)

    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
    Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
    Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long
    Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long

    Private Type BrowseInfo
      hWndOwner      As Long
      pIDLRoot       As Long
      pszDisplayName As Long
      lpszTitle      As Long
      ulFlags        As Long
      lpfnCallback   As Long
      lParam         As Long
      iImage         As Long
    End Type

    Private m_CurrentDirectory As String   'The current directory
    Public Function BrowseForFolder(owner As Form, Title As String, StartDir As String) As String
      Dim lpIDList As Long
      Dim szTitle As String
      Dim sBuffer As String
      Dim tBrowseInfo As BrowseInfo
      m_CurrentDirectory = StartDir & vbNullChar

      szTitle = Title
      With tBrowseInfo
        .hWndOwner = owner.hWnd
        .lpszTitle = lstrcat(szTitle, "")
        .ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN + BIF_STATUSTEXT
        .lpfnCallback = GetAddressofFunction(AddressOf BrowseCallbackProc)  'get address of function.
      End With

      lpIDList = SHBrowseForFolder(tBrowseInfo)
      If (lpIDList) Then
        sBuffer = Space(MAX_PATH)
        SHGetPathFromIDList lpIDList, sBuffer
        sBuffer = Left(sBuffer, InStr(sBuffer, vbNullChar) - 1)
        BrowseForFolder = sBuffer
      Else
        BrowseForFolder = ""
      End If
      
    End Function

    Private Function BrowseCallbackProc(ByVal hWnd As Long, ByVal uMsg As Long, ByVal lp As Long, ByVal pData As Long) As Long
        Dim lpIDList As Long
      Dim ret As Long
      Dim sBuffer As String  
      On Error Resume Next       
      Select Case uMsg  
        Case BFFM_INITIALIZED
          Call SendMessage(hWnd, BFFM_SETSelectION, 1, m_CurrentDirectory)      
        Case BFFM_SELCHANGED
          sBuffer = Space(MAX_PATH)
          
          ret = SHGetPathFromIDList(lp, sBuffer)
          If ret = 1 Then
            Call SendMessage(hWnd, BFFM_SETSTATUSTEXT, 0, sBuffer)
          End If      
      End Select  
      BrowseCallbackProc = 0  
    End Function
    Private Function GetAddressofFunction(add As Long) As Long
      GetAddressofFunction = add
    End Function


    建立一个窗口和一个按钮
    程序代码 程序代码
    Option Explicit
    Private getdir As String
    Private Sub Command1_Click()    
        getdir = BrowseForFolder(Me, "Select A Directory", Text1.Text)
        If Len(getdir) = 0 Then Exit Sub     Text1.Text = getdir    
    End Sub
    Private Sub Form_Load()
      Text1.Text = CurDir
    End Sub

    最终结果如图:
    点击放大图片

    上面是对vb中调用文件夹对话框的一个总结,个人认为第5个方法是最为完美的,这也是从国外坛子淘到的
    展开全文
  • Vb恶搞程序,逗您玩,关不完的消息框(弹出窗口),其实是能关掉的,只要你一直点下去,而且到最后还可以看到传说中的比尔盖茨,哈哈。程序是个小恶搞程序,对你的系统不会造成任何伤害,只是玩玩的,源代码开源。
  • 方法很简单,就是引用 System.Windows.Forms. 然后在代码页面头部 Imports System.Windows.Forms 即可。 或者直接使用 System.Windows.Forms.Messagebox.show() 之后就能使用Messagebox...

    方法很简单,就是引用 System.Windows.Forms.

    然后在代码页面头部 Imports System.Windows.Forms 即可。

    或者直接使用 System.Windows.Forms.Messagebox.show()

    之后就能使用Messagebox对话框了。

    展开全文
  • %@Page language="VB"%><script runat="server">Sub Page_Load(sender as Object, e as EventArgs) tbTest.text="Cancel"'利用attributes属性可以用在任何使用js代码的地方 btntest.Attributes.Add("onclic...

    如标题:
    <%@Page language="VB"%>
    <script runat="server">
    Sub Page_Load(sender as Object, e as EventArgs)
      tbTest.text="Cancel"
      '利用attributes属性可以用在任何使用js代码的地方
      btntest.Attributes.Add("onclick", "return confirm('Ok or Cancel?');")
    End Sub

    Sub btnTestClick(sender as Object, e as EventArgs)
      tbTest.text="Ok"
    End Sub
    </script>
    <html>
    <head></head>
    <body>
    <form runat="server">
    <asp:textbox id="tbTest" runat="server"/>
    <asp:button id="btnTest" runat="server" text="Test" οnclick="btnTestClick"/>
    </form>
    </body>
    </html>

    点击按钮,可以弹出一个对话框,只有在选择“确认”的情况下才会发生postback。对于删除确认很好用。

    转载于:https://www.cnblogs.com/Carlwave/archive/2006/03/28/361162.html

    展开全文
  • 点击弹出美化的消息对话框VB界面实例代码。本消息框控件与系统自带消息框的使用方法大致相同,不过个人认为要比Windows系统的美观许多,但没有终止、重试、忽略三个按纽(如有必要,请自行添加),组合值中不要包括...
  • 动画方式弹出,就像MSN的提示框; 自动关闭,无需手工确认那个ok; 示例包括C#和VB两个版本 用起来简单(具体使用方法见代码),使用前请先在你的项目中添加EeekSoft.Web.PopupWin.dll(在bin文件夹中),然后再编译...
  • 1:动画方式弹出,就像MSN的提示框 2:漂亮,详细见配图 3:还可以再在开一个更加详细的内容网页 4:自动关闭,无需手工确认那个ok 5:示例包括C#和VB两个版本,popUp的源文件在EeekSoft.Web.PopupWin文件夹中 6:用...
  • 1:动画方式弹出,就像MSN的提示框 2:漂亮,详细见配图 3:还可以再在开一个更加详细的内容网页 4:自动关闭,无需手工确认那个ok 5:示例包括C#和VB两个版本,popUp的源文件在Source文件夹中 6:用起来简单...
  • C# 自制弹出输入对话框

    千次阅读 2009-04-22 22:09:00
    今天在C#试写了一个自制的弹出对话框,大致思路如下:在新的Form中设置一个变量,接受你输入的值并且传回原来的窗体!窗体设计及代码如下: 原窗体就一个按钮:弹出的对话框窗体: 窗体1程序如下:public partial ...

    在C#中没有VB中的InputBox,所以有时需要弹出个输入对话框时感觉很不方便,需要自己写个Form!

    其实也不难!今天在C#试写了一个自制的弹出对话框,大致思路如下:在新的Form中设置一个变量,接受你输入的值并且传回原来的窗体!

    窗体设计及代码如下:

     

    原窗体就一个按钮:



    弹出的对话框窗体:

     

    窗体1程序如下:

    public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            private void button1_Click(object sender, EventArgs e)
            {
                Form2 frm2 = new Form2();
                frm2.ShowDialog();

                if (frm2.Value != null)
                    MessageBox.Show(frm2.Value);
                else
                    MessageBox.Show("取消");
            }
        }

     

    窗体2程序如下:

    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        private string returnValue;
        public string Value
        {
            set { returnValue = value; }
            get { return returnValue; }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            returnValue = textBox1.Text;
            Close();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            returnValue = null;
            Close();
        }

    展开全文
  • VB6.0中,在页面上添加一个Timer控件后,如果页面上有消息对话框弹出Timer控件会停止运行,不再在后台处理相应的程序。原因是VB6.0IDE的问题,只要把代码编译成EXE后,就不会有问题了。巨搞笑得问题!
  • 1:动画方式弹出,就像MSN的提示框 2:漂亮,详细见配图 3:还可以再在开一个更加详细的内容网页 4:自动关闭,无需手工确认那个ok 5:示例包括C#和VB两个版本,popUp的源文件在EeekSoft.Web.PopupWin文件夹中 6:用...
  • 弹出模态对话框的同时设置他的位置本例子掩饰与父窗体左上角对齐根据BCB_FANS(四大名捕之追杀令)的bcb代码改写为vb的仅供参考附BCB_FANS源代码BCB_FANS (四大名捕之追杀令)当MessageBox对话框显示的时候,主窗口将...
  • VB6.0单人纸牌游戏源码,好像没有什么功能,也是挺简单的游戏,...当局面为僵死状态时,会弹出对话框提示并重新洗牌;当局面为目标状态时,会弹出对话框提示已完成任务。  关于作者: 由acme_pjz 无聊的时候编出的。
  • VB6 编写的倒计时器,时间可由用户自己输入,到时间后,自动弹出对话框并执行用户指定的程序或执行关机或执行重新启动,然后自行退出。
  • vb.net计算器代码

    2011-02-22 23:40:56
    数据就按下这运算符,会弹出提示对话框提示先输入数据) 3.修改按钮,如果是数据,每按下该按钮时显示框里的数据将从最右边清除一个,如果是运算符,按下该按钮,则显示框里的运 算符被清除,但是原数据仍被保存,...
  • VB写程序遇到 一麻烦,想清您帮助。 这是网页代码: //每播放隔二十分钟提示并暂停播放 if (secondIndex%1200 == 0 && CanPause &...我想用VB自动点击 这个代码出现的“确定”对话框。我是WebBrowser控件加载网页的。
  • VB代码门窗表统计

    2011-04-11 14:14:36
    6、切换或打开系统形成的表格,从菜单中选择“工具”---“加载宏”从中的对话框中点击浏览,选择程序所在目录下的“McbPl.xla”,返回后在对话框中“McbPl”前面的复选框点中; 7、将程序统计的数据复制到...
  • 一套专业的VB专业管理系统-包含源代码,使用说明: 1.软件所涉及的数据库分为四张表。 lesson kecheng zhuanye class 四张表所有操作均可在本程序中进行。 2.程序功能:a.班级、学期、专业及自由组合的查询。...
  • 一套专业的VB专业管理系统-包含源代码,使用说明:  1.软件所涉及的数据库分为四张表。  lesson  kecheng  zhuanye  class  四张表所有操作均可在本程序中进行。  2.程序功能:a.班级、学期、专业及...
  • vb6 dll 注入

    热门讨论 2008-09-17 08:53:12
    ATTACH”,说明.dll已经被注入并且被调用了,随后再弹出一个对话框,显示的是当前进程加载的所有模块的文件名,当然其中也包含我们的.dll文件,之后弹出对话框提示“DLL_THREAD_DEATH”,线程结束,当记事本进程结束...
  • VB 进程启动拦截【附源码】

    热门讨论 2009-08-20 09:14:01
    可以拦截一切程序,打开本程序,然后任意打开一个程序,程序会弹出对话框,有允许和拒绝两种选择,点允许程序运行,点拦截不运行,代码还是很经典的,严禁转载!
  • VB实现简单的图形区域选择

    千次阅读 2010-04-28 11:12:00
    程序效果:当点击左边的部件图时,会弹出对话框提示你点击了哪一个区域。程序思路:用一个图片区域码图作为点击区域的参照,根据XY取得的颜色识别出属于哪一个区域程序界面如下:相关代码如下:Visual Basic CodeDim...
  • (1.)单击“打开文件”按钮弹出一个通用对话框,选择文件后显示在文本框中 (2).单击“保存文件”按钮后弹出通用对话框,确定文件名后保存。 (3)单击“查找下一个”按钮后在文本文件中查找单词“VB”,找到后以...
  • 程序运行后,如果单击命令按钮,则弹出打开文件对话框,请按下列要求设置属性和编写代码:①设置适当属性,使对话框的标题为”打开文件”;②设置适当属性,使对话框的”文件类型”下拉式组合框中有两项可供选择:”...
  • VB语言COM组件开发GUID指定方法

    千次阅读 2016-05-24 21:12:52
    一、背景  VS2010开发环境下,VB的开发许多代码可以自动的生成模板,... 在solution manager(解决方案资源管理器)中的项目上点击右键,在弹出的菜单上点击添加类,在弹出对话框中选择“com类”,修改类的名称(本
  • VB脚本编写的,可以双击运行,定时访问百度讯网的URL获取上证指数,并弹出提示对话框,点击确定按钮继续运行,点击取消按钮退出程序。定时设置见代码的第89行
  • 实验名称:在VB中三个数的排序 在桌面中双击VB6.0打开程序 在工具箱窗口找到command的图标,单击...在窗体中双击command图标,并在弹出对话框中输入代码代码如下: Dim a As Integer Dim b As Integer

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 129
精华内容 51
关键字:

vb弹出对话框代码