- Timestamp:
- Aug 23, 1999, 5:09:19 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/user32/new/dialog.cpp
r644 r649 198 198 199 199 /*********************************************************************** 200 * DIALOG_GetControl16201 *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 else234 {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 else247 {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 else261 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 /***********************************************************************271 200 * DIALOG_GetControl32 272 201 * … … 625 554 return 0; 626 555 } 556 627 557 wndPtr = WIN_FindWndPtr( hwnd ); 628 558 wndPtr->flags |= WIN_ISDIALOG;
Note:
See TracChangeset
for help on using the changeset viewer.