Ignore:
Timestamp:
Apr 15, 2000, 4:22:31 PM (25 years ago)
Author:
cbratschi
Message:

new listview item handling, new messages

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/comctl32/comctl32undoc.cpp

    r3154 r3385  
    1 /* $Id: comctl32undoc.cpp,v 1.2 2000-03-18 16:17:22 cbratschi Exp $ */
     1/* $Id: comctl32undoc.cpp,v 1.3 2000-04-15 14:22:11 cbratschi Exp $ */
    22/*
    33 * Undocumented functions from COMCTL32.DLL
     
    10461046    HDPA hdpa;
    10471047
    1048     dprintf(("COMCTL32: DPA_Create"));
     1048    dprintf2(("COMCTL32: DPA_Create"));
    10491049
    10501050    hdpa = (HDPA)COMCTL32_Alloc (sizeof(DPA));
     
    10771077DPA_Destroy (const HDPA hdpa)
    10781078{
    1079     dprintf(("COMCTL32: DPA_Destroy"));
     1079    dprintf2(("COMCTL32: DPA_Destroy"));
    10801080
    10811081    if (!hdpa)
     
    11061106DPA_Grow (const HDPA hdpa, INT nGrow)
    11071107{
    1108     dprintf(("COMCTL32: DPA_Grow"));
     1108    dprintf2(("COMCTL32: DPA_Grow"));
    11091109
    11101110    if (!hdpa)
     
    11431143    HDPA hdpaTemp;
    11441144
    1145     dprintf(("COMCTL32: DPA_Clone"));
     1145    dprintf2(("COMCTL32: DPA_Clone"));
    11461146
    11471147    if (!hdpa)
     
    14481448DPA_DeleteAllPtrs (const HDPA hdpa)
    14491449{
    1450     dprintf(("COMCTL32: DPA_DeleteAllPtrs"));
     1450    dprintf2(("COMCTL32: DPA_DeleteAllPtrs"));
    14511451
    14521452    if (!hdpa)
     
    15111511}
    15121512
     1513//internal API
     1514INT DPA_InsertPtrSorted(const HDPA hdpa,LPVOID p,PFNDPACOMPARE pfnCompare,LPARAM lParam)
     1515{
     1516  INT pos,minPos,maxPos,res;
     1517
     1518  if (!hdpa || !pfnCompare) return -1;
     1519
     1520  if (hdpa->nItemCount == 0)
     1521    return DPA_InsertPtr(hdpa,0,p);
     1522
     1523  //check last
     1524  if ((pfnCompare)(p,hdpa->ptrs[hdpa->nItemCount-1],lParam) >= 0)
     1525  {
     1526    return DPA_InsertPtr(hdpa,hdpa->nItemCount,p);
     1527  }
     1528  //check first
     1529  if ((pfnCompare)(p,hdpa->ptrs[0],lParam) < 0)
     1530  {
     1531    return DPA_InsertPtr(hdpa,0,p);
     1532  }
     1533
     1534  minPos = 1;
     1535  maxPos = hdpa->nItemCount-1;
     1536
     1537  while (minPos != maxPos)
     1538  {
     1539    pos = (minPos+maxPos)/2;
     1540    res = (pfnCompare)(p,hdpa->ptrs[pos],lParam);
     1541    if (res < 0)
     1542      maxPos = pos;
     1543    else
     1544      minPos = pos+1;
     1545  }
     1546
     1547  return DPA_InsertPtr(hdpa,minPos,p);
     1548}
    15131549
    15141550/**************************************************************************
     
    15301566DPA_Sort (const HDPA hdpa, PFNDPACOMPARE pfnCompare, LPARAM lParam)
    15311567{
    1532     dprintf(("COMCTL32: DPA_Sort"));
     1568    dprintf2(("COMCTL32: DPA_Sort"));
    15331569
    15341570    if (!hdpa || !pfnCompare)
     
    15701606            PFNDPACOMPARE pfnCompare, LPARAM lParam, UINT uOptions)
    15711607{
    1572     dprintf(("COMCTL32: DPA_Search"));
     1608    dprintf2(("COMCTL32: DPA_Search"));
    15731609
    15741610    if (!hdpa || !pfnCompare || !pFind)
     
    16491685    HDPA hdpa;
    16501686
    1651     dprintf(("COMCTL32: DPA_CreateEx"));
     1687    dprintf2(("COMCTL32: DPA_CreateEx"));
    16521688
    16531689    if (hHeap)
Note: See TracChangeset for help on using the changeset viewer.