63 {
'C',
'C',
'I',
'P',
'3',
'2',
'S',
'u',
'b',
'c',
'l',
'a',
's',
's',
'I',
'n',
'f',
'o', 0 };
76 static const WCHAR dot[] = {
'.', 0};
83 for (
i = 0;
i < 4;
i++) {
133 for (
i = 0;
i < 4;
i++)
136 ERR(
"We subclassed the wrong window! (hwnd=%p)\n",
hwnd);
195 for (
i = 0;
i < 3;
i++) {
198 rect.left = rcPart.right;
201 rect.right = rcPart.left;
229 infoPtr = heap_alloc_zero (
sizeof(*infoPtr));
230 if (!infoPtr)
return -1;
235 fieldsize = (rcClient.
right - rcClient.
left) / 4;
237 edit.
top = rcClient.
top + 2;
250 for (
i = 0;
i < 4;
i++) {
255 edit.
left = rcClient.
left +
i*fieldsize + 6;
256 edit.
right = rcClient.
left + (
i+1)*fieldsize - 2;
282 for (
i = 0;
i < 4;
i++) {
299 for (
i = 0;
i < 4;
i++)
328 for (
i = 0;
i < 4;
i++)
343 for (
i = 0;
i < 4;
i++) {
350 *ip_address = ip_addr;
376 for (
i = 0;
i < 4;
i++)
384 static const WCHAR fmt[] = {
'%',
'd', 0 };
389 for (
i = 3;
i >= 0;
i--) {
391 int value = ip_address & 0xff;
416 static const WCHAR fmt[] = {
'%',
'd', 0 };
418 int curValue, newValue;
421 TRACE(
"(currentfield=%d)\n", currentfield);
423 if (currentfield < 0 || currentfield > 3)
return FALSE;
425 part = &infoPtr->
Part[currentfield];
429 TRACE(
" curValue=%d\n", curValue);
432 TRACE(
" newValue=%d\n", newValue);
434 if (newValue < part->LowerLimit) newValue = part->
LowerLimit;
437 if (newValue == curValue)
return FALSE;
449 if(
cur >= -1 &&
cur < 4) {
526 if(
len == 2 && startsel==endsel && endsel==
len) {
535 }
else if (
len == 3 && startsel==endsel && endsel==
len)
537 else if (
len < 3 || startsel != endsel)
break;
538 }
else if(
c ==
'.' ||
c ==
' ') {
539 if(
len && startsel==endsel && startsel != 0) {
548 if(startsel==endsel && startsel==
len) {
554 if(startsel==0 && startsel==endsel &&
index > 0) {
560 if(startsel==endsel && startsel==0 &&
index > 0) {
static BOOL heap_free(void *mem)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
BOOL COMCTL32_IsReflectedMessage(UINT uMsg) DECLSPEC_HIDDEN
VOID COMCTL32_RefreshSysColors(void) DECLSPEC_HIDDEN
COMCTL32_SysColor comctl32_color
static LRESULT IPADDRESS_Create(HWND hwnd, const CREATESTRUCTA *lpCreate)
void IPADDRESS_Register(void)
static int IPADDRESS_GetPartIndex(const IPADDRESS_INFO *infoPtr, HWND hwnd)
static LRESULT WINAPI IPADDRESS_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
static LRESULT CALLBACK IPADDRESS_SubclassProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
void IPADDRESS_Unregister(void)
static BOOL IPADDRESS_SetRange(IPADDRESS_INFO *infoPtr, int index, WORD range)
static BOOL IPADDRESS_GotoNextField(const IPADDRESS_INFO *infoPtr, int cur, int sel)
static BOOL IPADDRESS_ConstrainField(const IPADDRESS_INFO *infoPtr, int currentfield)
static LRESULT IPADDRESS_SetAddress(const IPADDRESS_INFO *infoPtr, DWORD ip_address)
static int IPADDRESS_GetAddress(const IPADDRESS_INFO *infoPtr, LPDWORD ip_address)
static LRESULT IPADDRESS_Notify(const IPADDRESS_INFO *infoPtr, UINT command)
static LRESULT IPADDRESS_Paint(const IPADDRESS_INFO *infoPtr, HDC hdc)
static const WCHAR IP_SUBCLASS_PROP[]
static LRESULT IPADDRESS_Enable(IPADDRESS_INFO *infoPtr, BOOL enabled)
static INT IPADDRESS_IPNotify(const IPADDRESS_INFO *infoPtr, INT field, INT value)
static void IPADDRESS_SetFocusToField(const IPADDRESS_INFO *infoPtr, INT index)
static void IPADDRESS_ClearAddress(const IPADDRESS_INFO *infoPtr)
static LRESULT IPADDRESS_Destroy(IPADDRESS_INFO *infoPtr)
static LRESULT IPADDRESS_Draw(const IPADDRESS_INFO *infoPtr, HDC hdc)
static void IPADDRESS_UpdateText(const IPADDRESS_INFO *infoPtr)
static BOOL IPADDRESS_IsBlank(const IPADDRESS_INFO *infoPtr)
HRESULT WINAPI DrawThemeBackground(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, const RECT *pClipRect)
BOOL WINAPI IsThemeBackgroundPartiallyTransparent(HTHEME hTheme, int iPartId, int iStateId)
HRESULT WINAPI DrawThemeText(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, LPCWSTR pszText, int iCharCount, DWORD dwTextFlags, DWORD dwTextFlags2, const RECT *pRect)
HRESULT WINAPI DrawThemeParentBackground(HWND hwnd, HDC hdc, RECT *prc)
HRESULT WINAPI GetThemeColor(HTHEME hTheme, int iPartId, int iStateId, int iPropId, COLORREF *pColor)
HTHEME WINAPI OpenThemeData(HWND hwnd, LPCWSTR classlist)
HRESULT WINAPI CloseThemeData(HTHEME hTheme)
GLenum GLenum GLsizei const GLuint GLboolean enabled
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
_Check_return_ long __cdecl wcstol(_In_z_ const wchar_t *_Str, _Out_opt_ _Deref_post_z_ wchar_t **_EndPtr, _In_ int _Radix)
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
static const WCHAR dotW[]
static const WCHAR invalid[]
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
static HTHEME(WINAPI *pOpenThemeDataEx)(HWND
INT WINAPI DrawTextW(HDC hdc, LPCWSTR str, INT count, LPRECT rect, UINT flags)
static unsigned __int64 next
WCHAR lfFaceName[LF_FACESIZE]
int WINAPI GetWindowTextW(HWND hWnd, LPWSTR lpString, int nMaxCount)
HGDIOBJ WINAPI GetStockObject(_In_ int)
int WINAPI GetObjectW(_In_ HANDLE h, _In_ int c, _Out_writes_bytes_opt_(c) LPVOID pv)
COLORREF WINAPI SetBkColor(_In_ HDC, _In_ COLORREF)
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
HFONT WINAPI CreateFontIndirectW(_In_ const LOGFONTW *)
COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF)
HBRUSH WINAPI CreateSolidBrush(_In_ COLORREF)
HWND WINAPI GetFocus(void)
#define GetWindowLongPtrW
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
int WINAPIV wsprintfW(_Out_ LPWSTR, _In_ _Printf_format_string_ LPCWSTR,...)
LONG WINAPI SetWindowLongW(_In_ HWND, _In_ int, _In_ LONG)
LONG WINAPI GetWindowLongW(_In_ HWND, _In_ int)
ATOM WINAPI RegisterClassW(_In_ CONST WNDCLASSW *)
#define SPI_GETICONTITLELOGFONT
#define WM_SYSCOLORCHANGE
HCURSOR WINAPI LoadCursorW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
int WINAPI MapWindowPoints(_In_opt_ HWND hWndFrom, _In_opt_ HWND hWndTo, _Inout_updates_(cPoints) LPPOINT lpPoints, _In_ UINT cPoints)
BOOL WINAPI SetWindowTextW(_In_ HWND, _In_opt_ LPCWSTR)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
BOOL WINAPI DrawEdge(_In_ HDC, _Inout_ LPRECT, _In_ UINT, _In_ UINT)
HWND WINAPI SetFocus(_In_opt_ HWND)
BOOL WINAPI EndPaint(_In_ HWND, _In_ const PAINTSTRUCT *)
BOOL WINAPI SetPropW(_In_ HWND, _In_ LPCWSTR, _In_opt_ HANDLE)
BOOL WINAPI EnableWindow(_In_ HWND, _In_ BOOL)
BOOL WINAPI InvalidateRgn(_In_ HWND, _In_opt_ HRGN, _In_ BOOL)
int WINAPI GetWindowTextLengthW(_In_ HWND)
#define CreateWindowW(a, b, c, d, e, f, g, h, i, j, k)
BOOL WINAPI SystemParametersInfoW(_In_ UINT uiAction, _In_ UINT uiParam, _Inout_opt_ PVOID pvParam, _In_ UINT fWinIni)
HANDLE WINAPI GetPropW(_In_ HWND, _In_ LPCWSTR)
BOOL WINAPI UnregisterClassW(_In_ LPCWSTR, HINSTANCE)
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
HDC WINAPI BeginPaint(_In_ HWND, _Out_ LPPAINTSTRUCT)
#define SetWindowLongPtrW
LRESULT WINAPI CallWindowProcW(_In_ WNDPROC, _In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)