FreeBASIC编程IDE——VisualFreeBASIC简介

    VisualFreeBASIC(简称VFB)是之前FireFly的改进版本,用于FreeBASIC的可视化设计,是国内勇芳仿照FireFly样式设计的IDE。该IDE类似VB6语言集成开发环境。拥有和VB6高度相似的语法规则,同时具有和C/C++语言一样强大底层操作的功能,夸平台、支持面向对象,能开发32位和64位软件、DLL、LIB库,是VB6最佳进阶语言。该软件很绿色,很纯净,不需要任何运行库,解压到任意文件夹(因为编译器的原因,IDE路径不能有空格),打开即用,集成了IDE、编译器、帮助、函数库等,设计生成的EXE也是纯绿色,不需要任何支持库、运行库,独立运行。

一、软件下载

   VFB软件可以在【Basic语言编程群 78458582】或者勇芳的个人网站(http://www.yfvb.com/soft-48.htm)上下载,目前最新版本为5.2.9(已更新至5.2.10)。压缩包如下:

二、新建窗体

    打开软件默认显示最近打开的工程,里面包含了由勇芳工作室收集并且整理的大量例程,以及勇芳自己编写的很多例程。打开界面如图所示:

    如果已有工程,则直接选择工程打开即可继续编辑,如果需要建立新的工程,则点击新建工程选项卡,如图:

    选择1.标准VFB工程,如果创建EXE程序,则选择1.标准EXE工程,如果创建DLL程序,则选择2.标准DLL工程(DLL入口点其实不是标准的,需要修改入口点的可以看IDE设置里的说明)。然后新建,进入工程属性设置,如图。

    输入工程名称,这里用test,选择工程目录,这里选择了桌面。需要注意的是,默认的工程目录在IDE的project目录下。如果自己选择工程目录,则需要自己手动创建文件夹来保存该工程,而在默认目录下,则会自动创建文件夹。(我认为是bug,但勇芳不改)

    该对话框还可以设置启动窗体(针对多窗体的情况),EXE图标(窗体左上角的图标需要在窗体里设置,这里是显示到桌面或者工具栏上的图标)以及其他一些属性(用到再说吧)。

三、IDE界面介绍

    新建窗体后,打开界面如下:左边是工具栏,中间是窗体设计区域,右边是工程、属性和库等,和VB6差不多啦,属性默认是中文的,如果习惯英文可以双击属性窗体,自动转换。

    如果需要打开代码编辑器,双击标签控件(Form1)这个地方就可以切换到代码编辑,(当然双击窗体或者控件也是一样的,这点和VB6一样),或者你找到窗体设计上面的小工具栏里,也可以找到切换的按钮。代码编辑器如下所示:

    界面跟布局和VB差不多,使用的是Scintilla源代码编辑控件,有的自动的代码提示,这个比VB强大,但也有不如意的地方,希望后期能改进吧,跟VS的编辑器比使用起来差距感还是有的。

四、IDE设置

    根据个人习惯,可以对IDE进行设置,这里选择几个常用的进行介绍。该设置都在菜单的【工具】->【环境选项】中设置。

    首先是代码编辑器选项设置,如图:默认的TAB空格字符数是3,由于个人习惯,改成4,注意,修改时需要同时设置字体(默认字体应该是微软雅黑),不选择会出现系统默认的字体,可能看起来不是那么习惯,我改了宋体。

    其次是代码编辑器配色,如图:你可以使用默认的编辑器配色,大概就是黑色、白色和绿色了,本人更加喜欢土黄色,感觉颜色柔和些,可以自己新增配色方案(新增不能在这里改名字,bug),然后点击配色窗口修改,也可以直接拷贝现成的配色方案,到IDE所在的文件夹中找到Settings文件夹里的vfb.ini文件,用记事本打开,在[Themes]条目里增加配色(在条目后面直接粘贴就好)。这里提供我设置的配色方案(原先FireFly里搬过来的):

5=HumaneStudio|0,C1D5E3,0,8000,6633|0,C1D5E3,0,0,0|AA0000,C1D5E3,0,0,0|944C20,C1D5E3,0,0,0|C4,C1D5E3,0,0,0|589225,C1D5E3,0,0,0|C4,C1D5E3,0,0,0|608ABA,C1D5E3,0,0,0|0,A4CAD8,0,0,0|FFFFFF,0,0,0,0|0,4E4E30,0,0,0|C0C0C0,352411,0,0,0|C0C0C0,352411,0,0,0|352411,FFFFFF,0,0,0|FFFFFF,FF9933,0,0,0|C1D5E3,C1D5E3,0,0,0|EE687B,C1D5E3,0,0,0

    直接在在vfb.ini里设置的话,需要先打开IDE运行一次,否则可能出错。设置完成后在代码编辑器配色里选择HumaneStudio就行了。

    第三是编译器设置选项,如果需要优化代码的或者在编辑DLL时需要指定入口点获得线程的启动和终止消息(VFB没有提供该功能)时,可以设置该选项。

    设置优化选项时,可以在附加编译选项开关里添加-gen gcc -Wc -O3,即指定使用gcc编译器,然后使用gcc的-O3优化级别,也可以用-O2,优化级别低些。如果不指定则默认使用fbc编译。

    设置DLL入口点时,可以在附加编译选项开关里添加-Wl "--entry _DLLMAIN",这里_DLLMAIN是入口点DllMain,需要一致。

DLLMain入口点函数如下:(该函数需要自己添加到VFB工程)

Function DllMain(ByVal hModule As HANDLE, ByVal fwdReason As Dword, ByVal lpReserved As LPVOID) As BOOL Export 
    Select Case fwdReason
        Case DLL_PROCESS_ATTACH  'DLL被加载
            MessageBox(0,"DLL_PROCESS_ATTACH","hModule=" & Hex(hModule),0)
        Case DLL_PROCESS_DETACH  'DLL被卸载
            MessageBox(0,"DLL_PROCESS_DETACH","hModule=" & Hex(hModule),0)
        Case DLL_THREAD_ATTACH   '单个线程启动
            MessageBox(0,"DLL_THREAD_ATTACH","hModule=" & Hex(hModule),0)
        Case DLL_THREAD_DETACH   '单个线程终止
            MessageBox(0,"DLL_THREAD_DETACH","hModule=" & Hex(hModule),0)
        Case Else
    End Select  
    Function = TRUE
End Function

五、控件美化

    VFB的控件图片与原先的VB图片相差较大,如果不习惯可以使用【Basic语言编程群】里群友上传的控件美化文件,也可以自己修改IDE文件目录里Settings文件夹里的iconfont.ttf文件中的图标,随便你喜欢。

    有关VFB介绍就到这里,欢迎吐槽。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会尽力回答你的问题。 首先,WinHook 是一个用于Windows操作系统的钩子库,它允许你监视和控制系统中发生的事件。使用WinHook,你可以捕捉和处理各种系统事件,如键盘和鼠标输入,窗口消息等。 要实现在按下Home键时呼出隐藏窗口,你需要创建一个钩子函数来捕捉Home键的按下事件。以下是一个基本的WinHook钩子函数的示例代码: ``` ' 定义钩子回调函数 Declare Function HookProc Lib "user32.dll" Alias "CallNextHookEx" (ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long ' 定义钩子ID常量 Const WH_KEYBOARD_LL = 13 ' 定义键盘事件常量 Const WM_KEYDOWN = &H100 Const WM_SYSKEYDOWN = &H104 ' 定义键盘事件数据结构 Type KBDLLHOOKSTRUCT vkCode As Long scanCode As Long flags As Long time As Long dwExtraInfo As Long End Type ' 声明全局变量 Dim hHook As Long ' 钩子回调函数 Function KeyboardHook(ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Dim HookData As KBDLLHOOKSTRUCT If nCode = HC_ACTION Then If wParam = WM_KEYDOWN Or wParam = WM_SYSKEYDOWN Then ' 捕捉Home键按下事件,显示隐藏窗口 HookData = ByVal lParam If HookData.vkCode = vbKeyHome Then ' 显示隐藏窗口的代码 ... End If End If End If ' 调用下一个钩子函数 KeyboardHook = HookProc(nCode, wParam, lParam) End Function ' 安装钩子函数 Function InstallHook() As Boolean hHook = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf KeyboardHook, App.hInstance, 0) If hHook <> 0 Then InstallHook = True Else InstallHook = False End If End Function ' 卸载钩子函数 Function UninstallHook() As Boolean If UnhookWindowsHookEx(hHook) <> 0 Then UninstallHook = True Else UninstallHook = False End If End Function ``` 在上面的代码中,我们定义了一个名为KeyboardHook的钩子回调函数,用于捕捉按键事件。在钩子回调函数中,我们检查按键事件的vkCode是否为vbKeyHome,如果是,就执行显示隐藏窗口的代码。 要安装钩子函数,我们调用SetWindowsHookEx函数,并将WH_KEYBOARD_LL作为钩子类型传入。要卸载钩子函数,我们调用UnhookWindowsHookEx函数,传入钩子句柄hHook。 以上是使用WinHook控件实现在按下Home键时呼出隐藏窗口的基本代码示例,你可以根据自己的需要进行修改和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值