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

[源码] [系统]Bitmap ProgressBar Tabstrip

[复制链接]
跳转到指定楼层
楼主
发表于 2010-10-23 22:32:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Bitmap.Bas:

#引用 仅一次 "windows.bi"
#引用 "Bitmap.bi"
声明 函数 DlgProc ( 传值 hWnd 为 HWND , 传值 uMsg 为 UINT , 传值 wParam 为 WPARAM , 传值 lParam 为 LPARAM ) 为 整数型
  DialogBoxParam ( GetModuleHandle ( NULL ) , 转换类型 ( 字符型 指针 , IDD_DLG1 ) , NULL , @ DlgProc , NULL )
  ExitProcess ( 0 )
  结束
函数 DlgProc ( 传值 hWin 为 HWND , 传值 uMsg 为 UINT , 传值 wParam 为 WPARAM , 传值 lParam 为 LPARAM ) 为 整数型
  变量 为 long id , 事件 , x , y
  变量 hBtn 为 HWND
  变量 rect 为 RECT
  判断 分支 uMsg
    分支 WM_INITDIALOG
      '
    分支 WM_CLOSE
      EndDialog ( hWin , 0 )
      '
    分支 WM_COMMAND
      id = 取低十六位 ( wParam )
      事件 = 取高十六位 ( wParam )
      判断 分支 id
        分支 IDC_BTN1
          EndDialog ( hWin , 0 )
          '
      结束 判断
    分支 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
结束 函数
===========================================
ProgressBar.Bas:

#引用 仅一次 "windows.bi"
#引用 "win/commctrl.bi"
#引用 "ProgressBar.bi"
声明 函数 DlgProc ( 传值 hWnd 为 HWND , 传值 uMsg 为 UINT , 传值 wParam 为 WPARAM , 传值 lParam 为 LPARAM ) 为 整数型
  InitCommonControls
  DialogBoxParam ( GetModuleHandle ( NULL ) , 转换类型 ( 字符型 指针 , IDD_DLG1 ) , NULL , @ DlgProc , NULL )
  ExitProcess ( 0 )
  结束
函数 DlgProc ( 传值 hWin 为 HWND , 传值 uMsg 为 UINT , 传值 wParam 为 WPARAM , 传值 lParam 为 LPARAM ) 为 整数型
  变量 为 Long id , 事件 , x , y , nPos
  变量 hBtn 为 HWND
  变量 rect 为 RECT
  判断 分支 uMsg
    分支 WM_INITDIALOG  
    分支 WM_CLOSE
      EndDialog ( hWin , 0 )
    分支 WM_COMMAND
      id = 取低十六位 ( wParam )
      事件 = 取高十六位 ( wParam )
      判断 分支 id
        分支 IDC_BTN1
          EndDialog ( hWin , 0 )
      结束 判断
    分支 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 )
      '
    分支 WM_HSCROLL
      nPos = SendDlgItemMessage ( hWin , IDC_TRB1 , TBM_GETPOS , 0 , 0 )
      SendDlgItemMessage ( hWin , IDC_PGB1 , PBM_SETPOS , nPos , 0 )
      SetDlgItemInt ( hWin , IDC_EDT1 , nPos , FALSE )
    分支 否则
      返回 FALSE
  结束 判断
  返回 TRUE
结束 函数
===========================================
Tabstrip.bas:

#引用 仅一次 "windows.bi"
#引用 仅一次 "win/commctrl.bi"
#定义 IDD_DLG0 1000
#定义 IDC_TAB1 1001
#定义 IDC_BTN1 1002
#定义 IDD_TAB1 1100
#定义 IDD_TAB2 1200
声明 函数 DlgProc ( 传值 hWnd 为 HWND , 传值 uMsg 为 UINT , 传值 wParam 为 WPARAM , 传值 lParam 为 LPARAM ) 为 整数型
变量 共享 hInstance 为 HINSTANCE
  hInstance = GetModuleHandle ( NULL )
  InitCommonControls
  DialogBoxParam ( hInstance , 转换类型 (字符型 指针,IDD_DLG0) , NULL , @DlgProc , NULL )  
  ExitProcess ( 0 )
  结束
函数 Tab1Proc ( 传值 hDlg 为 HWND , 传值 uMsg 为 UINT , 传值 wParam 为 WPARAM , 传值 lParam 为 LPARAM ) 为 bool
  返回 FALSE
结束 函数
函数 Tab2Proc ( 传值 hDlg 为 HWND , 传值 uMsg 为 UINT , 传值 wParam 为 WPARAM , 传值 lParam 为 LPARAM ) 为 bool
  返回 FALSE
结束 函数

函数 DlgProc ( 传值 hDlg 为 HWND , 传值 uMsg 为 UINT , 传值 wParam 为 WPARAM , 传值 lParam 为 LPARAM ) 为 bool
  变量 为 long id , 事件
  变量 ts 为 TCITEM
  变量 lpNMHDR 为 NMHDR 指针
  变量 hTab 为 HWND
  判断 分支 uMsg
    分支 WM_INITDIALOG
      hTab = GetDlgItem ( hDlg , IDC_TAB1 )
      ts.mask = TCIF_TEXT 或 TCIF_PARAM
      ts.pszText = 取文本指针 ("Tab1")
      ts.lParam = CreateDialogParam(hInstance , 转换类型 ( 字符型 指针,IDD_TAB1) , hTab , @Tab1Proc , 0 )
      SendMessage ( hTab , TCM_INSERTITEM , 0 , 转换类型 ( LPARAM , @ts ) )
      ts.pszText = 取文本指针 ("Tab2")
      ts.lParam = CreateDialogParam(hInstance , 转换类型 ( 字符型 指针 ,IDD_TAB2) , hTab , @Tab2Proc , 0 )
      SendMessage ( hTab , TCM_INSERTITEM , 1 , 转换类型 ( LPARAM , @ts ) )
  
    分支 WM_NOTIFY
      lpNMHDR = 转换类型 ( NMHDR 指针 , lParam )
      如果 lpNMHDR->code = TCN_SELCHANGING 则
      
        id = SendMessage ( lpNMHDR->hwndFrom , TCM_GETCURSEL , 0 , 0 )
        ts.mask = TCIF_PARAM
        SendMessage ( lpNMHDR->hwndFrom , TCM_GETITEM , id , 转换类型 ( LPARAM , @ts ) )
        ShowWindow ( 转换类型 ( HWND , ts.lParam ) , SW_HIDE )
      否则如果 lpNMHDR->code = TCN_SELCHANGE 则
      
        id = SendMessage ( lpNMHDR->hwndFrom , TCM_GETCURSEL , 0 , 0 )
        ts.mask = TCIF_PARAM
        SendMessage ( lpNMHDR->hwndFrom , TCM_GETITEM , id , 转换类型 ( LPARAM , @ts ) )
        ShowWindow ( 转换类型 ( HWND , ts.lParam ) , SW_SHOW )
      结束 如果
  
    分支 WM_CLOSE
      EndDialog ( hDlg , 0 )
   
    分支 WM_COMMAND
      id = 取低十六位 ( wParam )
      事件 = 取高十六位 ( wParam )
      判断 分支 id
        分支 IDC_BTN1
          EndDialog ( hDlg , 0 )
        
      结束 判断
     
    分支 否则
      返回 FALSE
      '
  结束 判断
  返回 TRUE
结束 函数

回复

使用道具 举报

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

本版积分规则

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