Added combobox control ported from WINE

Added controls.h header to hold missing
defines and structures until w32api is in sync.

svn path=/trunk/; revision=4967
This commit is contained in:
Steven Edwards 2003-06-26 00:01:34 +00:00
parent 9aea24bfae
commit 76e2bc6284
6 changed files with 2275 additions and 13 deletions

View file

@ -1,4 +1,4 @@
/* $Id: regcontrol.h,v 1.2 2003/06/22 19:18:17 sedwards Exp $
/* $Id: regcontrol.h,v 1.3 2003/06/25 23:59:43 sedwards Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS User32
@ -11,11 +11,6 @@
#ifndef ROS_REGCONTROL_H
#define ROS_REGCONTROL_H
/* Missing from Winuser.h */
#ifndef MAKEINTATOMA
#define MAKEINTATOMA(atom) ((LPCSTR)((ULONG_PTR)((WORD)(atom))))
#endif
/* Built-in class names (see _Undocumented_Windows_ p.418) */
#define ICONTITLE_CLASS_ATOM MAKEINTATOMA(32772) /* IconTitle */

View file

@ -1,4 +1,4 @@
# $Id: Makefile,v 1.16 2003/06/23 10:10:51 rcampbell Exp $
# $Id: Makefile,v 1.17 2003/06/26 00:01:34 sedwards Exp $
PATH_TO_TOP = ../..
@ -20,7 +20,7 @@ TARGET_CFLAGS = \
TARGET_LFLAGS = -nostartfiles -nostdlib
CONTROLS_OBJECTS = \
controls/combobox.o \
controls/combo.o \
controls/icontitle.o \
controls/listbox.o \
controls/scrollbar.o \

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,69 @@
#ifndef _ROS_CONTROLS_H
#define _ROS_CONTROLS_H
/* Missing from Winuser.h */
#define ES_COMBO 0x00000200 /* Undocumented. Parent is a combobox */
#ifndef MAKEINTATOMA
#define MAKEINTATOMA(atom) ((LPCSTR)((ULONG_PTR)((WORD)(atom))))
#endif
#ifndef WM_ISACTIVEICON
#define WM_ISACTIVEICON 0x0035
#endif
/* winuser.h */
// I dont know where this goes
#define LB_CARETON 0x01a3
#define LB_CARETOFF 0x01a4
/* combo box */
#define ID_CB_LISTBOX 1000
#define ID_CB_EDIT 1001
/* Combo box message return values */
#define CB_OKAY 0
/* internal flags */
#define CBF_DROPPED 0x0001
#define CBF_BUTTONDOWN 0x0002
#define CBF_NOROLLUP 0x0004
#define CBF_MEASUREITEM 0x0008
#define CBF_FOCUSED 0x0010
#define CBF_CAPTURE 0x0020
#define CBF_EDIT 0x0040
#define CBF_NORESIZE 0x0080
#define CBF_NOTIFY 0x0100
#define CBF_NOREDRAW 0x0200
#define CBF_SELCHANGE 0x0400
#define CBF_NOEDITNOTIFY 0x1000
#define CBF_NOLBSELECT 0x2000 /* do not change current selection */
#define CBF_EUI 0x8000
/* combo state struct */
typedef struct
{
HWND self;
HWND owner;
UINT dwStyle;
HWND hWndEdit;
HWND hWndLBox;
UINT wState;
HFONT hFont;
RECT textRect;
RECT buttonRect;
RECT droppedRect;
INT droppedIndex;
INT fixedOwnerDrawHeight;
INT droppedWidth; /* last two are not used unless set */
INT editHeight; /* explicitly */
} HEADCOMBO,*LPHEADCOMBO;
/* Note, that CBS_DROPDOWNLIST style is actually (CBS_SIMPLE | CBS_DROPDOWN) */
#define CB_GETTYPE( lphc ) ((lphc)->dwStyle & (CBS_DROPDOWNLIST))
extern BOOL COMBO_FlipListbox( LPHEADCOMBO, BOOL, BOOL );
#endif /* _ROS_CONTROLS_H */

View file

@ -30,10 +30,7 @@
#include "windows.h"
#include "user32/regcontrol.h"
#ifndef WM_ISACTIVEICON /* Winuser.h */
#define WM_ISACTIVEICON 0x0035
#endif /* winuser.h */
#include "controls.h"
static BOOL bMultiLineTitle;
static HFONT hIconTitleFont;

View file

@ -1,4 +1,4 @@
/* $Id: regcontrol.c,v 1.3 2003/06/23 14:46:17 rcampbell Exp $
/* $Id: regcontrol.c,v 1.4 2003/06/25 23:59:02 sedwards Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS User32
@ -47,6 +47,7 @@ void ControlsInit(void)
RegisterBuiltinClass(&MENU_builtin_class);
RegisterBuiltinClass(&SCROLL_builtin_class);
#endif
RegisterBuiltinClass(&COMBO_builtin_class);
RegisterBuiltinClass(&BUTTON_builtin_class);
RegisterBuiltinClass(&ICONTITLE_builtin_class);
RegisterBuiltinClass(&STATIC_builtin_class);