我现在在做嵌入式的界面,由于系统没有CE界面,无法调用系统自带任务栏
现在需要做一个类似于任务栏的东西;
类似于任务栏,就是将当前窗口最小化后,
在条上显示一项,点击这项时窗口能够最大化;
和谷歌浏览器的最上面的一行的条条排列差不多
一位窗口可能很多,使用它切换方便!麻烦各位给些建议,该使用哪些控件能够画出类似与google浏览器那样的效果?我正在试tabcontrol
谢谢!
现在需要做一个类似于任务栏的东西;
类似于任务栏,就是将当前窗口最小化后,
在条上显示一项,点击这项时窗口能够最大化;
和谷歌浏览器的最上面的一行的条条排列差不多
一位窗口可能很多,使用它切换方便!麻烦各位给些建议,该使用哪些控件能够画出类似与google浏览器那样的效果?我正在试tabcontrol
谢谢!
可是button的数量需要动态的建立呀!因为不知道以后要有几个的,而且每次关闭都要整体操作一次什么控件比较合适,我是一刚毕业的菜鸟!
UINT uId = 500U;
CButton* lpButton = new CButton;
lpButton->Create(_T("App0"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, CRect(16, 16, 64, 54), this, uId++); CButton* lpButton2 = new CButton;
lpButton2->Create(_T("App1"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, CRect(64, 16, 112, 54), this, uId++);退出的时候记得delete就可以
int cy = GetSystemMetrics(SM_CYSCREEN) - 1;
hDlgTaskBar = CreateDialog(g_hInst, MAKEINTRESOURCE(IDD_TASKDLG), g_hMain, TASKProc);
MoveWindow(hDlgTaskBar, 0, cy-15, cx,15, TRUE);
ShowWindow(hDlgTaskBar, SW_SHOW); 就是处理函数不知道该怎么做才好BOOL CALLBACK TASKProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
int wmId, wmEvent;
PAINTSTRUCT ps;
HDC hdc; g_TaskBarDlg = hWnd; switch (message)
{
case WM_CREATE:
break; case WM_NOTIFY:
wmNotify = wParam;
switch (wmNotify)
{
case IDC_TaskTab:
{
NMHDR* pnmhdr = (NMHDR*)lParam;
switch (pnmhdr->code)
{
case NM_CLICK:
{
TCHAR szSel[MAX_PATH] = {0};
SendMessage(GetDlgItem(hWnd, IDC_TaskTab), LB_GETTEXT, iSel, (LPARAM)szSel);
HWND hSel = FindWindow(NULL, szSel); BOOL y = SetForegroundWindow(hSel);
ShowWindow(hSel, SW_SHOW); EndDialog(hWnd, TRUE);
}
break;
case NM_DBLCLK: break; case WM_INITDIALOG:
EnumWindows(EnumProcess ,NULL);
break;
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps); // TODO: Add any drawing code here... EndPaint(hWnd, &ps);
break;
} return 0;
}