我现在在做嵌入式的界面,由于系统没有CE界面,无法调用系统自带任务栏
现在需要做一个类似于任务栏的东西;
类似于任务栏,就是将当前窗口最小化后,
在条上显示一项,点击这项时窗口能够最大化;
和谷歌浏览器的最上面的一行的条条排列差不多
一位窗口可能很多,使用它切换方便!麻烦各位给些建议,该使用哪些控件能够画出类似与google浏览器那样的效果?我正在试tabcontrol
谢谢!

解决方案 »

  1.   

    很早以前用过google浏览器 用户体验太差就没用了我认为只需要在对话框上建一些button
      

  2.   


    可是button的数量需要动态的建立呀!因为不知道以后要有几个的,而且每次关闭都要整体操作一次什么控件比较合适,我是一刚毕业的菜鸟!
      

  3.   

    比如你可以在OnInitDialog
    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就可以
      

  4.   

    有没有WINCE程序的设计方法!
      

  5.   

    再顶自己一下!现在已经画好位置也定好了int cx = GetSystemMetrics(SM_CXSCREEN) - 1;  
    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;
    }