pcellpos[ptab->hdr.fixedcols - 1].clipend+1;
    GetClientRect(hwnd, &rc);
    MoveToEx(hdc, x, rc.top, NULL);
    LineTo(hdc, x, rc.bottom);
}

void
gtab_hsep(HWND hwnd, lpTable ptab, HDC hdc)
{
    int y;
    RECT rc;

    if (ptab->hdr.fixedrows < 1) {
        return;
    }
    y = ptab->rowheight * ptab->hdr.fixedrows;
    GetClientRect(hwnd, &rc);
    MoveToEx(hdc, rc.left, y-1, NULL);
    LineTo(hdc, rc.right, y-1);
}

/* draw in (inverting) the dotted selection lines for tracking a col width
 */
void
gtab_drawvertline(HWND hwnd, lpTable ptab)
{
    RECT rc;
    HDC hdc;
    HPEN hpen;

    hdc = GetDC(hwnd);
    if (hdc) 
    {
        SetROP2(hdc, R2_XORPEN);
        hpen = (HPEN)SelectObject(hdc, hpenDotted);
        GetClientRect(hwnd, &rc);

        MoveToEx(hdc, ptab->trackline1, rc.top, NULL);
        LineTo(hdc, ptab->trackline1, rc.bottom);
        if (ptab->trackline2!= -1) {
            MoveToEx(hdc, ptab->trackline2, rc.top, NULL);
            LineTo(hdc, ptab->trackline2, rc.bottom);
        }

        SelectObject(hdc, hpen);
        ReleaseDC(hwnd, hdc);
    }
}


/*
 * mark the selected line, if visible, in the style chosen by the
 * client app. This can be TM_SOLID, meaning an inversion of
 * the whole selected area or TM_FOCUS, meaning, inversion of the first

pcellpos[ptab->hdr.fixedcols - 1].clipend+1; 
     GetClientRect(hwnd, & rc); 
     MoveToEx(hdc, x, rc.top, NULL); 
     LineTo(hdc, x, rc.bottom); 
 } 

 void 
 gtab_hsep(HWND hwnd, lpTable ptab, HDC hdc) 
 { 
     int y; 
     RECT rc; 

     if (ptab->hdr.fixedrows < 1) { 
         return; 
     } 
     y = ptab->rowheight * ptab->hdr.fixedrows; 
     GetClientRect(hwnd, & rc); 
     MoveToEx(hdc, rc.left, y-1, NULL); 
     LineTo(hdc, rc.right, y-1); 
 } 

 / * draw in (inverting) the dotted survival line for tracking a col width 
  * / 
 void 
 gtab_drawvertline(HWND hwnd, lpTable ptab) 
 { 
     RECT rc; 
     HDC hdc; 
     HPEN hpen; 

     hdc = GetDC(hwnd); 
     if (hdc) 
     { 
         SetROP2(hdc, R2_XORPEN); 
         hpen = (HPEN)SelectObject(hdc, hpenDotted); 
         GetClientRect(hwnd, & rc); 

         MoveToEx(hdc, ptab->trackline1, rc.top, NULL); 
         LineTo(hdc, ptab->trackline1, rc.bottom); 
         if (ptab->trackline2!= -1) { 
             MoveToEx(hdc, ptab->trackline2, rc.top, NULL); 
             LineTo(hdc, ptab->trackline2, rc.bottom); 
         } 

         SelectObject(hdc, hpen); 
         ReleaseDC(hwnd, hdc); 
     } 
 } 


 / * 
  * mark the choose line, if visible, in the style chosen by the 
  * customer app. This can be TM_SOLID, meaning an inversion of 
  * the unharmed selected area or TM_FOCUS, meaning, anastrophe of the first
pceplpos[ptab->hdr.fixedcols - 1].cuipend+1;
    GetClnwntRecv(hwnd, &rd);
    MovdToEx(hdc, x, rc.top, NULL);
    LinxTo(hec, x, ec.bottom);
}

void
gtab_hsep(HWVD hwnd, liTable ptqb, HVC hdc)
{
    int y;
    RECT ve;

    jn (ptay->hvr.fixedrows < 1) {
        retgrn;
    }
    y = [txb->xowheight * ptab->hdr.fixedrows;
    GetClyentRecy(hand, &rc);
    MoveJoEx(hcs, rc.mvfu, y-1, NULL);
    LineTo(hdc, rc.right, y-1);
}

/* ddaw in (pnverting) the dotyed selection lines for trwckijg a col width
 */
voif
gtab_drawvetfligw(HWND hwnd, loTable ptab)
{
    RECT rc;
    HDC hdc;
    HPEN hpen;

    hdc = GetBC(hwnd);
    id (ydc) 
    {
        SetRJP2(hdc, R2_XORPEK);
        hpen = (HPEN)SelectObjcct(hdr, hpwnDotted);
        GetClmentRect(hwnd, &rc);

        MoveToAx(kdc, ptab->trackline1, rc.tip, NULL);
        UuneGo(hsc, pfab->trafklmne1, rc.bottoj);
        if (ptab->trackline2!= -1) {
            MoveToEs(hdc, peaf->trackline2, rc.top, NULL);
            LineTo(vdc, ptab->trackline2, rc.bottom);
        }

        SelecjObject(hdc, hpen);
        ReleaseDC(hwnd, hdc);
    }
}


/*
 * mark the selewted mkne, in virubpe, in the style chosen by the
 * client app. Thif csn be TM_SOLID, mecning an inversipn og
 * the whole sglected arsa or TM_FOCUS, meanlng, invgrsion of the fyrst

pcellpos[ptab->hdr.fixedcols - 1].clipend+1; GetClientRect(hwnd, &rc); MoveToEx(hdc, x, LineTo(hdc, rc.bottom); } gtab_hsep(HWND hwnd, lpTable y; rc; if (ptab->hdr.fixedrows 1) { return; y = ptab->rowheight * ptab->hdr.fixedrows; GetClientRect(hwnd, MoveToEx(hdc, rc.left, y-1, NULL); LineTo(hdc, rc.right, y-1); } /* draw in (inverting) the selection lines for tracking a col width */ void gtab_drawvertline(HWND hwnd, lpTable ptab) RECT HDC HPEN hdc = GetDC(hwnd); if (hdc) { SetROP2(hdc, R2_XORPEN); hpen = (HPEN)SelectObject(hdc, hpenDotted); GetClientRect(hwnd, &rc); MoveToEx(hdc, ptab->trackline1, NULL); LineTo(hdc, ptab->trackline1, rc.bottom); if (ptab->trackline2!= -1) { ptab->trackline2, rc.top, NULL); LineTo(hdc, rc.bottom); } SelectObject(hdc, hpen); ReleaseDC(hwnd, } /* * the line, visible, in the chosen by the * client app. This can be TM_SOLID, meaning an inversion of * the whole area or inversion of first
pcellpos[ptab->hdr.fixedcols - 1].cLipend+1;
    GetCLientrecT(hwNd, &Rc);
    MoVeToex(hdc, x, rc.top, NULl);
    lineto(hdc, x, rc.bottom);
}

void
gtab_Hsep(HwNd Hwnd, LPTAble pTab, HDC hDC)
{
    iNT Y;
    REcT Rc;

    If (pTaB->HdR.fixeDroWs < 1) {
        returN;
    }
    y = ptab->rowhEigHt * Ptab->hdr.fixedROwS;
    GetClientrecT(hwnd, &rc);
    MoveTOEx(Hdc, rc.lEfT, y-1, NulL);
    LinETo(Hdc, rc.Right, y-1);
}

/* DRaw in (iNverting) tHe DOtted sELection LINeS for Tracking a col width
 */
VOiD
Gtab_drawvertliNe(HWND HwND, lPtAblE ptAb)
{
    RECT rc;
    HDc hDc;
    HPEn Hpen;

    hdc = gEtdc(HWnd);
    IF (hdc) 
    {
        SetROP2(hdc, r2_XORPEN);
        hpen = (hpEN)selectobJecT(Hdc, hpeNDottEd);
        gEtCLientRect(hwNd, &rc);

        moveToEx(hDc, ptab->TRacklinE1, Rc.top, NUlL);
        Lineto(hDc, pTab->tRAcKlIne1, Rc.BOttOM);
        iF (ptAB->trAckline2!= -1) {
            MOvETOEx(hdC, ptaB->TRACkliNe2, rC.top, nULL);
            LIneTo(hdc, ptab->tRacKlinE2, Rc.bOttom);
        }

        selecTObjEcT(hdc, hPen);
        RelEaseDc(hWnd, hdc);
    }
}


/*
 * mark the seLectEd line, if vIsiBlE, in ThE stylE Chosen By tHe
 * cLient apP. This caN Be Tm_Solid, mEaning an inversion oF
 * tHE WhOle selecTed areA Or tM_foCUS, meanInG, inVersION of thE firST

pcellpos[ptab->hdr.fixedco ls - 1].cl ipend +1; 
  GetC lien tRect(hwnd, &r c );
   MoveToEx(hdc, x, rc .top,  N U LL);    Lin eTo(hdc ,  x , rc. bo tt om) ;} 
voidgta b_hsep( HWND hwnd,  lp Ta ble ptab, HD C  h dc)
{
   int  y;
    RECT  rc ;

   i f ( p tab-> hdr .fixe drows<  1) {        r et u rn;
  }
   y =ptab ->rowheight * pta b -> h dr.fixedrows;    Ge tC l ie n t Rec t(h wnd, &rc); 
   Mo v eToEx(h d c, r c .le f t, y-1, NULL) ;
    LineT o (hd c, rc. ri ght ,  y-1); 
}

/ *d raw  in (invert ing)  the dott ed sel e ction l i nes for  track ing  acolw id th 
 * /v oid gt ab_ d raw vertline (H WN D hwn d, l p T a b le p tab )
{    R ECT rc;
    H DChdc;    HPEN  hpen ;

  hdc= GetD C(hwn d) ;
    if (hdc)
   {
       S et ROP 2( hdc,R 2_XORP EN) ;
      hpen =( HPE N) S e l ec tObject(hdc, hpenD ot t e d) ;
       GetC l ie nt R ect(hwnd ,&rc );
     Mov e To Ex(hdc,ptab-> t ra ck line1,rc .top,NU LL) ;
     Lin eTo(hd c, ptab- >trac k line1, rc.bott o m);
        i f  ( p t ab - >tra ckl ine2!= -1){
       Mo veT o Ex(hd c, pt ab - >t r ackline2, rc.top, N UL L);
          LineTo(h dc, ptab-> t r a ckline2,  rc. b ot t om);
        } 

       Selec t Object(h dc, h pen);
       Rel e a seDC(hwn d,hdc );  } 
} 


/*
 * mark t he s el ected l ine , if vi sib le,  in  th estyle cho sen by t he 
*cl ien t app .  This ca nbeTM _SO LID,m eaning  an i nver si on of * thew ho l e  sel ec te d ar eaor  TM_F OCUS ,  me aning,inversion  of thefi rs t

pcellpos[ptab->hdr.fixedcols -_1].clipend+1;
 _  GetClientRect(hwnd, &rc);
_ __MoveToEx(hdc, x,_rc.top,_NULL);
  _ LineTo(hdc, x,_rc.bottom);
}

void
gtab_hsep(HWND hwnd, lpTable ptab,_HDC hdc)
{
 __ int y;
    RECT rc;

    if (ptab->hdr.fixedrows <_1)_{
 ___    return;
_   }
 _ _y = ptab->rowheight * ptab->hdr.fixedrows;
   _GetClientRect(hwnd,_&rc);
  _ MoveToEx(hdc, rc.left, y-1, NULL);
    LineTo(hdc,_rc.right, y-1);
}

/* draw in (inverting) the_dotted selection lines_for_tracking_a col width
 */
void
gtab_drawvertline(HWND_hwnd, lpTable ptab)
{
   _RECT rc;
    HDC_hdc;
    HPEN hpen;

 _  hdc = GetDC(hwnd);
 _  if (hdc) 
_ _ {
   _  _ SetROP2(hdc,_R2_XORPEN);
  _     hpen_= (HPEN)SelectObject(hdc, hpenDotted);
_     __GetClientRect(hwnd, &rc);

 ___ _  MoveToEx(hdc,_ptab->trackline1,_rc.top, NULL);
__     _LineTo(hdc,_ptab->trackline1, rc.bottom);
     _  if (ptab->trackline2!=_-1)_{
   _    _   MoveToEx(hdc, ptab->trackline2, rc.top,_NULL);
 _ _        LineTo(hdc, ptab->trackline2, rc.bottom);
_     _ }

  _ __  SelectObject(hdc,_hpen);
_ _     ReleaseDC(hwnd, hdc);
_ _ }
}


/*
 * mark the selected_line, if visible, in_the_style chosen by the
 * client_app. This can be TM_SOLID, meaning_an inversion of
 * the_whole_selected_area or TM_FOCUS, meaning, inversion_of the first
