本工作室自主开发十多款实用软件,为纯绿色软件,安全可靠,不写注册表,不污染操作系统任何地方,绝不附带任何无关软件,绝不困绑任何插件,支持所有WindowsXP以上系统
论坛的首页 勇芳的软件
教程和帮助
  • VisualFreeBasic编程文档
  • 勇芳系列软件帮助说明教程
  • 留言或交流 登录
    登录
    侧边栏壁纸
    博主头像
    勇芳

    • 累计撰写 330 篇文章
    • 累计收到 0 条评论
    • 首页
    • 栏目
      • 论坛的首页
      • 勇芳的软件
      • 教程和帮助
        • VisualFreeBasic编程文档
        • 勇芳系列软件帮助说明教程
      • 留言或交流
      • 登录
    作者 【1】 的文章
    • VisualFreeBasic代码 2026-1-21
      VisualFreeBasic代码 本编程语言是:FreeBasic ,属于Basic语言的分支,其基础语法和VisualBasic、QBasic、VBScript都有 99% 以上相同。 控件部分,可以自己拖拖点点,用用几个月,都会搞熟悉,而编程语言部分,你必须天天敲代码,每个语句,每行代码必须一个一个学习才行。 语言参考 [关键字 - 按字母顺序排列] [关键字 - 函数] [图形的关键字] [运算符列表] 变量和数据类型 [变量声明] [用户定义类型(或 类)] [标准数据类型] [标准数据类型限制] [数据类型的转换] 运算符 [运算符列表] [运算符优先级] [按位运算符 和真值表] 语句 [控制流程] [过程(函数)] [模块化] 其它 [预处理] [字符串中的转义序列] [元-声明] [内部定义] [错误处理] [内联汇编] Runtime Library 运行库参考 [数组函数] [位 操作] [控制台函数] [日期和时间函数] [错误处理函数] [文件 IO 函数] [数学函数] [内存函数] [操作系统函数] [字符串函数] [线程库函数] [用户输入函数] Graphics Library 图形库参考 [2D 绘图函数] [用户输入函数] [屏幕函数] [内置图形库] [键盘扫描码] [默认调色板]
      • 2026年-1月-21日
      • 193 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • VisualFreeBasic控件_Custom 自定义 2026-1-21
      VisualFreeBasic控件_Custom 自定义 此控件不是一个固定的控件,可以自由设置成已在系统中注册的任何控件 系统中注册的控件 设置类名,只要是系统内注册的类名,就变成相关控件 WIn操作系统内置控件的做法,就是类名。那些WIn系统的标准控件,每一个控件都拥有自己独一无二的类名,当你设置的类名与之对应,那这个控件就变成此控件了。 当然,这里并不是为了WIn系统里标准控件搞的这样的万能控件,而是为了第三方提供的控件使用。 第三方提供WIn系统标准控件,会向系统注册一个控件类名。我们设置此类名,那么这个控件就成为第三方控件了。 第三方控件,比方:火花编辑器。当你下载火花编辑器后,有一个DLL文件。 在VFB中,入口函数中加载这个DLL,然后这个控件类名设置成火花编辑器的类名(具体类名,就要看第三方控件的开发文档了),运行软件后,就有这个控件了。 当然不懂这些没关系,反正用不到。 比方 Button 按钮 Edit 文本框 用窗口做控件(用户控件) 先在工程中添加一个窗口,比如:Form2 设置该窗口为子窗口 再在本控件的子窗口中输入:Form2 至此,Form2 就成为控件了。 也可以作为真实容器控件使用。 用户控件,控件变量 VFB中没有模块变量,就是单独属于控件自己的变量,就算系统控件也没有。所有变量都是共享的,比方,一个窗口中有多个相同控件存在,其变量是共享的,而非私有的。 实现私有控件变量,需要用以下代码: Dim fp As FormControlsPro_TYPE Ptr = vfb_Get_Control_Ptr(hWndControl) If fp Then fp->CtlData(0 - 99) '100个变量,供开发控件中,控件内部使用 fp->UserData(0 - 99) '100个变量,用户使用控件中使用。 End If 用户控件,控件事件 用户使用时,就一个事件,实现事件的方法,就是写控件者向自己发送消息 Function Form1_Custom1_SubClassProcess(hWndControl As hWnd, wMsg As UInteger, wParam As wParam, lParam As lParam) As LResult Select Case wMsg Case WM_USER+100 事件1 Case WM_USER+101 事件2 End Select Function = CallWindowProc(GetPropW(hWndControl, "vfb_SubClassProcess") ,hWndControl ,wMsg ,wParam ,lParam) '给原处理地址处理消息 ,这是必须的,不然就吃掉消息。 End Function 写控件时,触发控件 SendMessage( hWndControl , WM_USER+100 , wParam , lParam ) 用户控件,控件功能 用户需要修改或执行控件功能,也是发消息 SendMessage( hWndControl , WM_USER+200 , wParam , lParam ) 控件窗口中,在自定义事件中 Function Form2_Custom(hWndForm As hWnd, wMsg As UInteger, wParam As wParam, lParam As lParam) As LResult Select Case wMsg Case WM_USER+200 功能或属性1 Case WM_USER+201 功能或属性2 Case WM_USER+202 功能或属性3 End Select Function = FALSE ' 若不想系统继续处理此消息,则应返回 TRUE (俗称吃掉消息)。 End Function 因为控件都是多开的,因此需要设置或执行本控件需要 Me.hWndForm = hWndForm Me.xx控件xx.hWndForm = hWndForm 然后才可以操作自己,比如: Me.Caption ="xxx"
      • 2026年-1月-21日
      • 53 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • VisualFreeBasic控件_YFtext 文本 2026-1-21
      VisualFreeBasic控件_YFtext 文本 文字输入框控件 模仿浏览器里的输入控件,得到焦点有加重边框显示。 数字输入模式支持输入小数点和负号。 组合标签和上下调节功能。 基础功能和WIn系统标准控件一样。 显示的图标是 矢量图标 图标制作 使用 VisualFreeBasic 自带的 【矢量图标编辑器】 编辑一个,里面自带了很多图标,可以复制过来即可,在 VFB里的 工具菜单里,就可以找到这个软件。
      • 2026年-1月-21日
      • 47 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • VisualFreeBasic控件_YFflow 流程图 2026-1-21
      VisualFreeBasic控件_YFflow 流程图 添加数据方式和目录树控件类似,就显示出流程图,只是一个基础功能。
      • 2026年-1月-21日
      • 45 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • VisualFreeBasic控件_YFtable 表格 2026-1-21
      VisualFreeBasic控件_YFtable 表格 用于显示表格的控件 和 YFList 、List 控件类似,它们只是没列,只有行,而这个增加了 列,它们是1维表格,那么这个控件就是二维表格。 控件属性和用法基本上一样。 使用方法 和其它列表一样用法,就添加列表数据,这样就成为 1维的列表 YFtable1.AddItem("行文字1" ) YFtable1.AddItem("行文字2" ) YFtable1.AddItem("行文字3" ) 支持图标 矢量图标 添加矢量图标 Redim YFList1.vico(2) YFList1.vico(1)="f00101UU.7UL[YZL`Y^B`UcP[_]iVVZ[VlUL[Y+c200Z^YnV_V_" '矢量图标字符串 YFList1.vico(2)="a.42TP.7[sWraiWrai^F+a*6WKZPWK`n]C`n+b01TP00?T_T_Z[YF+b*6\t^QZ[YD" '矢量图标字符串 添加数据,带矢量图标索引 YFtable1.AddItem("行文字1",1 ) YFtable1.AddItem("行文字2",2 ) 字体图标 先要在起始代码区加载字体 字体文件在资源中 Dim ss As String = GetResourceStr("FONT_ICONFONT") Dim As Long uu Dim ff As Any Ptr = AddFontMemResourceEx(StrPtr(ss), Len(ss), 0, @uu) 字体文件是一个文件 Dim sst As String = App.Path & "iconfont.ttf" Dim As Long uu = AddFontResourceExA(StrPtr(sst) ,FR_PRIVATE ,0) 添加数据,带字体中的字符值 YFtable1.AddItem("行文字1",&HE655) YFtable1.AddItem("行文字2",&HE651 ) 图标文件 Dim H As HICON = LoadIcon(NULL, IDI_ERROR) ‘加载图标,不可以立即释放,等控件不显示了,必须释放 YFtable1.AddItem("行文字2", Cast(Integer, H)) 其它颜色设置(注意:是否选中,需要先设计属性显示复选框才有显示效果) YFtable1.AddItem("行文字1",字体图标,用户自定义数据,图标颜色,文字颜色,是否选中,背景颜色) 多列数据增加 每列用 chr(1) 分割 YFtable1.AddItem("1行1列文字" & chr(1) & "1行2列文字" & chr(1) & "1行3列文字" ) YFtable1.AddItem("2行1列文字" & chr(1) & "2行2列文字" & chr(1) & "2行3列文字" ) YFtable1.AddItem("2行1列文字" & chr(1) & "2行2列文字" & chr(1) & "2行3列文字" ) 表格头 新增的第一行,就是列表头 控件属性里选择,锁定首行,还可以设置不同的颜色来区别。 列宽度和列对齐设置 未设置宽度,默认控件宽度的 25% 宽度设置带 % 号的是控件宽度的百分比 YFtable1.ColumnWidth="20%,20%,32,107,418,33,47,200" YFtable1.ColumnAlignment = "2,1,2,1,0,2,1,0" 自绘 可以自己绘画,让控件更个性化 Function Form1_YFList1_OwnerDraw(hWndForm As hWnd,hWndControl As hWnd,StartY As Long,ItemHeight As Long ,sumU As Long,nList As YFListData Ptr,selIndex As Long,kMouse As Long,kPress As Long) As LResult End Function 自动生成的事件,里面还带详细的例题,可以看例题学习。 图标制作 使用 VisualFreeBasic 自带的 【矢量图标编辑器】 编辑一个,里面自带了很多图标,可以复制过来即可,在 VFB里的 工具菜单里,就可以找到这个软件。
      • 2026年-1月-21日
      • 52 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • VisualFreeBasic控件_YFswitcher 开关 2026-1-21
      VisualFreeBasic控件_YFswitcher 开关 一个开关小按钮,有多种样式可以选中,也可以设置颜色 就两种状态,开和关。用户点击按钮,就切换开关。 简单的无需说明 2025-6-3 新增了注释,就是“开”“关”的文字,可以显示在左边或右边,打上说明,可以当成多选控件用,比方 WIN11 系统里的选项,都是这样的类似的。
      • 2026年-1月-21日
      • 43 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • VisualFreeBasic控件_YFbutton 按钮 2026-1-21
      VisualFreeBasic控件_YFbutton 按钮 按钮,就一个普通的平面按钮 按钮用法,无需说明吧。和系统标准控件用法一样,只是显示效果不同。 预设24钟样式,支持矢量图标 图标制作 使用 VisualFreeBasic 自带的 【矢量图标编辑器】 编辑一个,里面自带了很多图标,可以复制过来即可,在 VFB里的 工具菜单里,就可以找到这个软件。
      • 2026年-1月-21日
      • 64 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • VisualFreeBasic控件_YFTreeView 目录树 2026-1-21
      VisualFreeBasic控件_YFTreeView 目录树 和系统标准控件使用方法类似,主要不同的是图标使用字体图标 使用方法,添加数据 Dim aa As YFTreeViewData Ptr = YFTreeView1.AddItem(0, "文字1") aa = YFTreeView1.AddItem(0, "文字2") '需要添加子项目 Dim bb As YFTreeViewData Ptr =YFTreeView1.AddItem(aa, "子文字1") 支持图标 矢量图标 添加矢量图标 Redim YFTreeView1.vico(2) YFTreeView1.vico(1)="f00101UU.7UL[YZL`Y^B`UcP[_]iVVZ[VlUL[Y+c200Z^YnV_V_" '矢量图标字符串 YFTreeView1.vico(2)="a.42TP.7[sWraiWrai^F+a*6WKZPWK`n]C`n+b01TP00?T_T_Z[YF+b*6\t^QZ[YD" '矢量图标字符串 添加数据,带矢量图标索引 YFTreeView1.AddItem(0,"行文字1",0,1 ) YFTreeView1.AddItem(0,"行文字2",0,2 ) 字体图标 先要在起始代码区加载字体 字体文件在资源中 Dim ss As String = GetResourceStr("FONT_ICONFONT") Dim As Long uu Dim ff As Any Ptr = AddFontMemResourceEx(StrPtr(ss), Len(ss), 0, @uu) 字体文件是一个文件 Dim sst As String = App.Path & "iconfont.ttf" Dim As Long uu = AddFontResourceExA(StrPtr(sst) ,FR_PRIVATE ,0) 添加数据,带字体中的字符值 YFTreeView1.AddItem(0,"行文字1",0,&HE655) YFTreeView1.AddItem(0,"行文字2",0,&HE651 ) 图标文件 Dim H As HICON = LoadIcon(NULL, IDI_ERROR) ‘加载图标,不可以立即释放,等控件不显示了,必须释放 YFTreeView1.AddItem(0,"行文字2", 0,Cast(Integer, H)) 新增的全部参数 Dim aa As YFTreeViewData Ptr = YFTreeView1.AddItem(0, "文字1",用户数据,普通字体图标,展开字体图标,是否为目录,图标颜色,文字颜色,背景颜色,是否选中) 普通字体图标,展开字体图标 当目录时,展开和没展开可以设置不同的图标 是否为目录 当没有子项目时,也显示为有子项目的状态 是否选中 当控件有带复选框样式,那么选中就会显示打勾 自绘 在事件中,自己可以画 Function Form1_YFTreeView1_OwnerDraw(hWndForm As hWnd,hWndControl As hWnd,gg As yGDI , hItem As YFTreeViewData ,x As Long ,y As Long ,w As Long ,h As Long,Sel As Long ,kMouse As Long,kPress As Long,ByRef maxW As Long) As LResult gg.SetColor &H0000FF 'GDI的颜色值。RGB=255,0,0 nl.ShowWidth = gg.GetTextWidth(nL.sText) + x If maxW<nl.ShowWidth Then maxW=nl.ShowWidth '必须设置,控件才能判断出要不要显示水平滚动条。不需要水平滚动,可以不设置 gg.DrawTextS(x ,y ,w ,h ,nL.sText ,DT_VCENTER Or DT_SINGLELINE Or DT_NOPREFIX Or DT_WORD_ELLIPSIS) Return True Function = False ' 自己画了后需要应返回 TRUE 控件就不画了,不然控件会再画。 End Function 列遍目录树所有数据 '列遍目录树所有数据 -----------深度算法,从上到下,先查子再进入 Dim 当前项目 As YFTreeViewData Ptr Dim 下一个项目 As YFTreeViewData Ptr 下一个项目 = YFTreeView1.GetRoot '根 当前项目 = YFTreeView1.GetChild(下一个项目) '第一个项目 Do If 当前项目 = 0 Then Exit Do '无项目 '项目处理 ----------- Print 当前项目->DataValue, 当前项目->sText '这里是你自己写的处理代码 '继续列出下一个 ------------- 下一个项目 = YFTreeView1.GetChild(当前项目) '查找第一个子项目 If 下一个项目 Then 当前项目 = 下一个项目 Else 下一个项目 = YFTreeView1.GetNextSiblin(当前项目) '没有子项目,就查找下一个项目 If 下一个项目 Then 当前项目 = 下一个项目 Else '没有任何项目了,就返回到父项目 Do 下一个项目 = YFTreeView1.GetParent(当前项目) If 下一个项目 = 0 OrElse 下一个项目 = YFTreeView1.GetRoot Then Exit Do, Do '已经到顶了,无项目处理,退出 当前项目 = YFTreeView1.GetNextSiblin(下一个项目) If 当前项目 Then Exit Do '有项目 当前项目 = 下一个项目 '已经到底,再向上一级别 Loop End If End If Loop 动态加载数据 比方要显示一个教程,教程中有很多目录,可能目录非常多,几千几万的,你要一次加载就非常缓慢。我们可以动态加载来实现,速度非常快,又能正常显示所有目录。 方法: 只加载根目录,有子项目的在添加时,“是否为目录”参数设置为 1 在“某结点将被展开”事件中,加载此子项目。 Function Form1_YFTreeView1_ItemExpanding(hWndForm As hWnd, hWndControl As hWnd,hItem As YFTreeViewData Ptr,action As Long )As LResult Function = False 'TRUE 可防止列表扩展或折叠。 End Function 例:新增项目时,在“用户数据”中赋值 数据库ID,那么在展开事件中,可以根据ID来加载数据了。 图标制作 使用 VisualFreeBasic 自带的 【矢量图标编辑器】 编辑一个,里面自带了很多图标,可以复制过来即可,在 VFB里的 工具菜单里,就可以找到这个软件。
      • 2026年-1月-21日
      • 44 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • VisualFreeBasic控件_YFList 列表 2026-1-21
      VisualFreeBasic控件_YFList 列表 只为显示列表用,支持图标、自绘、每行颜色 等 使用方法 和标准控件的一样用法,就添加列表数据 YFList1.AddItem("列表文字1" ) YFList1.AddItem("列表文字2" ) YFList1.AddItem("列表文字3" ) 支持图标 矢量图标 添加矢量图标 Redim YFList1.vico(2) YFList1.vico(1)="f00101UU.7UL[YZL`Y^B`UcP[_]iVVZ[VlUL[Y+c200Z^YnV_V_" '矢量图标字符串 YFList1.vico(2)="a.42TP.7[sWraiWrai^F+a*6WKZPWK`n]C`n+b01TP00?T_T_Z[YF+b*6\t^QZ[YD" '矢量图标字符串 添加数据,带矢量图标索引 YFList1.AddItem("行文字1",1 ) YFList1.AddItem("行文字2",2 ) 字体图标 先要在起始代码区加载字体 字体文件在资源中 Dim ss As String = GetResourceStr("FONT_ICONFONT") Dim As Long uu Dim ff As Any Ptr = AddFontMemResourceEx(StrPtr(ss), Len(ss), 0, @uu) 字体文件是一个文件 Dim sst As String = App.Path & "iconfont.ttf" Dim As Long uu = AddFontResourceExA(StrPtr(sst) ,FR_PRIVATE ,0) 添加数据,带字体中的字符值 YFList1.AddItem("行文字1",&HE655) YFList1.AddItem("行文字2",&HE651 ) 图标文件 Dim H As HICON = LoadIcon(NULL, IDI_ERROR) ‘加载图标,不可以立即释放,等控件不显示了,必须释放 YFList1.AddItem("行文字2", Cast(Integer, H)) 其它颜色设置 (注意:是否选中,需要先设计属性显示复选框才有显示效果) YFList1.AddItem("列表文字1",字体图标,用户自定义数据,图标颜色,文字颜色,是否选中,背景颜色) 自绘 可以自己绘画,让控件更个性化 Function Form1_YFList1_OwnerDraw(hWndForm As hWnd,hWndControl As hWnd,StartY As Long,ItemHeight As Long ,sumU As Long,nList As YFListData Ptr,selIndex As Long,kMouse As Long,kPress As Long) As LResult End Function 自动生成的事件,里面还带详细的例题,可以看例题学习。 图标制作 使用 VisualFreeBasic 自带的 【矢量图标编辑器】 编辑一个,里面自带了很多图标,可以复制过来即可,在 VFB里的 工具菜单里,就可以找到这个软件。
      • 2026年-1月-21日
      • 56 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • VisualFreeBasic控件_YFscroll 滚动条 2026-1-21
      VisualFreeBasic控件_YFscroll 滚动条 平面显示效果的滚动条,可以设置颜色 设置最大和最小值(支持32整数,WIN系统提供的只支持16位整数) YFscroll1.nMax = 最大值 YFscroll1.nMin = 最大值 YFscroll1.Value = 当前值 本控件会自动根据高度和宽带自动识别是 垂直滚动条还是水平滚动条。因此你拖控件大小即可。
      • 2026年-1月-21日
      • 73 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • 22
    • 23
    • 24
    • 25
    • 26
    博主栏壁纸
    博主头像 勇芳

    330 文章数
    0 评论量
    • QQ游戏大厅多开版_旧版_2012到2025版
    • 使用Sandboxie沙盒多开QQ游戏大厅
    • Sandboxie沙盒(隔离软件)
    人生倒计时
    最新评论
    链接
    • 公益·寻亲,让爱回家
    • Visual Basic6 语言和控件手册
    • CWindow类库帮助FreeBasic版
    • FreeBASIC 帮助文档中文版
    • Windows GDI 编程手册
    • Windows GDI+ 编程手册
    • SQLite3数据库API手册
    • WebBrowser控件编程手册
    • Win32API参考手册
    • Windows 编程宝典
    • WinHttp参考资料
    • WMI编程手册
    • VisualFreeBasic编程文档
    舔狗日记
    载入天数...载入时分秒...

    © 2025 勇芳软件工作室 版权所有

    ICP备案图标 浙ICP备11006222号-1 | 公安备案图标 33100402331731号

    powered by emlog 浙ICP备11006222号-1