登录 注册 找回密码 开启辅助访问 商业用户中心 购物车有0件商品 切换到宽版
搜索
查看: 2174|回复: 0
打印 上一主题 下一主题

[源码] [系统]打开文件对话框NB

[复制链接]
跳转到指定楼层
楼主
发表于 2010-10-24 10:05:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
OpenFile.Bi

#定义 IDD_DLG1 1000
#定义 IDC_BTN1 1001
#定义 IDC_EDT1 1002
常量 szNULL = !"\0"
常量 szFilter = "FontFiles(*.ttf,*.fon)" &szNULL &"*.ttf;*.fon" &szNULL
变量 共享 hInstance 为 HINSTANCE

OpenFile.Bas


#引用 仅一次 "windows.bi"
#引用 仅一次 "win/commdlg.bi"
#引用 "OpenFile.bi"
声明 函数 DlgProc (传值 hWnd 为 HWND , 传值 uMsg 为 UINT , 传值 wParam 为 WPARAM , 传值 lParam 为 LPARAM)为 整数型
  hInstance = GetModuleHandle (NULL)
  DialogBoxParam (hInstance , 转换类型 (字符型 指针 , IDD_DLG1), NULL , @DlgProc , NULL)
  ExitProcess (0)
  结束
函数 OpenFontFile (传值 hWin 为 HWND)为 文本
  变量 ofn 为 OPENFILENAME
  变量 buff 为 字符型 * 260
  ofn.lStructSize = 取尺寸 (OPENFILENAME)
  ofn.hwndOwner = hWin
  ofn.hInstance = hInstance
  ofn.lpstrInitialDir = 取文本指针 ("C:\")
  buff = 文本 (260 , 0)
  ofn.lpstrFile = @buff
  ofn.nMaxFile = 260
  ofn.lpstrFilter = 取文本指针 (szFilter)
  ofn.lpstrTitle = 取文本指针 ("新建字体")
  ofn.Flags = OFN_PATHMUSTEXIST 或 OFN_HIDEREADONLY 或 OFN_EXPLORER
  如果 GetOpenFileName (@ofn)则
    返回 buff
  结束 如果
结束 函数
函数 DlgProc (传值 hWin 为 HWND , 传值 uMsg 为 UINT , 传值 wParam 为 WPARAM , 传值 lParam 为 LPARAM)为 整数型
  变量 为 long id , 事件 , x , y
  变量 hBtn 为 HWND
  变量 rect 为 RECT
  变量 buff 为 字符型 * 260
  判断 分支 uMsg
    分支 WM_INITDIALOG
      '
    分支 WM_CLOSE
      EndDialog (hWin , 0)
      '
    分支 WM_COMMAND
      id = 取低十六位 (wParam)
      事件 = 取高十六位 (wParam)
      判断 分支 id
        分支 IDC_BTN1
          buff = OpenFontFile (hWin)
          SetDlgItemText (hWin , IDC_EDT1 , @buff)
          '
      结束 判断
    分支 WM_SIZE
      GetClientRect (hWin , @rect)
      hBtn = GetDlgItem (hWin , IDC_BTN1)
      x = rect.right-100
      y = rect.bottom-35
      MoveWindow (hBtn , x , y , 97 , 31 , TRUE)
      '
    分支 否则
      返回 FALSE
      '
  结束 判断
  返回 TRUE
结束 函数

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表