Ignore:
Timestamp:
Oct 2, 1999, 3:58:21 PM (26 years ago)
Author:
cbratschi
Message:

several fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/comctl32/header.c

    r1085 r1111  
    1 /* $Id: header.c,v 1.10 1999-09-28 16:36:04 cbratschi Exp $ */
     1/* $Id: header.c,v 1.11 1999-10-02 13:58:21 cbratschi Exp $ */
    22/*
    33 *  Header control
     
    1818 *
    1919 *  FIXME:
    20  *   - Replace DrawText32A by DrawTextEx32A(...|DT_ENDELLIPSIS) in
    21  *     HEADER_DrawItem.
    2220 *   - Little flaw when drawing a bitmap on the right side of the text.
    2321 *
    24  * Status: Development in progress
    25  * Version: Unknown
     22 * Status: Development in progress, a lot to do :)
     23 * Version: 5.00 (target)
    2624 */
    2725
     
    4038#define DIVIDER_WIDTH  10
    4139#define MIN_ITEMWIDTH  0
     40#define ITEM_FRAMESIZE 2
    4241
    4342#define HEADER_GetInfoPtr(hwnd) ((HEADER_INFO *)GetWindowLongA(hwnd,0))
     
    4544
    4645static INT
    47 HEADER_DrawItem (HWND hwnd, HDC hdc, INT iItem, BOOL bHotTrack)
     46HEADER_DrawItem (HWND hwnd, HDC hdc, INT iItem, BOOL bHotTrack,BOOL bEraseTextBkgnd)
    4847{
    4948    HEADER_INFO *infoPtr = HEADER_GetInfoPtr (hwnd);
     
    5352
    5453    r = phdi->rect;
    55     if (r.right - r.left == 0)
    56         return phdi->rect.right;
    57 
    58     if (GetWindowLongA (hwnd, GWL_STYLE) & HDS_BUTTONS) {
    59         if (phdi->bDown) {
     54    if (r.right - r.left == 0) return phdi->rect.right;
     55
     56    if (GetWindowLongA (hwnd, GWL_STYLE) & HDS_BUTTONS)
     57    {
     58        if (phdi->bDown)
     59        {
    6060            DrawEdge (hdc, &r, BDR_RAISEDOUTER,
    6161                        BF_RECT | BF_FLAT | BF_MIDDLE | BF_ADJUST);
     
    6666            DrawEdge (hdc, &r, EDGE_RAISED,
    6767                        BF_RECT | BF_SOFT | BF_MIDDLE | BF_ADJUST);
    68     }
    69     else
     68    } else
    7069        DrawEdge (hdc, &r, EDGE_ETCHED, BF_BOTTOM | BF_RIGHT | BF_ADJUST);
    7170
    72     if (phdi->fmt & HDF_OWNERDRAW) {
     71    if (phdi->fmt & HDF_OWNERDRAW)
     72    {
    7373        DRAWITEMSTRUCT dis;
    7474        dis.CtlType    = ODT_HEADER;
     
    8383        SendMessageA (GetParent (hwnd), WM_DRAWITEM,
    8484                        (WPARAM)dis.CtlID, (LPARAM)&dis);
    85     }
    86     else {
     85    } else
     86    {
    8787        UINT uTextJustify = DT_LEFT;
    8888
     
    9292            uTextJustify = DT_RIGHT;
    9393
    94         if ((phdi->fmt & HDF_BITMAP) && (phdi->hbm)) {
     94        if ((phdi->fmt & HDF_BITMAP) && (phdi->hbm))
     95        {
    9596            BITMAP bmp;
    9697            HDC    hdcBitmap;
     
    102103            rx = r.right - r.left;
    103104
    104             if (ry >= bmp.bmHeight) {
     105            if (ry >= bmp.bmHeight)
     106            {
    105107                cy = bmp.bmHeight;
    106108                yD = r.top + (ry - bmp.bmHeight) / 2;
    107109                yS = 0;
    108             }
    109             else {
     110            } else
     111            {
    110112                cy = ry;
    111113                yD = r.top;
     
    114116            }
    115117
    116             if (rx >= bmp.bmWidth + 6) {
     118            if (rx >= bmp.bmWidth + 6)
     119            {
    117120                cx = bmp.bmWidth;
    118             }
    119             else {
     121            } else
     122            {
    120123                cx = rx - 6;
    121124            }
     
    130133
    131134
    132         if ((phdi->fmt & HDF_BITMAP_ON_RIGHT) && (phdi->hbm)) {
     135        if ((phdi->fmt & HDF_BITMAP_ON_RIGHT) && (phdi->hbm))
     136        {
    133137            BITMAP bmp;
    134138            HDC    hdcBitmap;
     
    139143
    140144            textRect = r;
    141             DrawTextW (hdc, phdi->pszText, lstrlenW (phdi->pszText),
    142                   &textRect, DT_LEFT|DT_VCENTER|DT_SINGLELINE|DT_CALCRECT);
     145            if (bEraseTextBkgnd)
     146            {
     147              HBRUSH hbrBk = GetSysColorBrush(COLOR_3DFACE);
     148
     149              FillRect(hdc,&textRect,hbrBk);
     150            }
     151            DrawTextExW(hdc,phdi->pszText,lstrlenW(phdi->pszText),
     152                  &textRect,DT_LEFT|DT_VCENTER|DT_SINGLELINE|DT_CALCRECT|DT_END_ELLIPSIS,NULL);
    143153            tx = textRect.right - textRect.left;
    144154            ry = r.bottom - r.top;
    145155            rx = r.right - r.left;
    146156
    147             if (ry >= bmp.bmHeight) {
     157            if (ry >= bmp.bmHeight)
     158            {
    148159                cy = bmp.bmHeight;
    149160                yD = r.top + (ry - bmp.bmHeight) / 2;
    150161                yS = 0;
    151             }
    152             else {
     162            } else
     163            {
    153164                cy = ry;
    154165                yD = r.top;
     
    157168            }
    158169
    159             if (r.left + tx + bmp.bmWidth + 9 <= r.right) {
     170            if (r.left + tx + bmp.bmWidth + 9 <= r.right)
     171            {
    160172                cx = bmp.bmWidth;
    161173                xD = r.left + tx + 6;
    162             }
    163             else {
    164                 if (rx >= bmp.bmWidth + 6) {
     174            } else
     175            {
     176                if (rx >= bmp.bmWidth + 6)
     177                {
    165178                    cx = bmp.bmWidth;
    166179                    xD = r.right - bmp.bmWidth - 3;
    167180                    r.right = xD - 3;
    168                 }
    169                 else {
     181                } else
     182                {
    170183                    cx = rx - 3;
    171184                    xD = r.left;
     
    180193        }
    181194
    182         if (phdi->fmt & HDF_IMAGE) {
     195        if (phdi->fmt & HDF_IMAGE)
     196        {
    183197
    184198
     
    186200        }
    187201
    188         if ((phdi->fmt & HDF_STRING) && (phdi->pszText)) {
     202        if ((phdi->fmt & HDF_STRING) && (phdi->pszText))
     203        {
    189204            oldBkMode = SetBkMode(hdc, TRANSPARENT);
    190205            r.left += 3;
    191206            r.right -= 3;
    192207            SetTextColor (hdc, bHotTrack ? COLOR_HIGHLIGHT : COLOR_BTNTEXT);
    193             DrawTextW (hdc, phdi->pszText, lstrlenW (phdi->pszText),
    194                   &r, uTextJustify|DT_VCENTER|DT_SINGLELINE);
     208            if (bEraseTextBkgnd)
     209            {
     210              HBRUSH hbrBk = GetSysColorBrush(COLOR_3DFACE);
     211
     212              FillRect(hdc,&r,hbrBk);
     213            }
     214            DrawTextExW(hdc,phdi->pszText,lstrlenW (phdi->pszText),
     215                  &r,uTextJustify|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS,NULL);
    195216            if (oldBkMode != TRANSPARENT)
    196217                SetBkMode(hdc, oldBkMode);
     
    203224
    204225static void
    205 HEADER_Refresh (HWND hwnd, HDC hdc)
     226HEADER_Draw(HWND hwnd,HDC hdc)
    206227{
    207228    HEADER_INFO *infoPtr = HEADER_GetInfoPtr (hwnd);
     
    222243
    223244    x = rect.left;
    224     for (i = 0; i < infoPtr->uNumItem; i++) {
    225         x = HEADER_DrawItem (hwnd, hdc, i, FALSE);
    226     }
    227 
    228     if ((x <= rect.right) && (infoPtr->uNumItem > 0)) {
     245    for (i = 0; i < infoPtr->uNumItem; i++)
     246    {
     247      x = HEADER_DrawItem(hwnd,hdc,i,FALSE,FALSE);
     248      if (x > rect.right)
     249      {
     250        x = -1;
     251        break;
     252      }
     253    }
     254
     255    if (x != -1 && (x <= rect.right) && (infoPtr->uNumItem > 0))
     256    {
    229257        rect.left = x;
    230258        if (GetWindowLongA (hwnd, GWL_STYLE) & HDS_BUTTONS)
     
    246274    hFont = infoPtr->hFont ? infoPtr->hFont : GetStockObject (SYSTEM_FONT);
    247275    hOldFont = SelectObject (hdc, hFont);
    248     HEADER_DrawItem (hwnd, hdc, iItem, FALSE);
     276    HEADER_DrawItem(hwnd,hdc,iItem,FALSE,TRUE);
    249277    SelectObject (hdc, hOldFont);
    250278}
    251279
    252 
    253280static void
    254 HEADER_SetItemBounds (HWND hwnd)
    255 {
    256     HEADER_INFO *infoPtr = HEADER_GetInfoPtr (hwnd);
    257     HEADER_ITEM *phdi;
    258     RECT rect;
    259     int i, x;
    260 
    261     if (infoPtr->uNumItem == 0)
    262         return;
    263 
    264     GetClientRect (hwnd, &rect);
    265 
    266     x = rect.left;
    267     for (i = 0; i < infoPtr->uNumItem; i++) {
    268         phdi = &infoPtr->items[i];
    269         phdi->rect.top = rect.top;
    270         phdi->rect.bottom = rect.bottom;
    271         phdi->rect.left = x;
    272         phdi->rect.right = phdi->rect.left + phdi->cxy;
    273         x = phdi->rect.right;
    274     }
     281HEADER_Refresh(HWND hwnd)
     282{
     283  HDC hdc,hdcCompatible;
     284  HBITMAP bitmap,oldbmp;
     285  RECT rect;
     286
     287  GetClientRect(hwnd,&rect);
     288  hdc = GetDC(hwnd);
     289  hdcCompatible = CreateCompatibleDC(hdc);
     290  bitmap = CreateCompatibleBitmap(hdc,rect.right,rect.bottom);
     291  oldbmp = SelectObject(hdcCompatible,bitmap);
     292  HEADER_Draw(hwnd,hdcCompatible);
     293  BitBlt(hdc,0,0,rect.right,rect.bottom,hdcCompatible,0,0,SRCCOPY);
     294  SelectObject(hdcCompatible,oldbmp);
     295  DeleteObject(bitmap);
     296  DeleteDC(hdcCompatible);
     297  ReleaseDC(hwnd,hdc);
     298}
     299
     300static void
     301HEADER_SetItemBounds(HWND hwnd,INT start)
     302{
     303  HEADER_INFO *infoPtr = HEADER_GetInfoPtr (hwnd);
     304  HEADER_ITEM *phdi;
     305  RECT rect;
     306  int i, x;
     307
     308  if (infoPtr->uNumItem == 0) return;
     309
     310  GetClientRect(hwnd,&rect);
     311
     312  x = (start > 0) ? infoPtr->items[start-1].rect.right:rect.left;
     313  for (i = start;i < infoPtr->uNumItem;i++)
     314  {
     315    phdi = &infoPtr->items[i];
     316    phdi->rect.top = rect.top;
     317    phdi->rect.bottom = rect.bottom;
     318    phdi->rect.left = x;
     319    phdi->rect.right = phdi->rect.left + phdi->cxy;
     320    x = phdi->rect.right;
     321  }
    275322}
    276323
     
    496543}
    497544
     545static LRESULT
     546HEADER_ClearFilter(HWND hwnd,WPARAM wParam,LPARAM lParam)
     547{
     548  //CB:todo
     549
     550  return 0;
     551}
    498552
    499553static LRESULT
     
    514568//    TRACE(header, "[iItem=%d]\n", iItem);
    515569
    516     if ((iItem < 0) || (iItem >= (INT)infoPtr->uNumItem))
    517         return FALSE;
    518 
    519     if (infoPtr->uNumItem == 1) {
    520 //        TRACE(header, "Simple delete!\n");
    521         if (infoPtr->items[0].pszText)
    522             COMCTL32_Free (infoPtr->items[0].pszText);
    523         COMCTL32_Free (infoPtr->items);
    524         infoPtr->items = 0;
    525         infoPtr->uNumItem = 0;
    526     }
    527     else {
    528         HEADER_ITEM *oldItems = infoPtr->items;
     570    if ((iItem < 0) || (iItem >= (INT)infoPtr->uNumItem)) return FALSE;
     571
     572    if (infoPtr->uNumItem == 1)
     573    {
     574      //clear
     575      if (infoPtr->items[0].pszText) COMCTL32_Free(infoPtr->items[0].pszText);
     576      COMCTL32_Free (infoPtr->items);
     577      infoPtr->items = 0;
     578      infoPtr->uNumItem = 0;
     579
     580      InvalidateRect(hwnd,NULL,FALSE);
     581    } else
     582    {
     583      HEADER_ITEM *oldItems = infoPtr->items;
    529584//        TRACE(header, "Complex delete! [iItem=%d]\n", iItem);
    530585
    531         if (infoPtr->items[iItem].pszText)
    532             COMCTL32_Free (infoPtr->items[iItem].pszText);
    533 
    534         infoPtr->uNumItem--;
    535         infoPtr->items = COMCTL32_Alloc (sizeof (HEADER_ITEM) * infoPtr->uNumItem);
    536         /* pre delete copy */
    537         if (iItem > 0) {
    538             memcpy (&infoPtr->items[0], &oldItems[0],
    539                     iItem * sizeof(HEADER_ITEM));
    540         }
    541 
    542         /* post delete copy */
    543         if (iItem < infoPtr->uNumItem) {
    544             memcpy (&infoPtr->items[iItem], &oldItems[iItem+1],
    545                     (infoPtr->uNumItem - iItem) * sizeof(HEADER_ITEM));
    546         }
    547 
    548         COMCTL32_Free (oldItems);
    549     }
    550 
    551     HEADER_SetItemBounds (hwnd);
    552 
    553     hdc = GetDC (hwnd);
    554     HEADER_Refresh (hwnd, hdc);
    555     ReleaseDC (hwnd, hdc);
     586      if (infoPtr->items[iItem].pszText) COMCTL32_Free(infoPtr->items[iItem].pszText);
     587
     588      infoPtr->uNumItem--;
     589      infoPtr->items = COMCTL32_Alloc (sizeof (HEADER_ITEM) * infoPtr->uNumItem);
     590      /* pre delete copy */
     591      if (iItem > 0)
     592        memcpy (&infoPtr->items[0], &oldItems[0],iItem*sizeof(HEADER_ITEM));
     593
     594      /* post delete copy */
     595      if (iItem < infoPtr->uNumItem)
     596        memcpy (&infoPtr->items[iItem],&oldItems[iItem+1],(infoPtr->uNumItem-iItem)*sizeof(HEADER_ITEM));
     597
     598      COMCTL32_Free(oldItems);
     599
     600      if (iItem < infoPtr->uNumItem) HEADER_SetItemBounds(hwnd,iItem);
     601
     602      HEADER_Refresh(hwnd);
     603
     604    }
    556605
    557606    return TRUE;
     
    796845        lpItem->iOrder = phdi->iOrder;
    797846
    798     HEADER_SetItemBounds (hwnd);
    799 
    800     hdc = GetDC (hwnd);
    801     HEADER_Refresh (hwnd, hdc);
    802     ReleaseDC (hwnd, hdc);
     847    HEADER_SetItemBounds (hwnd,nItem);
     848
     849    HEADER_Refresh(hwnd);
    803850
    804851    return nItem;
     
    883930        lpItem->iOrder = phdi->iOrder;
    884931
    885     HEADER_SetItemBounds (hwnd);
    886 
    887     hdc = GetDC (hwnd);
    888     HEADER_Refresh (hwnd, hdc);
    889     ReleaseDC (hwnd, hdc);
     932    HEADER_SetItemBounds (hwnd,nItem);
     933
     934    HEADER_Refresh(hwnd);
    890935
    891936    return nItem;
     
    9971042    HEADER_SendHeaderNotify (hwnd, HDN_ITEMCHANGEDA, nItem);
    9981043
    999     HEADER_SetItemBounds (hwnd);
    1000     hdc = GetDC (hwnd);
    1001     HEADER_Refresh (hwnd, hdc);
    1002     ReleaseDC (hwnd, hdc);
     1044    HEADER_SetItemBounds (hwnd,0);
     1045    HEADER_Refresh(hwnd);
    10031046
    10041047    return TRUE;
     
    10621105    HEADER_SendHeaderNotify (hwnd, HDN_ITEMCHANGEDA, nItem);
    10631106
    1064     HEADER_SetItemBounds (hwnd);
    1065     hdc = GetDC (hwnd);
    1066     HEADER_Refresh (hwnd, hdc);
    1067     ReleaseDC (hwnd, hdc);
     1107    HEADER_SetItemBounds (hwnd,0);
     1108    HEADER_Refresh(hwnd);
    10681109
    10691110    return TRUE;
     
    10981139
    10991140    infoPtr->uNumItem = 0;
    1100     infoPtr->nHeight = 20;
    11011141    infoPtr->hFont = 0;
    11021142    infoPtr->items = 0;
     
    11461186}
    11471187
     1188static LRESULT
     1189HEADER_EraseBackground(HWND hwnd,WPARAM wParam,LPARAM lParam)
     1190{
     1191  return TRUE;
     1192}
     1193
     1194static LRESULT
     1195HEADER_GetDlgCode(HWND hwnd,WPARAM wParam,LPARAM lParam)
     1196{
     1197  return DLGC_WANTTAB | DLGC_WANTARROWS;
     1198}
    11481199
    11491200static LRESULT
     
    11901241    HEADER_InternalHitTest (hwnd, &pt, &flags, &nItem);
    11911242
    1192     if ((dwStyle & HDS_BUTTONS) && (flags == HHT_ONHEADER)) {
     1243    if ((dwStyle & HDS_BUTTONS) && (flags == HHT_ONHEADER))
     1244    {
    11931245        SetCapture (hwnd);
    11941246        infoPtr->bCaptured = TRUE;
     
    12051257//      TRACE (header, "Pressed item %d!\n", nItem);
    12061258    }
    1207     else if ((flags == HHT_ONDIVIDER) || (flags == HHT_ONDIVOPEN)) {
    1208         if (!(HEADER_SendHeaderNotify (hwnd, HDN_BEGINTRACKA, nItem))) {
     1259    else if ((flags == HHT_ONDIVIDER) || (flags == HHT_ONDIVOPEN))
     1260    {
     1261        if (!(HEADER_SendHeaderNotify (hwnd, HDN_BEGINTRACKA, nItem)))
     1262        {
    12091263            SetCapture (hwnd);
    12101264            infoPtr->bCaptured = TRUE;
     
    12141268            infoPtr->xTrackOffset = infoPtr->items[nItem].rect.right - pt.x;
    12151269
    1216             if (!(dwStyle & HDS_FULLDRAG)) {
     1270            if (!(dwStyle & HDS_FULLDRAG))
     1271            {
    12171272                infoPtr->xOldTrack = infoPtr->items[nItem].rect.right;
    12181273                hdc = GetDC (hwnd);
     
    12431298    HEADER_InternalHitTest (hwnd, &pt, &flags, &nItem);
    12441299
    1245     if (infoPtr->bPressed) {
    1246         if ((nItem == infoPtr->iMoveItem) && (flags == HHT_ONHEADER)) {
     1300    if (infoPtr->bPressed)
     1301    {
     1302        if ((nItem == infoPtr->iMoveItem) && (flags == HHT_ONHEADER))
     1303        {
    12471304            infoPtr->items[infoPtr->iMoveItem].bDown = FALSE;
    12481305            hdc = GetDC (hwnd);
     
    12551312        infoPtr->bPressed = FALSE;
    12561313    }
    1257     else if (infoPtr->bTracking) {
     1314    else if (infoPtr->bTracking)
     1315    {
    12581316//      TRACE (header, "End tracking item %d!\n", infoPtr->iMoveItem);
    12591317        infoPtr->bTracking = FALSE;
     
    12611319        HEADER_SendHeaderNotify (hwnd, HDN_ENDTRACKA, infoPtr->iMoveItem);
    12621320
    1263         if (!(dwStyle & HDS_FULLDRAG)) {
     1321        if (!(dwStyle & HDS_FULLDRAG))
     1322        {
    12641323            hdc = GetDC (hwnd);
    12651324            HEADER_DrawTrackLine (hwnd, hdc, infoPtr->xOldTrack);
     
    12701329            {
    12711330                nWidth = pt.x - infoPtr->items[infoPtr->iMoveItem].rect.left + infoPtr->xTrackOffset;
    1272                 if (nWidth < MIN_ITEMWIDTH)
    1273                     nWidth = MIN_ITEMWIDTH;
     1331                if (nWidth < MIN_ITEMWIDTH) nWidth = MIN_ITEMWIDTH;
    12741332
    12751333                if (infoPtr->nOldWidth != nWidth)
    12761334                {
    1277                   RECT rect;
    1278 
    12791335                  infoPtr->items[infoPtr->iMoveItem].cxy = nWidth;
    12801336                  HEADER_SendHeaderNotify (hwnd, HDN_ITEMCHANGEDA, infoPtr->iMoveItem);
    12811337
    1282                   GetClientRect(hwnd,&rect);
    1283                   rect.left = infoPtr->items[infoPtr->iMoveItem].rect.right-2;
    1284                   HEADER_SetItemBounds (hwnd);
    1285                   rect.left = MIN(infoPtr->items[infoPtr->iMoveItem].rect.right-2,rect.left);
    1286                   InvalidateRect(hwnd,&rect,FALSE);
     1338                  HEADER_SetItemBounds (hwnd,infoPtr->iMoveItem);
     1339
     1340                  HEADER_Refresh(hwnd);
    12871341                }
    12881342            }
     
    13241378        if (newItem != infoPtr->iHotItem)
    13251379        {
     1380          INT oldItem = infoPtr->iHotItem;
     1381
    13261382          infoPtr->iHotItem = newItem;
    13271383          hdc = GetDC (hwnd);
    1328           HEADER_Refresh (hwnd, hdc);
     1384          if (oldItem != -1) HEADER_DrawItem(hwnd,hdc,oldItem,FALSE,TRUE);
     1385          if (newItem != -1) HEADER_DrawItem(hwnd,hdc,newItem,TRUE,TRUE);
    13291386          ReleaseDC (hwnd, hdc);
    13301387        }
    13311388    }
    13321389
    1333     if (infoPtr->bCaptured) {
     1390    if (infoPtr->bCaptured)
     1391    {
    13341392        if (infoPtr->bPressed)
    13351393        {
     
    13621420                                             infoPtr->iMoveItem);
    13631421                }
    1364                 HEADER_SetItemBounds (hwnd);
    1365                 hdc = GetDC (hwnd);
    1366                 HEADER_Refresh (hwnd, hdc);
    1367                 ReleaseDC (hwnd, hdc);
     1422                HEADER_SetItemBounds (hwnd,infoPtr->iMoveItem);
     1423                HEADER_Refresh(hwnd);
    13681424            }
    13691425            else {
     
    13991455
    14001456    hdc = wParam==0 ? BeginPaint (hwnd, &ps) : (HDC)wParam;
    1401     HEADER_Refresh (hwnd, hdc);
     1457    HEADER_Draw (hwnd, hdc);
    14021458    if(!wParam)
    14031459        EndPaint (hwnd, &ps);
     1460
    14041461    return 0;
    14051462}
     
    14601517    if (lParam) {
    14611518        HEADER_ForceItemBounds (hwnd, infoPtr->nHeight);
    1462         hdc = GetDC (hwnd);
    1463         HEADER_Refresh (hwnd, hdc);
    1464         ReleaseDC (hwnd, hdc);
     1519        HEADER_Refresh(hwnd);
    14651520    }
    14661521
     
    14721527HEADER_WindowProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
    14731528{
    1474     switch (msg) {
     1529    switch (msg)
     1530    {
     1531//        case HDM_CLEARFILTER:  //CB:add const
     1532//            return HEADER_ClearFilter(hwnd,wParam,lParam);
     1533
    14751534        case HDM_CREATEDRAGIMAGE:
    14761535            return HEADER_CreateDragImage (hwnd, wParam);
     
    15251584            return HEADER_SetUnicodeFormat (hwnd, wParam);
    15261585
    1527 
    15281586        case WM_CREATE:
    15291587            return HEADER_Create (hwnd, wParam, lParam);
     
    15331591
    15341592        case WM_ERASEBKGND:
    1535             return 1;
     1593            return HEADER_EraseBackground(hwnd,wParam,lParam);
    15361594
    15371595        case WM_GETDLGCODE:
    1538             return DLGC_WANTTAB | DLGC_WANTARROWS;
     1596            return HEADER_GetDlgCode(hwnd,wParam,lParam);
    15391597
    15401598        case WM_GETFONT:
     
    15561614
    15571615        case WM_PAINT:
    1558             return HEADER_Paint (hwnd, wParam);
     1616            return HEADER_Paint(hwnd,wParam);
    15591617
    15601618        case WM_RBUTTONUP:
Note: See TracChangeset for help on using the changeset viewer.