#include <windows.h>
#include <windowsx.h>
#include <CommCtrl.h>
#include <winioctl.h>
#include <tchar.h>
#include <stdio.h>
#include "resource.h"
//#include "ProcessDlg.h"
//#include "ServiceDlg.h"
//#include "global.h"
#pragma comment(lib,"comctl32")
#define Refresh(A) RedrawWindow((A),NULL,NULL,RDW_ERASE|RDW_INVALIDATE|RDW_ALLCHILDREN|RDW_UPDATENOW);
typedef int(WINAPI *DIALOGPROC)(HWND hDlg,UINT uMsg,WPARAM wParam,LPARAM lParam);
DIALOGPROC ProcessDialogProc,ServiceDialogProc;
DIALOGPROC DlgProc[]={ProcessDialogProc,ServiceDialogProc};
const C_PAGES=sizeof(DlgProc)/sizeof(DlgProc[0]);
HINSTANCE g_hInst;
TCHAR g_szClassName[] = TEXT("SysinfoClass");
HWND g_hwndTab;
HWND g_hListView[C_PAGES];
HWND g_hDlg[C_PAGES];
static int iCurrentPage=0; /* 当前页 */
//////////////////////////////////////////////////////////////////////////
void Cls_OnSize(HWND hwnd, UINT state, int cx, int cy)
{
RECT rc;
GetClientRect(g_hwndTab,&rc);
MoveWindow(g_hwndTab,0,0,cx,cy,FALSE);
for (int i=0;i<C_PAGES;i++)
{
MoveWindow(g_hDlg[i],12,38,cx-10,cy-2,FALSE);
}
Refresh(hwnd);
}
//////////////////////////////////////////////////////////////////////////
BOOL Cls_OnInitDialog(HWND hDlg, HWND hwndFocus, LPARAM lParam )
{
TCITEM tie;
TCHAR szTitle[30];
g_hwndTab=GetDlgItem(hDlg,IDC_TAB1);
tie.mask = TCIF_TEXT | TCIF_IMAGE;
tie.iImage = -1;
tie.pszText = szTitle;
_sntprintf(szTitle,29,TEXT("页面1"));
TabCtrl_InsertItem(g_hwndTab, 0, &tie);
_sntprintf(szTitle,29,TEXT("页面2"));
TabCtrl_InsertItem(g_hwndTab, 1, &tie);
RECT rc;
GetClientRect(g_hwndTab,&rc);
for (int i=0;i<C_PAGES;i++)
{
g_hDlg[i]=CreateDialog(g_hInst,MAKEINTRESOURCE(IDD_DIALOG1+i),g_hwndTab,DlgProc[i]);
MoveWindow(g_hDlg[i],2,29,rc.right - rc.left-30,rc.bottom - rc.top-35,FALSE);
}
ShowWindow(g_hDlg[0],SW_SHOW);
return TRUE;
}
//////////////////////////////////////////////////////////////////////////
void Cls_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
{
switch(id)
{
case IDCANCEL:
EndDialog(hwnd,0);
break;
case IDOK:
SendMessage(g_hDlg[iCurrentPage],IDOKM,0,0);
break;
}
}
//////////////////////////////////////////////////////////////////////////
int WINAPI MainWndProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
switch(uMsg)
{
HANDLE_MSG(hwnd,WM_INITDIALOG,Cls_OnInitDialog);
HANDLE_MSG(hwnd,WM_COMMAND,Cls_OnCommand);
HANDLE_MSG(hwnd,WM_SIZE,Cls_OnSize);
case WM_CLOSE:
EndDialog(hwnd,0);
break;
case WM_NOTIFY:
if ((int)wParam==IDC_TAB1)
{
if (((LPNMHDR)lParam)->code==TCN_SELCHANGE)
{
ShowWindow(g_hDlg[iCurrentPage],SW_HIDE);
iCurrentPage= TabCtrl_GetCurSel(g_hwndTab);
ShowWindow(g_hDlg[iCurrentPage],SW_SHOW);
}
}
break;
}
return FALSE;
}
//////////////////////////////////////////////////////////////////////////
int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
InitCommonControls();
g_hInst=hInstance;
DialogBox( hInstance,MAKEINTRESOURCE(IDD_DLG_MAIN), NULL, MainWndProc );
return 0;
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
tab控件的sdk应用.rar (6个子文件)
tab
resource.h 778B
mian.cpp 4KB
Debug
tab.exe 156KB
tab.dsw 529B
tab.dsp 4KB
TABDiadlg.rc 3KB
共 6 条
- 1
gmajvfhp
- 粉丝: 0
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页