26#define SUBCLASS_NAME "MyStatusBar"
28#define expect(expected,got) ok (expected == got,"Expected %d, got %d\n",expected,got)
29#define expect_rect(_left,_top,_right,_bottom,got) do { \
30 RECT exp = {abs(got.left - _left), abs(got.top - _top), \
31 abs(got.right - _right), abs(got.bottom - _bottom)}; \
32 ok(exp.left <= 2 && exp.top <= 2 && exp.right <= 2 && exp.bottom <= 2, \
33 "Expected rect (%d,%d)-(%d,%d), got %s\n", _left, _top, _right, _bottom, \
34 wine_dbgstr_rect(&(got))); } while (0)
58 ok(hWndStatus !=
NULL,
"failed to create status wnd\n");
120 static const int sizes[] = { 6, 7, 8, 9, 10, 11, 12, 13, 15, 16,
121 20, 22, 28, 36, 48, 72};
145 y =
tm.tmHeight + (
tm.tmInternalLeading ?
tm.tmInternalLeading : 2) + 4;
148 "got %d (expected %d or %d) for %s #%d\n",
185 skip(
"Status control not resized in win95, skipping broken tests.\n");
239 trace(
"dpi=%d (min height: %d or %d) SM_CYSIZE: %d\n",
255 int nParts[] = {50, 150, -1};
256 int checkParts[] = {0, 0, 0};
257 int borders[] = {0, 0, 0};
262 char chstr[10] =
"Inval id";
294 ok(
r == 5,
"Expected 5, got %d\n",
r);
302 ok(
strcmp(charArray,
"Third") == 0,
"Expected Third, got %s\n", charArray);
308 ok(
r == 3,
"Expected 3, got %d\n",
r);
310 expect(150,checkParts[1]);
313 ok(
r ==
TRUE,
"Expected TRUE, got %d\n",
r);
328 ok(
strcmp(charArray,
"First@Again") == 0,
"Expected First@Again, got %s\n", charArray);
332 ok(
strcmp(charArray,
"Invalid\tChars\\7 ") == 0,
"Expected Invalid\tChars\\7 , got %s\n", charArray);
337 ok(
strcmp(charArray,
"InvalidChars\\n ") == 0,
"Expected InvalidChars\\n , got %s\n", charArray);
343 for(ch = 0x00; ch < 0x7F; ch++) {
350 if (ch > 0x00 && ch < 0x20 && ch !=
'\t')
352 ok(
strcmp(charArray, chstr) == 0,
"Expected %s, got %s\n", chstr, charArray);
359 "Expected 0x%.8x, got 0x%.8x\n",
CLR_DEFAULT, crColor);
361 ok(crColor ==
RGB(255,0,0) ||
363 "Expected 0x%.8x, got 0x%.8x\n",
RGB(255,0,0), crColor);
370 "Expected non-zero, got %d\n",
r);
374 "Expected non-zero, got %d\n",
r);
378 "Expected non-zero, got %d\n",
r);
390 "Expected TRUE, got %d\n",
r);
396 ok(
r == 2,
"Expected 2, got %d\n",
r);
400 ok(
r == 2,
"Expected 2, got %d\n",
r);
422 ok(
strcmp(charArray,
"Tooltip Text") == 0 ||
424 "Expected Tooltip Text, got %s\n", charArray);
431 "Expected TRUE, got %d\n",
r);
449 const char* statustext =
"STATUS TEXT";
465 ok(
r ==
TRUE,
"Sendmessage returned %d, expected 1\n",
r);
470 ok(
r ==
TRUE,
"Sendmessage returned %d, expected 1\n",
r);
475 ok(
r ==
TRUE,
"Sendmessage returned %d, expected 1\n",
r);
496 ok(
r == 4 ||
broken(
r == 2) ,
"Expected 4 got %d\n",
r );
500 ok(
r == 0 ||
broken(
r == 4),
"Expected 0 got %d\n",
r );
501 if (!
r)
ok(!
buf[0],
"expected empty buffer\n");
504 ok(
r == 1 ||
broken(
r == 4),
"Expected 1 got %d\n",
r );
558 ok(atom,
"RegisterClass failed\n");
573 ok(
g_got_dblclk,
"WM_LBUTTONDBLCLK was not processed correctly!\n");
579 ok(
g_got_click,
"WM_LBUTTONUP was not processed correctly!\n");
718#define X(f) p##f = (void*)GetProcAddress(hComCtl32, #f);
731 iccex.
dwSize =
sizeof(iccex);
733 pInitCommonControlsEx(&iccex);
int strcmp(const char *String1, const char *String2)
ACPI_SIZE strlen(const char *String)
BOOL WINAPI InitCommonControlsEx(const INITCOMMONCONTROLSEX *lpInitCtrls)
HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA(LPCSTR lpModuleName)
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
GLuint GLuint GLsizei GLenum type
GLint GLint GLint GLint GLint GLint y
GLdouble GLdouble GLdouble r
GLint GLint GLsizei width
GLenum GLuint GLenum GLsizei const GLchar * buf
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
LPSTR WINAPI lstrcpyA(LPSTR lpString1, LPCSTR lpString2)
static int CALLBACK check_height_family_enumproc(ENUMLOGFONTEXA *enumlf, NEWTEXTMETRICEXA *ntm, DWORD type, LPARAM lParam)
static BOOL g_got_contextmenu
static void test_height(void)
static void test_gettext(void)
static WNDPROC g_status_wndproc
static void test_sizegrip(void)
static int CALLBACK check_height_font_enumproc(ENUMLOGFONTEXA *enumlf, NEWTEXTMETRICEXA *ntm, DWORD type, LPARAM lParam)
static LRESULT WINAPI test_notify_parent_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
static void test_create(void)
#define expect_rect(_left, _top, _right, _bottom, got)
static void test_status_control(void)
static WNDPROC g_wndproc_saved
static BOOL g_got_rdblclk
static int g_wmdrawitm_ctr
static void test_notify(void)
static HWND create_status_control(DWORD style, DWORD exstyle)
#define expect(expected, got)
static LRESULT WINAPI create_test_wndproc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
static void test_status_ownerdraw(void)
static LRESULT WINAPI ownerdraw_test_wndproc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
static void init_functions(void)
static void register_subclass(void)
static int g_wmsize_count
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
static const struct @543 sizes[]
INT WINAPI MulDiv(INT nNumber, INT nNumerator, INT nDenominator)
#define WS_OVERLAPPEDWINDOW
#define SB_GETTEXTLENGTHA
#define SB_SETUNICODEFORMAT
#define SB_GETUNICODEFORMAT
BYTE elfFullName[LF_FULLFACESIZE]
CHAR lfFaceName[LF_FACESIZE]
int WINAPI GetDeviceCaps(_In_opt_ HDC, _In_ int)
HFONT WINAPI CreateFontIndirectA(_In_ const LOGFONTA *)
#define TRUETYPE_FONTTYPE
int WINAPI EnumFontFamiliesExA(_In_ HDC, _In_ PLOGFONTA, _In_ FONTENUMPROCA, _In_ LPARAM, _In_ DWORD)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
#define OUT_DEFAULT_PRECIS
#define CLIP_DEFAULT_PRECIS
HFONT WINAPI CreateFontA(_In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_opt_ LPCSTR)
BOOL WINAPI GetTextMetricsA(_In_ HDC, _Out_ LPTEXTMETRICA)
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
#define SetWindowLongPtrA
HWND WINAPI CreateWindowExA(_In_ DWORD dwExStyle, _In_opt_ LPCSTR lpClassName, _In_opt_ LPCSTR lpWindowName, _In_ DWORD dwStyle, _In_ int X, _In_ int Y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam)
LONG WINAPI GetWindowLongA(_In_ HWND, _In_ int)
LRESULT WINAPI DefWindowProcA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define CreateWindowA(a, b, c, d, e, f, g, h, i, j, k)
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
LONG WINAPI SetWindowLongA(_In_ HWND, _In_ int, _In_ LONG)
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
LRESULT WINAPI SendMessageA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI GetClassInfoExA(_In_opt_ HINSTANCE, _In_ LPCSTR, _Out_ LPWNDCLASSEXA)
#define GetWindowLongPtrA
int WINAPI MapWindowPoints(_In_opt_ HWND hWndFrom, _In_opt_ HWND hWndTo, _Inout_updates_(cPoints) LPPOINT lpPoints, _In_ UINT cPoints)
BOOL WINAPI ClientToScreen(_In_ HWND, _Inout_ LPPOINT)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
ATOM WINAPI RegisterClassA(_In_ CONST WNDCLASSA *)
ATOM WINAPI RegisterClassExA(_In_ CONST WNDCLASSEXA *)
HICON WINAPI LoadIconA(_In_opt_ HINSTANCE hInstance, _In_ LPCSTR lpIconName)
struct tagNMHDR * LPNMHDR
HDC WINAPI GetDC(_In_opt_ HWND)
struct _WNDCLASSEXA WNDCLASSEXA
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
BOOL WINAPI DestroyWindow(_In_ HWND)
int WINAPI GetSystemMetrics(_In_ int)
LRESULT WINAPI CallWindowProcA(_In_ WNDPROC, _In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)