VFP”在属性窗口双击此方法打开用户自定义过程代码“是怎样做的?

黄琼林 2019-11-03 16:25:00

推荐回答

我也遇到了相同问题,我的系统是win7,在注册表中搜索dbf_auto_file也没找到,反复试验得到的解决办法是:先打开VFP,不要打开任何文件,选择“程序”—“编译”,在“编译”对话框中选择“全部选定”,再点击“编译”按钮。退出VFP,再双击XXX.dbf文件,正常打开,没有出现“XXX.fxp不是目标文件”的提示,问题解决。我估计可能是VFP有过非正常退出,引起程序错误造成的。虽然现在用VFP的很少了,但我们还在使用,把自己的经验分享一下,希望能给还在用VFP的朋友一点帮助。
黄盛福2019-11-03 16:36:44

提示您:回答为网友贡献,仅供参考。

其他回答

  • 比如你新建一个表单,并再拖入一些控件,如文字框,表格框,按钮等,通过双击表单空白处或相应控件,便可以进入表单或控件的代码编辑框,表单默认进入的load事件编辑框,你可以定义表单载入时要发生的事情,如新建数据表或加截数据环境或定义全局变量等.其他控件默认进入的是click事件,也就是单击本控件时发生的事件.如在一个按钮的click事件中输入:thisform.release,即本表单运行后,单击本按钮则关闭本表单。
    龚小竞2019-11-03 18:37:11
  • 将相应vfp版本的运行库放到system32目录中即可。VFP5的支持库:VFP500.dllVFP5CHS.dllVFP6的支持库:vfp6r.dllvfp6rchs.dllgdiplus.dllVFP7的支持库:msvcr70.dllvfp7r.dllvfp7rchs.dllvfp7renu.dllgdiplus.dllVFP8的支持库:msvcr70.dllvfp8r.dllvfp8renu.dllgdiplus.dllVFP9的支持库:msvcr70.dllvfp9r.dllvfp9rchs.dllgdiplus.dllReportOutput.appReportPreview.app。
    黄真浩2019-11-03 17:59:59
  • 双击GRID后在弹出的代码窗口中,过程中选择DBLCLICK后就可写了,具体是什么样的要根据要求了。
    黄盛毅2019-11-03 17:00:33
  • 做个初始化prg文件作为主程序,主程序调用表单后,要用READEVENTS命令如:doform表单名readevents详细见下面:若要控制事件循环执行READEVENTS命令,该命令使VisualFoxPro开始处理例如鼠标单击、键击等用户事件。从执行READEVENTS命令开始,到相应的CLEAREVENTS命令执行期间,由于主文件中所有的处理过程全部挂起,因此将READEVENTS命令正确地放在主文件中十分重要。例如,在一个初始过程中,可以将READEVENTS作为最后一个命令,在初始化环境并显示了用户界面后执行。如果在初始过程中没有READEVENTS命令,应用程序运行后将返回到操作系统中。在启动了事件循环之后,应用程序将处在所有最后显示的用户界面元素控制之下。例如,如果在主文件中执行下面的两个命令,应用程序将显示表单Startup.scx:DOFORMSTARTUP.SCXREADEVENTS如果在主文件中没有包含READEVENTS或等价的命令,在开发环境的“命令”窗口中,可以正确地运行应用程序。但是,如果要在菜单或者主屏幕中运行应用程序,程序将显示片刻,然后退出。应用程序必须提供一种方法来结束事件循环。若要结束事件循环执行CLEAREVENTS命令。典型情况下,可以使用一个菜单项或表单上的按钮执行CLEAREVENTS命令。CLEAREVENTS命令将挂起VisualFoxPro的事件处理过程,同时将控制权返回给执行READEVENTS命令并开始事件循环的程序。如果要查看一个简单的程序示例,请参阅本章稍后的“将一个程序结构化为主文件”。注意在启动事件循环之前,需要建立一个方法来退出事件循环。必须确认在界面中存在一个可执行CLEAREVENTS命令的机制。
    齐敬涛2019-11-03 16:54:39

相关问答

双币卡是指同时具有人民币账户和外币账户的信用卡。一般是卡正面右上方贴有“银联”标识,右下方贴有VISA、JCB或万事达的标识。现在,VISA或万事达双币信用卡能够在200多个国家使用,这样的话,寻找消费商户及较为方便。双币信用卡在国内刷卡消费时,采用的是人民币结算,在国外刷卡的话,会自动进入外币结算系统,根据卡片种类不同,先转换成美元或欧元,在非美元或欧元地消费,会再转换成当地货币结账,还款时还要再转换一次,转来转去,因为发生了货币转换,所以就要收取1%到2%的费用。回来还款时,还需要先进行汇兑,又会产生一次货币转换费。全币种卡,出国刷卡无障碍全币种的主要功能是可以免除货币转换费,并能处理所有币种的交易需求。无论是在何国何地消费,回国后均可以直接用人民币还款,免除购汇手续,此外,银行的全币种国际卡一般都会赠送高额的旅行意外险。多币种卡不仅综合了单币卡和双币卡的优点,还避免了它们的缺点。而且,目前各行发行的多币种卡,都是免年费的。唯一美中不足的是,全币种卡暂时都不支持刷银联通道。两者仅仅在结算的币种数量上有所差异。举个例子,双币种卡是银联+VISA人民币+美元,那么在美国亚马逊购物,双币和全币没有任何区别,你再由人民币兑美元还款。
Imports System.TextImports System.Runtime.InteropServicesPublic Class Form1    '' 相关API函数声明,注释掉的这里没用到,但是也比较常用吧,这些函数的功能都能搜到。    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ByVal lpClassName As String, ByVal lpWindowName As String As IntPtr    Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" ByVal hWnd1 As IntPtr, ByVal hWnd2 As IntPtr, ByVal lpsz1 As String, ByVal lpsz2 As String As IntPtr    Private Delegate Function EnumChildProcByVal hWnd As IntPtr, ByVal lParam As Integer As Boolean    Private Declare Function EnumChildWindows Lib "user32.dll" ByVal hWndParent As IntPtr, ByVal lpEnumFunc As EnumChildProc, ByVal lParam As Integer As Boolean    Private Declare Auto Function SendMessage Lib "User32.dll" ByVal hWnd As IntPtr, ByVal Msg As Integer, ByVal wParam As Integer, ByVal lParam As String As Integer    ''Private Declare Function CheckDlgButton Lib "user32" Alias "CheckDLGButtonA" ByVal hDlg As IntPtr, ByVal nIDButton As IntPtr, ByVal wCheck As Integer As Integer    Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" ByVal hWnd As IntPtr, ByVal lpClassName As StringBuilder, ByVal nMaxCount As Integer As Integer    ''Private Declare Function GetWindowThreadProcessId Lib "user32" Alias "GetWindowThreadProcessId" ByVal hwnd As IntPtr, ByVal lpdwProcessId As Long As Integer    Private Declare Auto Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLength" ByVal hwnd As IntPtr As Integer    Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" ByVal hwnd As IntPtr, ByVal lpString As StringBuilder, ByVal cch As Integer As Integer    '' 相关消息定义,也有没用到的    Const WM_SETTEXT = &HC    Const WM_GETTEXT = &HD    ''Const WM_SETFOCUS = &H7    ''Const WM_KILLFOCUS = &H8    ''Const WM_CLOSE = &H10    ''Const WM_SYSCOMMAND = &H112    ''Const SC_CLOSE = &HF060&    ''Const SC_MINIMIZE = &HF020&    Const BM_GETCHECK = &HF0    Const BM_SETCHECK = &HF1    Const BM_GETSTATE = &HF2    Const BM_SETSTATE = &HF3    Const BM_SETSTYLE = &HF4    Const BM_CLICK = &HF5    ''Const BM_GETIMAGE = &HF6    ''Const BM_SETIMAGE = &HF7    Const BST_UNCHECKED = &O0    Const BST_CHECKED = &O1    Const BST_INDETERMINATE = &O2    '' 储存窗口句柄    Dim WindowHandle As IntPtr    '' 储存两个,枚举时自动调用回调函数,完成编辑框句柄的获取        EnumChildWindowsWindowHandle, AddressOf EnumChildProcC, 0        '' 寻找复选框        CheckHandle = FindWindowExWindowHandle, IntPtr.Zero, vbNullString, "记住密码"        Dim str As New StringBuilder        Dim j As Integer = 0        '' 对编辑框文本赋值        For j = 0 To EditHandle.Count - 1            SendMessageEditHandlej, WM_SETTEXT, 0, "Text"            ''GetWindowTextEditHandlej, str, 20            ''EditWindowsText.AddStr.ToString            ''Str.Clear        Next        If EditHandle.Count = 0 Then            MsgBox"未找到输入框!"        End If                If CheckHandle.ToInt32 <> 0 Then            ''CheckDlgButtonWindowHandle, id, 1            '' 对复选框进行鼠标单击操作            SendMessageCheckHandle, BM_CLICK, 0, 0            ''SendMessageCheckHandle, BM_SETCHECK, True, 0        End If    End Sub    End Class。
系统的定时关机TOKEN_PRIVILEGEStkp;HANDLEhToken;if!OpenProcessTokenGetCurrentProcess,TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken{MessageBox"OpenProcessTokenfailed!";}LookupPrivilegeValueNULL,SE_SHUTDOWN_NAME,&tkp.Privileges.Attributes=0;AdjustTokenPrivilegeshToken,FALSE,&tkp,0,PTOKEN_PRIVILEGESNULL,0;ifGetLastError!=ERROR_SUCCESS{MessageBox"AdjustTokenPrivilegesdisablefailed.";}ExitWindowsExEWX_SHUTDOWN,0;//开始关机程序只运行一个实例,并激活前一个实例具体实现:1、在程序初始化的时候InitInstance枚举所有的窗口,查找本程序的实例是否存在2、在主窗口初始化的时候在本窗口的属性列表中添加一个标记,以便程序查找.部分关键代码1、在App的InitInstance中枚举所有窗口,查找本程序实例HWNDoldHWnd=NULL;EnumWindowsEnumWndProc,LPARAM&oldHWnd;//枚举所有运行的窗口ifoldHWnd!=NULL{AfxMessageBox"本程序已经在运行了";::showWindowoldHWnd,SW_SHOWNORMAL;//激活找到的前一个程序::setForegroundWindowoldHWnd;//把它设为前景窗口returnfalse;//退出本次运行}2、添加EnumWndProc窗口过程函数://添加的标识只运行一次的属性名CStringg_szPropName="YourPropName";//自己定义一个属性名HANDLEg_hValue=HANDLE1;//自己定义一个属性值BOOLCALLBACKEnumWndProcHWNDhwnd,LPARAMlParam{HANDLEh=GetProphwnd,g_szPropName;ifh==g_hValue{*HWND*lParam=hwnd;returnfalse;}returntrue;}3、在主窗口的OnInitDialog中添加属性//设置窗口属性SetPropm_hWnd,g_szPropName,g_hValue。