/*
 * Resource IDs
 *
 * Copyright 2006 Mikolaj Zalewski
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

#ifndef __WINE_COMCTL32_TEST_RESOURCES_H
#define __WINE_COMCTL32_TEST_RESOURCES_H

#define IDB_BITMAP_128x15       10
#define IDB_BITMAP_80x15        11

#define IDS_TBADD1      16
#define IDS_TBADD2      17
#define IDS_TBADD3      18
#define IDS_TBADD4      19
#define IDS_TBADD5      20
#define IDS_TBADD7      22

#define IDD_PROP_PAGE_INTRO 30
#define IDD_PROP_PAGE_EDIT 31
#define IDD_PROP_PAGE_RADIO 32
#define IDD_PROP_PAGE_EXIT 33

#define IDD_PROP_PAGE_WITH_CUSTOM_DEFAULT_BUTTON 34
#define IDD_PROP_PAGE_MESSAGE_TEST 35
#define IDD_PROP_PAGE_ERROR 36

#define IDC_PS_EDIT1 1000
#define IDC_PS_EDIT2 1001
#define IDC_PS_RADIO1 1010
#define IDC_PS_RADIO2 1011

#define IDC_PS_COMBO1 1020
#define IDC_PS_PUSHBUTTON1 1021

#endif  /* __WINE_COMCTL32_TEST_RESOURCES_H */
