1088 RECT rc = {0, 0, 10, 10};
1091 static const int winxp_res[11] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
1092 static const int win2k3_res[11] = {0, 1, 2, 3, 4, 5, 6, 5, 8, 0, 0};
1093 static const int vista_res[11] = {0, 1, 5, 3, 4, 5, 6, 7, 7, 0, 0};
1094 static const int win7_res[11] = {1, 1, 1, 3, 4, 1, 6, 1, 8, 8, 8};
1099 hr = IShellFolder_CreateViewObject(desktop,
NULL, &IID_IShellView, (
void**)&sview);
1105 hr = IShellView_CreateViewWindow(sview,
NULL, &
fs, browser, &rc, &
hwnd);
1108 hr = IShellView_QueryInterface(sview, &IID_IFolderView, (
void**)&fview);
1118 IFolderView_GetCurrentViewMode(fview,
NULL);
1121 hr = IFolderView_GetCurrentViewMode(fview, &viewmode);
1123 ok(viewmode == 1,
"ViewMode was %d\n", viewmode);
1125 hr = IFolderView_SetCurrentViewMode(fview,
FVM_AUTO);
1128 hr = IFolderView_SetCurrentViewMode(fview, 0);
1130 "got (0x%08x)\n",
hr);
1132 hr = IFolderView_GetCurrentViewMode(fview, &viewmode);
1135 for(
i = 1;
i < 9;
i++)
1137 hr = IFolderView_SetCurrentViewMode(fview,
i);
1139 "(%d) got (0x%08x)\n",
i,
hr);
1141 hr = IFolderView_GetCurrentViewMode(fview, &viewmode);
1145 ok((viewmode == win7_res[
i]) || (viewmode == vista_res[
i]) ||
1146 (viewmode == win2k3_res[
i]) || (viewmode == winxp_res[
i]),
1147 "(%d) got %d\n",
i , viewmode);
1150 hr = IFolderView_SetCurrentViewMode(fview, 9);
1152 "got (0x%08x)\n",
hr);
1156 ok(hwnd_lv !=
NULL,
"Failed to subclass listview\n");
1164 static const UINT vista_plus_msgs[] = {
1170 hr = IFolderView_SetCurrentViewMode(fview, 1);
1179 "IFolderView::SetCurrentViewMode(1)",
TRUE);
1181 hr = IFolderView_SetCurrentViewMode(fview, 2);
1187 "IFolderView::SetCurrentViewMode(2)",
TRUE);
1189 hr = IFolderView_SetCurrentViewMode(fview, 3);
1195 "IFolderView::SetCurrentViewMode(3)",
TRUE);
1197 hr = IFolderView_SetCurrentViewMode(fview, 4);
1203 "IFolderView::SetCurrentViewMode(4)",
TRUE);
1205 hr = IFolderView_SetCurrentViewMode(fview, 5);
1218 ok(
count == 1 ||
count == 2,
"LVM_SETEXTENDEDLISTVIEWSTYLE sent %d times.\n",
count);
1223 hr = IFolderView_SetCurrentViewMode(fview, 6);
1236 ok(
count == 1 ||
count == 2,
"LVM_SETEXTENDEDLISTVIEWSTYLE sent %d times.\n",
count);
1241 hr = IFolderView_SetCurrentViewMode(fview, 7);
1254 ok(
count == 2,
"LVM_SETEXTENDEDLISTVIEWSTYLE sent %d times.\n",
count);
1259 hr = IFolderView_SetCurrentViewMode(fview, 8);
1272 ok(
count == 2,
"LVM_SETEXTENDEDLISTVIEWSTYLE sent %d times.\n",
count);
1277 hr = IFolderView_GetCurrentViewMode(fview, &viewmode);
1278 ok(
hr ==
S_OK,
"Failed to get current viewmode.\n");
1280 "IFolderView::GetCurrentViewMode",
FALSE);
1283 IFolderView_Release(fview);
1287 skip(
"No IFolderView for the desktop folder.\n");
1290 IShellBrowser_Release(browser);
1291 IShellView_DestroyViewWindow(sview);
1292 IShellView_Release(sview);
1293 IShellFolder_Release(desktop);
#define LISTVIEW_SEQ_INDEX
GLuint GLuint GLsizei count
static struct msg_sequence * sequences[NUM_MSG_SEQUENCES]
static const struct message folderview_setcurrentviewmode1_2_prevista[]
HRESULT WINAPI SHGetDesktopFolder(IShellFolder **psf)
#define WM_WINDOWPOSCHANGING
#define ok_sequence(seq, index, exp, contx, todo)
static IShellBrowser * IShellBrowserImpl_Construct(void)
#define LVM_SETEXTENDEDLISTVIEWSTYLE
#define verify_msgs_in(seq, msgs)
static UINT get_msg_count(struct msg_sequence **seq, int sequence_index, UINT message)
static const struct message folderview_setcurrentviewmode4_prevista[]
static const struct message folderview_setcurrentviewmode3_prevista[]
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static void flush_sequences(struct msg_sequence **seq, int n)
static const struct message empty_seq[]
#define WM_WINDOWPOSCHANGED
#define NUM_MSG_SEQUENCES
static HWND subclass_listview(HWND hwnd)