Ignore:
Timestamp:
Aug 29, 2009, 7:55:19 AM (15 years ago)
Author:
イグトランス (egtra)
Message:

Windows 7タスクバーへの対応を実装。
(#245)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/abdev/RadProc.cpp

    r629 r772  
    4747    mdic.lParam=0;
    4848    mdic.style |= WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_SYSMENU | WS_CAPTION | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX;
    49     hChild=(HWND)SendMessage(hClient,WM_MDICREATE,0,(long)&mdic);   //ウィンドウ作成
     49    hChild=(HWND)SendMessage(hClient,WM_MDICREATE,0,(LPARAM)&mdic); //ウィンドウ作成
    5050
    5151
     
    140140
    141141    //タブに追加
    142     pobj_MainTab->InsertItem( windowInfo.GetName().c_str(), true );
     142    pobj_MainTab->InsertItem( hChild, windowInfo.GetName().c_str(), true );
    143143
    144144    //メニュー状態を設定
     
    784784    SIZE size;
    785785    SCROLLINFO ScrollInfo,si2;
    786     PAINTSTRUCT ps;
    787786    POINTANDSIZE PointAndSize;
    788787
     
    793792
    794793                SetFocus(hwnd);
    795                 mouse.x=LOWORD(lParam);
    796                 mouse.y=HIWORD(lParam);
     794                mouse.x=GET_X_LPARAM(lParam);
     795                mouse.y=GET_Y_LPARAM(lParam);
    797796                CursorPos_LocalToGlobal(hwnd,&mouse.x,&mouse.y);
    798797
     
    872871
    873872                SetFocus(hwnd);
    874                 mouse.x=(int)(short)LOWORD(lParam);
    875                 mouse.y=(int)(short)HIWORD(lParam);
     873                mouse.x=GET_X_LPARAM(lParam);
     874                mouse.y=GET_Y_LPARAM(lParam);
    876875                CursorPos_LocalToGlobal(hwnd,&mouse.x,&mouse.y);
    877876
     
    14661465        case WM_MOUSEMOVE:
    14671466            {
    1468                 mouse.x=(int)(short)LOWORD(lParam);
    1469                 mouse.y=(int)(short)HIWORD(lParam);
     1467                mouse.x=GET_X_LPARAM(lParam);
     1468                mouse.y=GET_Y_LPARAM(lParam);
    14701469                CursorPos_LocalToGlobal(hwnd,&mouse.x,&mouse.y);
    14711470
     
    16311630        case WM_LBUTTONDBLCLK:
    16321631            {
    1633                 mouse.x=LOWORD(lParam);
    1634                 mouse.y=HIWORD(lParam);
     1632                mouse.x=GET_X_LPARAM(lParam);
     1633                mouse.y=GET_Y_LPARAM(lParam);
    16351634                CursorPos_LocalToGlobal(hwnd,&mouse.x,&mouse.y);
    16361635
     
    18161815            return 0;
    18171816        case WM_PAINT:
     1817            {
     1818                WTL::CPaintDC dc(hwnd);
     1819                SendMessage(hwnd, WM_PRINTCLIENT, reinterpret_cast<WPARAM>(dc.m_hDC), 0);
     1820                return 0;
     1821            }
     1822        case WM_PRINTCLIENT:
    18181823            i=GetWndNum(GetParent(hwnd));
    1819             if(i==-1) return 0; //ウィンドウが初期状態の場合
     1824            if(i==-1) break;    //ウィンドウが初期状態の場合
    18201825            i2=GetWndInfoNum(MdiInfo[i]->path);
    18211826
     
    18271832            GetScrollInfo(hwnd,SB_HORZ,&si2);
    18281833
    1829             hdc=BeginPaint(hwnd,&ps);
     1834            hdc=reinterpret_cast<HDC>(wParam);
    18301835            BitBlt(hdc,0,0,ScreenX*2,ScreenY*2,
    18311836                MdiInfo[i]->MdiRadInfo->hMemDC,si2.nPos,ScrollInfo.nPos,SRCCOPY);
    1832             EndPaint(hwnd,&ps);
    18331837
    18341838            if(MdiInfo[i]->MdiRadInfo->ButtonSelect==IDC_TOOL_MOUSE||MdiInfo[i]->MdiRadInfo->ButtonSelect==NON_TOOL)
     
    18451849
    18461850            if(MdiInfo[i]->MdiRadInfo->ButtonSelect==IDC_TOOL_MOUSE){
    1847                 mouse.x=LOWORD(lParam);
    1848                 mouse.y=HIWORD(lParam);
     1851                mouse.x=GET_X_LPARAM(lParam);
     1852                mouse.y=GET_Y_LPARAM(lParam);
    18491853                ScreenToClient(hwnd,&mouse);
    18501854                CursorPos_LocalToGlobal(hwnd,&mouse.x,&mouse.y);
     
    18531857                extern HMENU hRadMenuBase;
    18541858                if(MdiInfo[i]->MdiRadInfo->SelectingItem[0]==SELECT_WINDOW)
    1855                     TrackPopupMenu(GetSubMenu(hRadMenuBase,0),TPM_LEFTALIGN,LOWORD(lParam),HIWORD(lParam),0,hwnd,0);
    1856                 else TrackPopupMenu(GetSubMenu(hRadMenuBase,1),TPM_LEFTALIGN,LOWORD(lParam),HIWORD(lParam),0,hwnd,0);
     1859                    TrackPopupMenu(GetSubMenu(hRadMenuBase,0),TPM_LEFTALIGN,GET_X_LPARAM(lParam),GET_Y_LPARAM(lParam),0,hwnd,0);
     1860                else TrackPopupMenu(GetSubMenu(hRadMenuBase,1),TPM_LEFTALIGN,GET_X_LPARAM(lParam),GET_Y_LPARAM(lParam),0,hwnd,0);
    18571861            }
    18581862            return 0;
     
    19891993        case WM_CREATE:
    19901994            extern HICON hWindowDocumentIcon;
    1991             SendMessage(hwnd,WM_SETICON,ICON_SMALL,(long)hWindowDocumentIcon);
     1995            SendMessage(hwnd,WM_SETICON,ICON_SMALL,(LPARAM)hWindowDocumentIcon);
    19921996            break;
    19931997        case WM_MDIACTIVATE:
     
    19962000            if(i==-1) return 0; //ウィンドウが初期状態の場合
    19972001
    1998             i=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(long)MdiInfo[i]->title.c_str());
     2002            i=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(LPARAM)MdiInfo[i]->title.c_str());
    19992003            SendMessage(hDocCombo,CB_SETCURSEL,i,0);
    20002004            SetStatusText(NULL);
Note: See TracChangeset for help on using the changeset viewer.