Changeset 1584 for trunk/src


Ignore:
Timestamp:
Nov 3, 1999, 11:05:23 PM (26 years ago)
Author:
cbratschi
Message:

size grip tracking

Location:
trunk/src/comctl32
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/comctl32/resource.asm

    r1565 r1584  
    11;/* This file is generated with wrc version 1.0.14 (08-Aug-1999). Do not edit! */
    22;/* Source : rsrc.rc */
    3 ;/* Cmdline: wrc -s -I. -IH:\IBMCPP3\include -I..\..\include -I..\..\include\win -o resource.asm rsrc.rc */
    4 ;/* Date   : Tue Nov  2 22:28:26 1999 */
     3;/* Cmdline: wrc -s -I. -IE:\IBMCPP\include -I..\..\include -I..\..\include\win -o resource.asm rsrc.rc */
     4;/* Date   : Wed Nov  3 19:18:59 1999 */
    55
    66        .386p
     
    1212        public  _Resource_PEResTab
    1313        dd      0
    14         dd      0381f577ah
     14        dd      038207c93h
    1515        dd      0
    1616        dw      0, 4
     
    2525L2:
    2626        dd      0
    27         dd      0381f577ah
     27        dd      038207c93h
    2828        dd      0
    2929        dw      0, 6
     
    4242L4:
    4343        dd      0
    44         dd      0381f577ah
     44        dd      038207c93h
    4545        dd      0
    4646        dw      0, 1
     
    4949L5:
    5050        dd      0
    51         dd      0381f577ah
     51        dd      038207c93h
    5252        dd      0
    5353        dw      0, 3
     
    6060L16:
    6161        dd      0
    62         dd      0381f577ah
     62        dd      038207c93h
    6363        dd      0
    6464        dw      0, 1
     
    6767L2_120:
    6868        dd      0
    69         dd      0381f577ah
     69        dd      038207c93h
    7070        dd      0
    7171        dw      0, 1
     
    7474L2_121:
    7575        dd      0
    76         dd      0381f577ah
     76        dd      038207c93h
    7777        dd      0
    7878        dw      0, 1
     
    8181L2_124:
    8282        dd      0
    83         dd      0381f577ah
     83        dd      038207c93h
    8484        dd      0
    8585        dw      0, 1
     
    8888L2_125:
    8989        dd      0
    90         dd      0381f577ah
     90        dd      038207c93h
    9191        dd      0
    9292        dw      0, 1
     
    9595L2_130:
    9696        dd      0
    97         dd      0381f577ah
     97        dd      038207c93h
    9898        dd      0
    9999        dw      0, 1
     
    102102L2_131:
    103103        dd      0
    104         dd      0381f577ah
     104        dd      038207c93h
    105105        dd      0
    106106        dw      0, 1
     
    109109L4_300:
    110110        dd      0
    111         dd      0381f577ah
     111        dd      038207c93h
    112112        dd      0
    113113        dw      0, 1
     
    116116L5_200:
    117117        dd      0
    118         dd      0381f577ah
     118        dd      038207c93h
    119119        dd      0
    120120        dw      0, 1
     
    123123L5_1006:
    124124        dd      0
    125         dd      0381f577ah
     125        dd      038207c93h
    126126        dd      0
    127127        dw      0, 1
     
    130130L5_1020:
    131131        dd      0
    132         dd      0381f577ah
     132        dd      038207c93h
    133133        dd      0
    134134        dw      0, 1
     
    137137L16_1:
    138138        dd      0
    139         dd      0381f577ah
     139        dd      038207c93h
    140140        dd      0
    141141        dw      0, 1
  • trunk/src/comctl32/status.c

    r1431 r1584  
    1 /* $Id: status.c,v 1.12 1999-10-24 22:49:46 sandervl Exp $ */
     1/* $Id: status.c,v 1.13 1999-11-03 22:05:23 cbratschi Exp $ */
    22/*
    33 * Interface code to StatusWindow widget/control
     
    4646#define STATUSBAR_GetInfoPtr(hwnd) ((STATUSWINDOWINFO *)GetWindowLongA (hwnd, 0))
    4747
     48
     49static RECT STATUSBAR_GetSizeBox(HWND hwnd)
     50{
     51  RECT rect;
     52
     53  GetClientRect(hwnd,&rect);
     54  rect.left = rect.right-GetSystemMetrics(SM_CXVSCROLL);
     55  rect.top  = rect.bottom-GetSystemMetrics(SM_CYHSCROLL);
     56
     57  return rect;
     58}
    4859
    4960static void
     
    488499}
    489500
     501static LRESULT
     502STATUSBAR_WMLButtonDown(HWND hwnd,WPARAM wParam,LPARAM lParam)
     503{
     504  DWORD dwStyle = GetWindowLongA(hwnd,GWL_STYLE);
     505
     506  if (dwStyle & SBARS_SIZEGRIP && !(dwStyle & CCS_TOP))
     507  {
     508    RECT rect = STATUSBAR_GetSizeBox(hwnd);
     509    POINT point;
     510
     511    point.x = (SHORT)LOWORD(lParam);
     512    point.y = (SHORT)HIWORD(lParam);
     513    if (PtInRect(&rect,point)) TrackWin32Window(GetParent(hwnd),FALSE);
     514
     515    return 0;
     516  }
     517
     518  return DefWindowProcA(hwnd,WM_LBUTTONDOWN,wParam,lParam);
     519}
    490520
    491521static LRESULT
     
    840870    LPCREATESTRUCTA lpCreate = (LPCREATESTRUCTA)lParam;
    841871    NONCLIENTMETRICSA nclm;
    842     RECT        rect;
    843     int         width, len;
    844     HDC hdc;
     872    RECT        rect;
     873    int         width, len;
     874    HDC hdc;
    845875    STATUSWINDOWINFO *self;
    846876
     
    875905
    876906    if (IsWindowUnicode (hwnd)) {
    877         self->bUnicode = TRUE;
    878         if (lpCreate->lpszName &&
    879             (len = lstrlenW ((LPCWSTR)lpCreate->lpszName))) {
    880             self->parts[0].text = COMCTL32_Alloc ((len + 1)*sizeof(WCHAR));
    881             lstrcpyW (self->parts[0].text, (LPCWSTR)lpCreate->lpszName);
    882         }
     907        self->bUnicode = TRUE;
     908        if (lpCreate->lpszName &&
     909            (len = lstrlenW ((LPCWSTR)lpCreate->lpszName))) {
     910            self->parts[0].text = COMCTL32_Alloc ((len + 1)*sizeof(WCHAR));
     911            lstrcpyW (self->parts[0].text, (LPCWSTR)lpCreate->lpszName);
     912        }
    883913    }
    884914    else {
    885         if (lpCreate->lpszName &&
    886             (len = lstrlenA ((LPCSTR)lpCreate->lpszName))) {
    887             self->parts[0].text = COMCTL32_Alloc ((len + 1)*sizeof(WCHAR));
    888             lstrcpyAtoW (self->parts[0].text, (LPCSTR)lpCreate->lpszName);
    889         }
    890     }
    891 
    892     if ((hdc = GetDC (0))) {
    893         TEXTMETRICA tm;
    894         HFONT hOldFont;
    895 
    896         hOldFont = SelectObject (hdc,self->hDefaultFont);
    897         GetTextMetricsA(hdc, &tm);
    898         self->textHeight = tm.tmHeight;
    899         SelectObject (hdc, hOldFont);
    900         ReleaseDC(0, hdc);
     915        if (lpCreate->lpszName &&
     916            (len = lstrlenA ((LPCSTR)lpCreate->lpszName))) {
     917            self->parts[0].text = COMCTL32_Alloc ((len + 1)*sizeof(WCHAR));
     918            lstrcpyAtoW (self->parts[0].text, (char*)lpCreate->lpszName);
     919        }
     920    }
     921
     922    hdc = GetDC(0);
     923    if (hdc) {
     924        TEXTMETRICA tm;
     925        HFONT hOldFont;
     926
     927        hOldFont = SelectObject (hdc,self->hDefaultFont);
     928        GetTextMetricsA(hdc, &tm);
     929        self->textHeight = tm.tmHeight;
     930        SelectObject (hdc, hOldFont);
     931        ReleaseDC(0, hdc);
    901932    }
    902933
    903934    if (GetWindowLongA (hwnd, GWL_STYLE) & SBT_TOOLTIPS) {
    904         self->hwndToolTip =
    905             CreateWindowExA (0, TOOLTIPS_CLASSA, NULL, 0,
    906                                CW_USEDEFAULT, CW_USEDEFAULT,
    907                                CW_USEDEFAULT, CW_USEDEFAULT,
    908                              hwnd, 0,
    909                              GetWindowLongA (hwnd, GWL_HINSTANCE), NULL);
    910 
    911         if (self->hwndToolTip) {
    912             NMTOOLTIPSCREATED nmttc;
    913 
    914             nmttc.hdr.hwndFrom = hwnd;
    915             nmttc.hdr.idFrom = GetWindowLongA (hwnd, GWL_ID);
    916             nmttc.hdr.code = NM_TOOLTIPSCREATED;
    917             nmttc.hwndToolTips = self->hwndToolTip;
    918 
    919             SendMessageA (GetParent (hwnd), WM_NOTIFY,
    920                             (WPARAM)nmttc.hdr.idFrom, (LPARAM)&nmttc);
    921         }
     935        self->hwndToolTip =
     936            CreateWindowExA (0, TOOLTIPS_CLASSA, NULL, 0,
     937                               CW_USEDEFAULT, CW_USEDEFAULT,
     938                               CW_USEDEFAULT, CW_USEDEFAULT,
     939                             hwnd, 0,
     940                             GetWindowLongA (hwnd, GWL_HINSTANCE), NULL);
     941
     942        if (self->hwndToolTip) {
     943            NMTOOLTIPSCREATED nmttc;
     944
     945            nmttc.hdr.hwndFrom = hwnd;
     946            nmttc.hdr.idFrom = GetWindowLongA (hwnd, GWL_ID);
     947            nmttc.hdr.code = NM_TOOLTIPSCREATED;
     948            nmttc.hwndToolTips = self->hwndToolTip;
     949
     950            SendMessageA (GetParent (hwnd), WM_NOTIFY,
     951                            (WPARAM)nmttc.hdr.idFrom, (LPARAM)&nmttc);
     952        }
    922953    }
    923954
     
    926957    self->height = self->textHeight + 4 + VERT_BORDER;
    927958    MoveWindow (hwnd, lpCreate->x, lpCreate->y-1,
    928                   width, self->height, FALSE);
     959                  width, self->height, FALSE);
    929960    STATUSBAR_SetPartBounds (hwnd);
    930961
     
    9931024STATUSBAR_WMMouseMove (HWND hwnd, WPARAM wParam, LPARAM lParam)
    9941025{
    995     STATUSWINDOWINFO *infoPtr = STATUSBAR_GetInfoPtr (hwnd);
     1026    STATUSWINDOWINFO *infoPtr = STATUSBAR_GetInfoPtr(hwnd);
     1027    DWORD dwStyle = GetWindowLongA(hwnd,GWL_STYLE);
     1028
     1029    if (dwStyle & SBARS_SIZEGRIP)
     1030    {
     1031      RECT rect = STATUSBAR_GetSizeBox(hwnd);
     1032      POINT point;
     1033
     1034      point.x = (SHORT)LOWORD(lParam);
     1035      point.y = (SHORT)HIWORD(lParam);
     1036      if (PtInRect(&rect,point)) SetCursor(LoadCursorA(0,IDC_SIZENWSEA));
     1037    }
    9961038
    9971039    if (infoPtr->hwndToolTip)
     
    12421284            return STATUSBAR_SendNotify (hwnd, NM_DBLCLK);
    12431285
     1286        case WM_LBUTTONDOWN:
     1287            return STATUSBAR_WMLButtonDown(hwnd,wParam,lParam);
     1288
    12441289        case WM_LBUTTONUP:
    12451290            return STATUSBAR_SendNotify (hwnd, NM_CLICK);
Note: See TracChangeset for help on using the changeset viewer.