云外归鸟工作室网站
标题:
[系统]Bitmap ProgressBar Tabstrip
[打印本页]
作者:
kjgmj
时间:
2010-10-23 22:32
标题:
[系统]Bitmap ProgressBar Tabstrip
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
结束 函数
欢迎光临 云外归鸟工作室网站 (http://www.ywgn.net/)
Powered by Discuz! X3