Changeset 649 for trunk/src


Ignore:
Timestamp:
Aug 23, 1999, 5:09:19 PM (26 years ago)
Author:
phaller
Message:

.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/user32/new/dialog.cpp

    r644 r649  
    198198
    199199/***********************************************************************
    200  *           DIALOG_GetControl16
    201  *
    202  * Return the class and text of the control pointed to by ptr,
    203  * fill the header structure and return a pointer to the next control.
    204  */
    205 static LPCSTR DIALOG_GetControl16( LPCSTR p, DLG_CONTROL_INFO *info )
    206 {
    207     static char buffer[10];
    208     int int_id;
    209 
    210     info->x       = GET_WORD(p);  p += sizeof(WORD);
    211     info->y       = GET_WORD(p);  p += sizeof(WORD);
    212     info->cx      = GET_WORD(p);  p += sizeof(WORD);
    213     info->cy      = GET_WORD(p);  p += sizeof(WORD);
    214     info->id      = GET_WORD(p);  p += sizeof(WORD);
    215     info->style   = GET_DWORD(p); p += sizeof(DWORD);
    216     info->exStyle = 0;
    217 
    218     if (*p & 0x80)
    219     {
    220         switch((BYTE)*p)
    221         {
    222             case 0x80: strcpy( buffer, "BUTTON" ); break;
    223             case 0x81: strcpy( buffer, "EDIT" ); break;
    224             case 0x82: strcpy( buffer, "STATIC" ); break;
    225             case 0x83: strcpy( buffer, "LISTBOX" ); break;
    226             case 0x84: strcpy( buffer, "SCROLLBAR" ); break;
    227             case 0x85: strcpy( buffer, "COMBOBOX" ); break;
    228             default:   buffer[0] = '\0'; break;
    229         }
    230         info->className = buffer;
    231         p++;
    232     }
    233     else
    234     {
    235    info->className = p;
    236    p += strlen(p) + 1;
    237     }
    238 
    239     int_id = ((BYTE)*p == 0xff);
    240     if (int_id)
    241     {
    242      /* Integer id, not documented (?). Only works for SS_ICON controls */
    243    info->windowName = (LPCSTR)(UINT)GET_WORD(p+1);
    244    p += 3;
    245     }
    246     else
    247     {
    248    info->windowName = p;
    249    p += strlen(p) + 1;
    250     }
    251 
    252     info->data = (LPVOID)(*p ? p + 1 : NULL);  /* FIXME: should be a segptr */
    253     p += *p + 1;
    254 
    255     if(int_id)
    256       dprintf(("USER32:   %s %04x %d, %d, %d, %d, %d, %08lx, %08lx\n",
    257             info->className,  LOWORD(info->windowName),
    258             info->id, info->x, info->y, info->cx, info->cy,
    259             info->style, (DWORD)info->data));
    260     else
    261       dprintf(("USER32:   %s '%s' %d, %d, %d, %d, %d, %08lx, %08lx\n",
    262             info->className,  info->windowName,
    263             info->id, info->x, info->y, info->cx, info->cy,
    264             info->style, (DWORD)info->data));
    265 
    266     return p;
    267 }
    268 
    269 
    270 /***********************************************************************
    271200 *           DIALOG_GetControl32
    272201 *
     
    625554   return 0;
    626555    }
     556
    627557    wndPtr = WIN_FindWndPtr( hwnd );
    628558    wndPtr->flags |= WIN_ISDIALOG;
Note: See TracChangeset for help on using the changeset viewer.