精华内容
下载资源
问答
  • 如何在VB中通过相对路径引用标准DLL,开发技巧
  • util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码加以...
  • 以下内容介绍在C# 程序中如何将SVG图片添加到PDF文档、以及如何将SVG图片转换为PDF文档。一、环境准备先下载PDF类库工具,Spire.PDF for .NET hotfix 6.5.6及以上版本(下载时,注意版本信息)。下载后,解压文件,...

    以下内容介绍在C# 程序中如何将SVG图片添加到PDF文档、以及如何将SVG图片转换为PDF文档。

    一、环境准备

    下载PDF类库工具,Spire.PDF for .NET hotfix 6.5.6及以上版本(下载时,注意版本信息)。下载后,解压文件,将Bin文件夹下的Spire.Pdf.dll文件在VS中的“解决方案资源管理器”进行“添加引用”。另外,也可以通过Nuget下载。

    dll引用效果如下:

    ad6c19e143d99cab76fbe1ce0d4fa3fb.png

    用于测试的SVG图片,如下图:

    9b96ada64f0a4ec1a10ce70dc6d7ddc2.png

    二、代码示例

    1. 添加SVG到PDF文档

    C#

    using System.Drawing;
    using Spire.Pdf;
    using Spire.Pdf.Graphics;
    
    
    namespace InsertSVGImage_PDF
    {
        class Program
        {
            static void Main(string[] args)
            {
                //加载SVG图片
                PdfDocument file1 = new PdfDocument();
                file1.LoadFromSvg("Image.svg");
    
                //创建一个PDF文档,添加一页
                PdfDocument pdf = new PdfDocument();
                pdf.AppendPage();
    
                //根据SVG图片创建模板,并将模板绘制到PDF
                PdfTemplate template = file1.Pages[0].CreateTemplate();
                template.Draw(pdf.Pages[0].Canvas, new PointF());
    
                //保存PDF文档
                pdf.SaveToFile("AddSVGtoPDF.pdf", FileFormat.PDF);
                System.Diagnostics.Process.Start("AddSVGtoPDF.pdf");
            }
        }
    }
    

    http://VB.NET

    Imports System.Drawing
    Imports Spire.Pdf
    Imports Spire.Pdf.Graphics
    
    Namespace InsertSVGImage_PDF
     
        Class Program
     
            Private Shared Sub Main(ByVal args() As String)
                '加载SVG图片
                Dim file1 As PdfDocument = New PdfDocument
                file1.LoadFromSvg("Image.svg")
                '创建一个PDF文档,添加一页
                Dim pdf As PdfDocument = New PdfDocument
                pdf.AppendPage
                '根据SVG图片创建模板,并将模板绘制到PDF  
                Dim template As PdfTemplate = file1.Pages(0).CreateTemplate
                template.Draw(pdf.Pages(0).Canvas, New PointF)
                '保存PDF文档
                pdf.SaveToFile("AddSVGtoPDF.pdf", FileFormat.PDF)
                System.Diagnostics.Process.Start("AddSVGtoPDF.pdf")
            End Sub
        End Class
    End Namespace

    SVG图片添加效果:

    ccc70d91b3975f362109396d2394b7e9.png

    2. 将SVG图片转换成PDF文档

    C#

    using Spire.Pdf;
    
    namespace SVGtoPDF
    {
        class Program
        {
            static void Main(string[] args)
            {
                //加载SVG图片
                PdfDocument doc = new PdfDocument();
                doc.LoadFromSvg("Image.svg");
    
                //调用方法SaveToFile()保存为PDF格式
                doc.SaveToFile("ConvertSVGtoPDF.pdf", FileFormat.PDF);
                System.Diagnostics.Process.Start("ConvertSVGtoPDF.pdf");
            }
        }
    }
    

    http://VB.NET

    Imports Spire.Pdf
    
    Namespace SVGtoPDF
     
        Class Program
     
            Private Shared Sub Main(ByVal args() As String)
                '加载SVG图片
                Dim doc As PdfDocument = New PdfDocument
                doc.LoadFromSvg("Image.svg")
                '调用方法SaveToFile()保存为PDF格式
                doc.SaveToFile("ConvertSVGtoPDF.pdf", FileFormat.PDF)
                System.Diagnostics.Process.Start("ConvertSVGtoPDF.pdf")
            End Sub
        End Class
    End Namespace

    SVG转PDF效果:

    d636cf8c5fd2c89c4ea968403f105ca2.png

    (完)

    展开全文
  • VB实现选取文件夹路径

    万次阅读 2014-04-22 18:24:36
    VB中直接选取文件路径直接使用控件就可以实现 选取文件夹路径可以采用下述办法。   添加模块文件直接进行调用。模块内容代码 '---------------------------------------------------------------------------...

    在VB中直接选取文件路径直接使用控件就可以实现

    选取文件夹路径可以采用下述办法。

     

    添加模块文件直接进行调用。模块内容代码

    '---------------------------------------------------------------------------------------
    ' Module    : ModuleFile
    ' Author    : ROVAST
    ' Date      : 2014-4-22
    ' Purpose   : 文件相关操作模块
    ' Function  : 1、选取文件夹
    '---------------------------------------------------------------------------------------
    
    Option Explicit
    
    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
    Const BIF_RETURNONLYFSDIRS = 1
    Const BIF_NEWDIALOGSTYLE = &H40
    Const BIF_EDITBOX = &H10
    Const BIF_USENEWUI = BIF_NEWDIALOGSTYLE Or BIF_EDITBOX
    Const MAX_PATH = 260
    Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long)
    Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 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
    
    
    '---------------------------------------------------------------------------------------
    ' Procedure : BrowseForFolder
    ' Author    : ROVAST
    ' Date      : 2014-4-22
    ' Purpose   : 选取文件夹(不含新建文件夹指令) 返回BrowseForFolder
    '---------------------------------------------------------------------------------------
    '
    Public Function BrowseForFolder(Optional sTitle As String = "请选择文件夹") As String
        Dim iNull As Integer, lpIDList As Long, lResult As Long
        Dim sPath As String, udtBI As BrowseInfo
    
        With udtBI
            .hWndOwner = 0 ' Me.hWnd
            .lpszTitle = lstrcat(sTitle, "")
            .ulFlags = BIF_RETURNONLYFSDIRS Or BIF_USENEWUI
        End With
        lpIDList = SHBrowseForFolder(udtBI)
        If lpIDList Then
           sPath = String$(MAX_PATH, 0)
            SHGetPathFromIDList lpIDList, sPath
            CoTaskMemFree lpIDList
           iNull = InStr(sPath, vbNullChar)
            If iNull Then
              sPath = Left$(sPath, iNull - 1)
            End If
        End If
    
        BrowseForFolder = sPath
    End Function
    
    
    '---------------------------------------------------------------------------------------
    ' Procedure : BrowseForFolder1
    ' Author    : ROVAST
    ' Date      : 2014-4-22
    ' Purpose   : 选取文件夹路径(含新建文件夹) 返回BrowseForFolder1 字符串
    '---------------------------------------------------------------------------------------
    '
    Public Function BrowseForFolder1(Optional sTitle As String = "请选择文件夹") As String
        Dim iNull As Integer, lpIDList As Long, lResult As Long
        Dim sPath As String, udtBI As BrowseInfo
    
        With udtBI
            .hWndOwner = 0 ' Me.hWnd
            .lpszTitle = lstrcat(sTitle, "")
            .ulFlags = BIF_RETURNONLYFSDIRS
        End With
        lpIDList = SHBrowseForFolder(udtBI)
        If lpIDList Then
           sPath = String$(MAX_PATH, 0)
            SHGetPathFromIDList lpIDList, sPath
            CoTaskMemFree lpIDList
           iNull = InStr(sPath, vbNullChar)
            If iNull Then
              sPath = Left$(sPath, iNull - 1)
            End If
        End If
    
        BrowseForFolder1 = sPath
    End Function
    


    在主窗体中可以插入按钮。添加下述代码,其中前一个没有新建文件夹功能,后一个有新建文件夹功能

    Option Explicit
    
    Private Sub Command1_Click()
        Dim path1 As String
        path1 = BrowseForFolder
        MsgBox path1
    End Sub
    
    Private Sub Command2_Click()
        Dim path As String
        path = BrowseForFolder1
        MsgBox path
    End Sub
    


    此方法也是摘自互联网,自己只是整理了一下,具体原理自己也不是很清楚。当然要是有人愿意分析更好了,现在由于时间原因,也只能是拿来主义了

    参考地址:http://zhidao.baidu.com/question/333483648.html?qbl=relate_question_3&word=vb%20%D1%A1%D4%F1%CE%C4%BC%FE%BC%D0%B6%D4%BB%B0%BF%F2

    展开全文
  • 请教在一段代码中怎么提取图片路径比如提取images/upfile/2007012415441868254.jpg这个路径, 商品说明: 谢谢了 用vb.net __________________________________________________________________________ 通过...
    VB.NET源码-156个实用实例哦…… <script type="text/javascript">
     </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> 
    
    请教在一段代码中怎么提取图片路径
    请教在一段代码中怎么提取图片路径比如提取images/upfile/2007012415441868254.jpg这个路径,



    商品说明:






    谢谢了
    用vb.net
    __________________________________________________________________________
    通过字符串截取来获得。例如获取href的位置再处理。
    __________________________________________________________________________
    从后往前,截取.jpg到=之间的字符,这样 href 和 img 中的都可以提取图片路径了
    __________________________________________________________________________
    展开全文
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
    util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码加以...
  • VB 精典实用源代码

    2011-03-09 10:33:44
    查找方法:按ctrl+f,输入要查找的问题关键字即可每...////////////////////////////////////////////////////////////////////////////////////如何用VB建立快捷方式Private Declare Function fCreateShellLink Li...

    查找方法:按ctrl+f,输入要查找的问题关键字即可
    每个问题中间用///分隔,这只是一部分最常见到的问题,以后会逐渐更新。


    如何用VB建立快捷方式

    Private Declare Function fCreateShellLink Lib "STKIT432.DLL" (ByVal lpstrFolderName As String, ByVal lpstrLinkName As String, ByVal lpstrLinkPath As String, ByVal lpstrLinkArgs As String) As Long
    Sub
    Command1_Click()
    Dim lReturn As Long
    '添加到桌面
    lReturn = fCreateShellLink("..\..\Desktop", "Shortcut to Calculator", "c:\windows\calc.exe", "")
    '添加到程序组
    lReturn = fCreateShellLink("", "Shortcut to Calculator", "c:\windows\calc.exe", "")
    '添加到启动组
    lReturn = fCreateShellLink("\Startup", "Shortcut to Calculator", "c:\windows\calc.exe", "")
    End Sub


    如何让程序在 Windows 启动时自动执行?

    有以下二个方法:

    方法1: 直接将快捷方式放到启动群组中。

    方法2:
    在注册档 HKEY_LOCAL_MACHINE 中找到以下机码
    \Software\Microsoft\Windows\CurrentVersion\Run
    新增一个字串值,包括二个部份
    1. 名称部份:自己取名,可设定为 AP 名称。
    2. 资料部份:则是包含 '全路径档案名称' 及 '执行参数'

    例如:
    Value Name = Notepad
    Value Data = c:\windows\notepad.exe



    在 TextBox 中如何限制只能输入数字?

    参考下列程序:
    Sub Text1_KeyPress(KeyAscii As Integer)
    If KeyAscii < 48 or KeyAscii > 57 Then
    KeyAscii = 0
    End If
    End Sub


    我希望 TextBox 中能不接受某些特定字符,例如
    '@#$%",有没有简单一点的写法?

    方法有好几种, 以下列举二种:

    方法1: 可以使用
    IF Select Case 一个个判断, 但如果不接受的字符多时, 较麻烦!
    方法2: 将要剔除的字符统统放在一个字串中,只要一个
    IF 判断即可 !! 如下:
    Private Sub Text1_KeyPress(KeyAscii As Integer)
    Dim sTemplate As String
    sTemplate = "!@#$%^&*()_+-=" '用来存放不接受的字符
    If InStr(1, sTemplate, Chr(KeyAscii)) > 0 Then
    KeyAscii = 0
    End If
    End Sub



    如何让鼠标进入 TextBox 时自动选定 TextBox 中之整串文字?

    这个自动选定反白整串文字的动作,会使得输入的资料完全取代之前在 TextBox 中的所有字符。

    Private Sub Text1_GotFocus()
    Text1.SelStart =
    0
    Text1.SelLength = Len(Text1)
    End Sub



    如何检查软盘驱动器里是否有软盘?

    使用:
    Dim Flag As Boolean
    Flag = Fun_FloppyDrive("A:")
    If Flag = False Then MsgBox "A:驱没有准备好,请将磁盘插入驱动器!", vbCritical

    '-------------------------------
    '函数:检查软驱中是否有盘的存在
    '-------------------------------
    Private Function Fun_FloppyDrive(sDrive As String) As Boolean
    On Error Resume Next
    Fun_FloppyDrive = Dir(sDrive) <> ""
    End Function



    如何弹出和关闭光驱托盘?

    Option Explicit
    Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

    Private Sub
    Command1_Click()
    mciExecute
    "set cdaudio door open" '弹出光驱
    Label2.Caption = "弹 出"
    End Sub

    Private Sub
    Command2_Click()
    Label2.Caption =
    "关 闭"
    mciExecute "set cdaudio door closed" '合上光驱
    Unload Me
    End
    End Sub



    如何让你的程序在任务列表隐藏

    Private Declare Function RegisterServiceProcess Lib "kernel32" (ByVal ProcessID As Long, ByVal ServiceFlags As Long) As Long
    Private Declare Function
    GetCurrentProcessId Lib "kernel32" () As Long

    '请你试试 Ctrl+Alt+Del 是不是你的程序隐藏了
    Private Sub Command1_Click()
    i = RegisterServiceProcess(GetCurrentProcessId,
    1)
    End Sub



    如何用程序控制滑鼠游标 (Mouse Cursor) 到指定位置?

    以下这个例子,当 User 在 Text1 中按下
    'Enter' 键后,滑鼠游标会自动移到 Command2 按钮上方

    请在声明区中加入以下声明:

    '16 位版本: ( Sub 无传回值 )
    Declare Sub SetCursorPos Lib "User" (ByVal X As Integer, ByVal Y As Integer)

    '32 位版本: ( Function 有传回值,Integer 改成 Long )
    Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long

    '在 Form1 中加入以下程序码:
    Private Sub Text1_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
    x% = (Form1.Left + Command2.Left + Command2.Width / 2 + 60) / Screen.TwipsPerPixelX
    y% = (Form1.Top + Command2.Top + Command2.Height /
    2 + 360) / Screen.TwipsPerPixelY
    SetCursorPos x%, y%
    End If
    End Sub

    如何用鼠标移动没有标题的 Form,或移动 Form 中的控制项?

    在声明区中放入以下声明:

    '16 位版本: ( Sub 无返回值 )
    Private Declare Sub ReleaseCapture Lib "User" ()
    Private Declare Sub SendMessage Lib "User" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, lParam As Long)

    '32 位版本: ( Function 有返回值,Integer 改成 Long )
    Private Declare Function ReleaseCapture Lib "user32" () As Long
    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

    '共用常数:
    Const WM_SYSCOMMAND = &H112
    Const SC_MOVE = &HF012

    '若要移动 Form,程序码如下:
    Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim i As Long
    i = ReleaseCapture
    i = SendMessage(Form1.hwnd, WM_SYSCOMMAND, SC_MOVE,
    0)
    End Sub

    '以上功能也适用于用鼠标在 Form 中移动控制项,程序码如下:
    Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim i As Long
    i = ReleaseCapture
    i = SendMessage(Command1.hwnd, WM_SYSCOMMAND, SC_MOVE,
    0)
    End Sub


    检查文件是否存在?

    Function FileExists(filename As String) As Integer
    Dim
    i As Integer
    On Error Resume Next
    i = Len(Dir$(filename))
    If Err or i = 0 Then FileExists = False Else FileExists = True
    End Function


    如何设置对VB数据库连接的动态路径

    我个人因为经常作一些数据库方面的程序,对于程序间如何与数据库进行接口的问题之烦是深有体会,因为VB在数据库链接的时候,一般是静态,即数据库存放的路径是固定的,如用VB的DATA,adodc,DataEnvironment 等到作数据库链接时,如果存放数据库的路径被改变的话,就会找不到路经,真是一个特别烦的事。
    笔者的解决方法是利用app.path 来解决这个问题。
    一、用data控件进行数据库链接,可以这样:
    在form_load()过程中放入:
    private form_load()
    Dim str As String '定义
    str = App.Path
    If Right(str, 1) <> "\" Then
    str = str + "\"
    End If
    data1.databasename=str & "\数据库名"
    data1.recordsource="数据表名"
    data1.refresh
    sub end
    这几句话的意为,打开当前程序运行的目录下的数据库。
    你只要保证你的数据库在你程序所在的目录之下就行了。

    二、利用adodc(ADO Data Control)进行数据库链接:
    private form_load ()
    Dim str As String '定义
    str = App.Path
    If Right(str, 1) <> "\" Then
    str = str + "\"
    End If
    str = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" & str & "\tsl.mdb"
    Adodc1.ConnectionString = str
    Adodc1.CommandType = adCmdText
    Adodc1.RecordSource =
    "select * from table3"
    Adodc1.Refresh
    end sub

    三、利用DataEnvironment进行数据库链接
    可在过程中放入:
    On Error Resume Next
    If
    DataEnvironment1.rsCommand1.State <> adStateClosed Then
    DataEnvironment1.rsCommand1.Close '如果打开,则关闭
    End If
    'i = InputBox("请输入友人编号:", "输入")
    'If i = "" Then Exit Sub
    DataEnvironment1.Connection1.Open App.Path & "\userdatabase\tsl.mdb"
    DataEnvironment1.rsCommand1.Open "select * from table3 where 编号='" & i & "'"
    'Set DataReport2.DataSource = DataEnvironment1
    'DataReport2.DataMember = "command1"
    'DataReport2.show
    end sub

    四、利用ADO(ActiveX Data Objects)进行编程:
    建立连接:
    dim conn as new adodb.connection
    dim rs as new adodb.recordset
    dim str
    str = App.Path
    If Right(str, 1) <> "\" Then
    str = str + "\"
    End If
    str = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" & str & "\tsl.mdb"
    conn.open str
    rs.cursorlocation=aduseclient
    rs.open
    "数据表名",conn,adopenkeyset.adlockpessimistic
    用完之后关闭数据库:
    conn.close
    set conn=nothing


    如何让用户自行输入方程式,并计算其结果?

    假设我们要让使用者在“方程式”栏位中自由输入方程式,然后利用方程式进行计算,则引用ScriptControl控件可以很方便地做到。
    ( ScriptControl 控件附属于VB
    6.0,如果安装后没有看到此一控件,可在光盘的 \Common\Tools\VB\Script 目录底下找此一控件, 其.文件名为Msscript.ocx。) 假设放在窗体上的ScriptControl控件名称为ScriptControl1,则在“计算”按钮的Click事件中编写如下代码: Dim Statement As String Statement = "X=" + Text1.Text + vbCrLf + _ "Y=" + Text2.Text + vbCrLf + _ "MsgBox ""计算结果="" & Y " ScriptControl1.ExecuteStatement( Statement


    如何让一个 App 永远保持在最上层 ( Always
    on Top )

    请在声明区中加入以下声明

    Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

    Const
    SWP_NOMOVE = &H2 '不更动目前视窗位置
    Const SWP_NOSIZE = &H1 '不更动目前视窗大小
    Const HWND_TOPMOST = -1 '设定为最上层
    Const HWND_NOTOPMOST = -2 '取消最上层设定
    Const FLAGS = SWP_NOMOVE or SWP_NOSIZE

    '将 APP 视窗设定成永远保持在最上层
    SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS

    '取消最上层设定
    SetWindowPos Me.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS


    我要如何在程序中开启网页?

    在声明区中声明如下 (在 .bas 档中用
    Public, 在 Form 中用 Private)

    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

    在程序中

    Intranet:
    ShellExecute Me.hWnd,
    "open", "http://Intranet主机/目录", "", "", 5
    Internet:
    ShellExecute Me.hWnd,
    "open", "http://www.ruentex.com.tw", "", "", 5





    VB可以产生四角形以外其他形状的 Form 吗?

    这个问题,您一定无法想像有多容易,您可以产生任何形状的 Form,但必须借助 CreateEllipticRgn 及 SetWindowRgn 二个 API ,例如:

    Private Declare Function CreateEllipticRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long

    Private Declare Function
    SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long

    Private Sub
    Form_Load()
    Dim lReturn As Long
    Me.Show
    lReturn = SetWindowRgn(hWnd, CreateEllipticRgn(
    10, 10, 340, 150), True)
    End Sub

    执行结果图片

    CreateEllipticRgn 之四个参数说明如下:
    X1:椭圆中心点之X轴位置,但以 Form 的实№边界为限。
    Y1:椭圆中心点之Y轴位置,但以 Form 的实№边界为限。
    X2:椭圆长边的长度
    Y2:椭圆短边的长度的


    如何移除 Form 右上方之『X』按钮?

    其实 Form 右上方之三个按钮分别对应到 Form 左上方控制盒 (ControlBox) 中的几个选项 (缩到最小 / 放到最大 / 关闭),而其中的最大化 (MaxButton) 及最小化 (Minbutton) 都可以直接在 Form 的属性中设定,但是 VB 并没有提供设定『X』按钮的功能!要达到这个功能,必须借助 API:

    由于『X』按钮对应到 ControlBox 的关闭选项,所以我们只要移除系统 Menu (就是ControlBox) 的关闭选项即可!您自己可以先看看您现在使用的 Browser 左上方的系统 Menu,【关闭】选项是在第几个,不是第
    6 个!是第 7 个,分隔线也算一个!分隔线才是第 6 个!

    当我们移除了关闭选项之後,会留下一条很奇怪的分隔线,所以最好连分隔线也一并移除。而 Menu 的 Index 是从
    0 开始,分隔线是第 6 个,所以 Index = 5

    修正:为了让程序码在 Windows NT 也能运作正常,将各
    Integer 型态改成 Long。 89.05.04

    '抓取系统 Menu 的 hwnd
    Private Declare Function GetSystemMenu Lib "user32" Alias "GetSystemMenu" (ByVal hwnd As Long, ByVal bRevert As Long) As Long

    '移除系统 Menu 的 API
    Private Declare Function RemoveMenu Lib "user32" Alias "RemoveMenu" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
    '第一个参数是系统 Menu 的 hwnd
    '第二个参数是要移除选项的 Index


    如何制作透明的表单 (Form)?

    请在声明区中放入以下声明

    Const GWL_EXSTYLE = (-20)
    Const WS_EX_TRANSPARENT = &H20&
    Const SWP_FRAMECHANGED = &H20
    Const SWP_NOMOVE = &H2
    Const SWP_NOSIZE = &H1
    Const SWP_SHOWME = SWP_FRAMECHANGED or SWP_NOMOVE or SWP_NOSIZE
    Const HWND_NOTOPMOST = -2

    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Private Declare Function
    SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

    在 Form_Load 使用的范例如下:

    Private Sub Form_Load()
    SetWindowLong Me.hwnd, GWL_EXSTYLE, WS_EX_TRANSPARENT
    SetWindowPos Me.hwnd, HWND_NOTOPMOST,
    0&, 0&, 0&, 0&, SWP_SHOWME
    Me.Refresh
    End Sub


    如何在 Menu 中加入MM的图案?

    在模组中加入以下程序码:

    Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long

    Declare Function
    GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long

    Declare Function
    GetMenuItemID Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long

    Declare Function
    SetMenuItemBitmaps Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal hBitmapUnchecked As Long, ByVal hBitmapChecked As Long) As Long

    Public Const
    MF_BITMAP = &H4&

    Type MENUITEMINFO
    cbSize
    As Long
    fMask As Long
    fType As Long
    fState As Long
    wID As Long
    hSubMenu As Long
    hbmpChecked As Long
    hbmpUnchecked As Long
    dwItemData As Long
    dwTypeData As String
    cch As Long
    End
    Type

    Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long

    Declare Function
    GetMenuItemInfo Lib "user32" Alias "GetMenuItemInfoA" (ByVal hMenu As Long, ByVal un As Long, _
    ByVal b As Boolean, lpMenuItemInfo As MENUITEMINFO) As Boolean

    Public Const
    MIIM_ID = &H2
    Public Const MIIM_TYPE = &H10
    Public Const MFT_STRING = &H0&

    在 Form 中加入一个 PictureBox,属性设定为:
    AutoSize =
    True
    Picture = .bmp (尺寸大小为 13x13,不可设定为 .ico)

    在 Form_Load 中的程序码如下:

    Private Sub Form_Load()
    '取得程序中 Mennu 的 handle
    hMenu& = GetMenu(Form1.hWnd)
    '取得第一个 submenu 的 handle
    hSubMenu& = GetSubMenu(hMenu&, 0)
    '取得 Submenu 第一个选项的 menuId
    hID& = GetMenuItemID(hSubMenu&, 0)
    '加入图片
    SetMenuItemBitmaps hMenu&, hID&, MF_BITMAP, Picture1.Picture, Picture1.Picture
    '在一个 Menu 选项中您一共可以加入二张图片
    '一张是 checked 状态用,一张是 unchecked 状态用
    End Sub

    89、如何把小图片填满 Form 成为背景图?

    对于这个问题,我看过很多方法,有的方法很麻烦,要声明一大堆 Type,用一大堆的 API,但是有一个最笨但我认为最好的方法如下: (就好像拼磁砖一样,不用任何 API, 不必声明任何 Type)

    在 Form 中放一个 PictureBox,Picture 属性设定为某一张小图,AutoSize 属性性设定 True,完成的模组如下:

    Sub PictureTile(Frm As Form, Pic As PictureBox)
    Dim i As Integer
    Dim
    t As Integer
    Frm.AutoRedraw = True
    Pic.BorderStyle = 0
    For t = 0 To Frm.Height Step Pic.ScaleHeight
    For i = 0 To Frm.Width Step Pic.ScaleWidth
    Frm.PaintPicture Pic.Picture, i, t
    Next i
    Next t
    End Sub

    PictureTile 这个模组共有二个参数,第一个是表单名称,第二个则是 PictureBox 的名称。以下为一应用实例:

    Private Sub Form_Load()
    PictureTile
    Me, Picture1
    End Sub

    90、如何把小图片填满 MDIForm 成为背景图?

    以下这个范例, 要:
    1、一个 MDIForm:不必设定任何属性。
    2、一个 Form1:不一定是 MDIChild,最好 MDIChild 为 False,但是 AutoRedraw 设成 True。
    3、Form1 上面放一个隐藏的 PictureBox:名称为 Picture1,不必设定 Picture 属性。
    4、一张图片的完整路径。

    '将以下模组放入 MDIForm 的声明区中:

    Sub TileMDIBkgd(MDIForm As Form, bkgdtiler As Form, bkgdfile As String)
    If bkgdfile = "" Then Exit Sub
    Dim
    ScWidth%, ScHeight%
    ScWidth% = Screen.Width / Screen.TwipsPerPixelX
    ScHeight% = Screen.Height / Screen.TwipsPerPixelY
    Load bkgdtiler
    bkgdtiler.Height = Screen.Height
    bkgdtiler.Width = Screen.Width
    bkgdtiler.ScaleMode =
    3
    bkgdtiler!Picture1.Top = 0
    bkgdtiler!Picture1.Left = 0
    bkgdtiler!Picture1.Picture = LoadPicture(bkgdfile)
    bkgdtiler!Picture1.ScaleMode =
    3

    For n% = 0 To ScHeight% Step bkgdtiler!Picture1.ScaleHeight
    For o% = 0 To ScWidth% Step bkgdtiler!Picture1.ScaleWidth
    bkgdtiler.PaintPicture bkgdtiler!Picture1.Picture, o%, n%
    Next o%
    Next n%

    MDIForm.Picture = bkgdtiler.Image
    Unload bkgdtiler
    End Sub

    以下为一应用实例:

    Private Sub MDIForm_Load()
    TileMDIBkgd
    Me, Form1, "c:\windows\Tiles.bmp"
    End Sub


    关闭指定的程序

    要做到像 Task Manager 一样,可以关闭指定的程序,方法如下:

    在声明区中放入以下声明:(
    16位 改成 win31 API)

    Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

    Declare Function
    PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

    Public Const
    WM_CLOSE = &H10

    以下之范例示范如何关闭一个视窗标题 (Caption) 为 【小算盘】的程序:

    Dim winHwnd As Long
    Dim
    RetVal As Long
    winHwnd = FindWindow(vbNullString, "小算盘")
    Debug.Print winHwnd
    If winHwnd <> 0 Then
    RetVal = PostMessage(winHwnd, WM_CLOSE, 0&, 0&)
    If RetVal = 0 Then
    MsgBox "Error posting message."
    End If
    Else
    MsgBox "并未开启小算盘程序."
    End If


    如何隐藏及再显示鼠标

    很简单,只用到了一个 ShowCursor API,参数也很简单,只有一个 bShow,设定值如下:

    True:显示鼠标 / False:隐藏鼠标

    Declare Function ShowCursor Lib "user32" Alias "ShowCursor" (ByVal bShow As Long) As Long


    如何从您的应程序中结束 Windows 重开机?

    很多软件在 Setup 完之后都会自动关机重开机,以便让某些设定值可以生效,其实这个功能很简单,只要几行指令就可以做到了!

    关键就是要使用 ExitWindowsEx 这个 API,这个 API 只有二个参数,第一个参数是一个 Flag,目的是要告诉 Windows 要以什么方式关机,在下面的声明中会列出可用的 Flag 常数值,至于第二个参数则是一个保留值,只要设定成
    0 就可以了。

    很重要的一点是:如果您想要让关机动作更顺利,记得要 Unload 您的程序!

    '在声明区中 (Bas Module / Form Module) 加入以下声明:

    Public Const EWX_LOGOFF = 0 '这四个常数值可以并用
    Public Const EWX_SHUTDOWN = 1
    Public Const

    展开全文
  • 导入:右击工作表,查看代码,然后在打开的...执行:在各单元格输入图片路径(可用dir /b /s E:\图片\*.jpg >E:\图片\picpath.txt得到图片路径),然后在视图工具栏的宏中点击查看宏。 另外一种选择可能是HYPERLINK。
  • VB串口调试助手源代码

    千次阅读 2018-01-10 22:42:04
    'ImgSwitch.Picture = LoadPicture("f:\我的VB\串口调试软件\图片\guan.jpg") ' 显示串口已经关闭的图标 ImgSwitchoff.Visible = True ImgSwitchon.Visible = False Err: End Sub Private Sub Update...
  • C#基础教程-c#实例教程,适合初学者

    万次阅读 多人点赞 2016-08-22 11:13:24
    CLR执行中间语言代码前,要对中间语言代码的安全性,完整性进行验证,防止病毒对中间语言代码的修改。  版本支持:系统中的组件或动态联接库可能要升级,由于这些组件或动态联接库都要在注册表中注册,由此可能...
  • VB 运行时错误代码解释

    千次阅读 2014-05-12 22:19:40
    VB 运行时错误代码解释 3 ---- 无 GoSub 返回 5 ---- 无效的过程调用或参数  6 ---- 溢出  7 ---- 内存溢出 9 ---- 下标越界  10 ---- 该数组被固定或暂时锁定   11 ---- 除数为零 13 ---- ...
  • 1.获取网络动态图片的api,设置图片显示。 Dim wr As WebRequest = WebRequest.Create("https://uploadbeta.com/api/pictures/random/?key=BingEverydayWallpaperPicture") Dim res As WebResponse = wr....
  • 第一步 首先给自己的rdlc报表自定义参数,在视图找到Report Data 菜单 ,当然这个菜单 笔记本的不容易找到,点 视图 用滚轮 一直往下滚,最下面才...第三步 后台代码绑定代码如下,关键代码我用红色标识  protected v
  • 注:本文在翻译过程中,图片会与原文章有些差异,主要是我为了更好的让大家看清楚做了一个图文诠释。 原文地址:http://www.geeksengine.com/article/create-dll.html 感谢原作者的文章。 我正在更新我在访问VBA...
  • 在.net中,如何简单快捷地实现图像合成呢,比如合成文字,...第一步:在引用了SharpImage.dll之后,调用SharpImage方法之前,一定要先通过下面代码来设置授权信息,如果是试用版,直接输入Test即可。 KeyMgr.SetKey(...
  • 在.net中,如何简单快捷地实现图像合成呢,比如合成文字,...第一步:在引用了SharpImage.dll之后,调用SharpImage方法之前,一定要先通过下面代码来设置授权信息,如果是试用版,直接输入Test即可。 KeyMgr.SetKey(...
  • VB6.0操作WPS2019

    千次阅读 2020-06-09 15:29:10
    以下VB6.0代码可以实现WPS2019个人免费版(不含VBA组件)的处理 Private Sub Command1_Click() Set xlApp = CreateObject("ket.Application") '后期WPS,WPS2019个人PC版-V11.1.0.9584 '网上查询说et.Application及...
  • 过程名:wdout作用:使用定义好...参数:photofile——照片文件的路径字符串,为完整绝对路径。不判断文件是否存在,如果不存在将出错。插入图片其实只有一句wdApp.Selection.InlineShapes.AddPicture FileName:= _ 
  • VB常用代码

    千次阅读 2005-08-09 13:23:00
    题一、如何用VB建立快捷方式Private Declare Function fCreateShellLink Lib "STKIT432.DLL" (ByVal lpstrFolderName As String, ByVal lpstrLinkName As String, ByVal lpstrLinkPath As String, ByVal ...
  • .NET PDF转图片

    千次阅读 2015-08-07 13:46:50
    VB.NET下的PDF转图片首先需要添加引用O2S.Components.PDFRender4NET.dll Imports O2S.Components.PDFRender4NET Sub ConvertPDF2Image(ByVal pdfInputPath As String, ByVal imageOutputPath As String, ByVal ...
  • VB基本函数大全

    万次阅读 多人点赞 2018-01-15 17:18:05
    Abs 函数: 返回数的绝对值。... ANSI 字符代码。  赋值运算符 (=):给变量或属性赋值。  Atn 函数 :返回数的反正切值。  调用语句 将控制移交 Sub 或 Function 过程。  CBool 函数: 返回已被转换为 Boo
  • VB错误代码列表

    千次阅读 2008-07-30 18:04:00
    无效的图片 482 打印机错误 735 不能将文件保存到 TEMP 744 要搜索的文本没有找到 746 替换文本太长 42788 应用程序定义或...
  • 一、有关环境问题 针对Word开发的软件,不仅要自己电脑上可以用,应该在其他机器上也可以用。从引用开始,就面临了使用环境的...所以我也拆开了一条条说明,而不是完整代码。 创建一个类 myword 声明一个Word应用...
  • 另外还可以在代码里使用objectLoader loadComObject attr comNm 来添加组件引用 attr为引用变量名 comNm为组件名 注意:一个新的组件在引用前应先用regsvr32 dll注册">定义: 这是一款桌面级的WEB服务器 包含一个静态...
  • VB错误代码集收藏

    2009-07-14 11:11:00
    错误号 含义  3 无 GoSub 返回  ...481 无效的图片  482 打印机错误  735 不能将文件保存到 TEMP  744 要搜索的文本没有找到  746 替换文本太长  42788 应用程序定义或对象定义错误
  • 代码如下,如何让myFiles中的PDF文件由默认排序更改为由pdf创建时间排序? ``` Private Sub Command1_Click() Dim a() As String Dim myPath As String Dim myFiles As String Dim f As String Dim i As...
  • VB函数大全

    万次阅读 2012-03-14 15:50:36
    VB函数大全  Calendar 常数 可在代码中的任何地方用下列常数代替实际值: 常数 值 描述 vbCalGreg 0 指出使用的是阳历。 vbCalHijri 1 指出使用的是伊斯兰历法。 -----------------------------------...
  • vb.net嵌入BAIDU OCR实例

    千次阅读 2019-07-12 16:00:45
    一、准备工作 ... ...之后返回应用管理则可看到 APP_ID、API_KEY、SECRET_...https://ai.baidu.com/sdk#ocr VB.NET就选择C#SDK 以最新的4.X为例,下载之后解压缩.net 4.5的文件夹 1.3然后在VS中将上述两个dll添加...
  • VB中对EXCEL的各种操作

    万次阅读 多人点赞 2017-02-08 15:20:15
    VB操作excel方法汇总 Private Sub Command3_Click()    Dim i As Long  Dim j As Long  Dim objExl As Excel.Application '声明对象变量  Me.Mouse...
  • VB常用代码总结

    千次阅读 2010-11-19 00:01:00
    VB常用代码总结 移动无标题栏的窗体 (BorderStyle = none) Dim  mouseX As Integer Dim  mouseY As Integer Dim  moveX As Integer Dim  moveY As Integer Dim ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,609
精华内容 1,443
关键字:

vb引用图片路径的代码