From 5c4e6cbf06abbed9f60469bd4baec5f5d6f7cd1a Mon Sep 17 00:00:00 2001 From: Ged Murphy Date: Mon, 12 Jun 2006 22:35:32 +0000 Subject: [PATCH] - sync from Wine-0_9_5 to Wine-0_9_15 - there are a few small differences between ROS comctl32 and Wine comctl32, in listview.c and treeview.c. I've dropped the Wine versions in for now, as they appear to be trivial. I'll insert our small alterations after testing, if required. For now, we are using 100% Wine code. - We are failing some comctl32 Wine tests in ROS, but passing more than previous. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sync to Wine-0_9_15: Mikoaj Zalewski - comctl32: header: Put the new item in place of the hot divider instead of swapping. - comctl32: header: Draw the drag image and hot dividers while dragging an item. - comctl32: header: Fix an order-related bug in HEADER_InternalHitTest. - comctl32: header: Implement HDM_SETHOTDIVIDER. - comctl32: header: Implement HDM_CREATEDRAGIMAGE. - comctl32: listview: Apply the HDS_DRAGDROP header style if needed. - comctl32: header: Update the rects in HEADER_Refresh if needed. - comctl32: header: Ignore out-of-range iOrder in SetItemT. Paul Vriens - comctl32/header: Check Null before accessing struct member. Alexandre Julliard - comctl32: Dialog procedures should be called with CallWindowProc. Sync to Wine-0_9_14: Mikoaj Zalewski - comctl32: header: Don't try to draw items outside the clipping rect. - comctl32: header: Make the column resizing smooth in full drag mode. Jonathan Ernst - Update the address of the Free Software Foundation. - Uniformization of French main menu accelerators. Sync to Wine-0_9_13: Mikoaj Zalewski - comctl32: Add Str_SetPtrWtoA analogue to Str_SetPtrAtoW. qingdoa daoo - comctl32: Change return code comparison in AVI control. - comctl32: Fix an unsigned comparison to zero. - comctl32: Update first visible when appropiate in the TVI_SORT case. Saulius Krasuckas - comctl32: Increase FILEVERSION up to 5.81.4704.1100. Sync to Wine-0_9_12: Mike Hearn - comctl32: Add OOM codepath in imagelist control. Antonio Codazzi - comctl32: Italian language updates. - comctl32: Esperanto language support. Sync to Wine-0_9_11: Rein Klazes - comctl32: Do not free LPSTR_TEXTCALLBACK tooltip texts. James Hawkins - comctl32: A couple fixes for tab icon offsets. Thomas Weidenmueller - comctl32: Rebar size fix. Mike McCormack - comctl32: Having an MRU list without a compare function works in Windows. Sync to Wine-0_9_10: Andr帽s Kov帽cs - comctl32: Added Hungarian translation. Mike McCormack - comctl32: Fix some gcc 4.1 warnings caused by windowsx.h macros. Sync to Wine-0_9_9: Vitaliy Margolen - comctl32: Remove/swap limits if min > max in MCM_SETRANGE. We should swap min & max only when both limits are being set. Otherwise limit that being set should invalidate other limit (remove it). - comctl32: Don't change month range in MCM_SETRANGE. Add tests for this. Sync to Wine-0_9_8: Vitaliy Margolen - comctl32: Fix invalid date/time check in MCM_SETRANGE: ignore time and fail on bad date. Francois Gouget - Assorted spelling fixes. Petr Tesarik - comctl32: Czech language resources encoding fix. Fatih Ac - comctl32: Turkish translation. Sync to Wine-0_9_7: Alexandre Julliard - Fixed creation of PS_ALTERNATE pens. Sync to Wine-0_9_6: Phil Krylov - comctl32: Call UpdateWindow() after changing statusbar text. Thomas Weidenmueller - comctl32: Reduce memory usage of the syslink control. - comctl32: Some painting fixes for the syslink control. Mike McCormack - comctl32: Invalidate the entire progress bar any time it changes. svn path=/trunk/; revision=22329 --- reactos/dll/win32/comctl32/animate.c | 4 +- reactos/dll/win32/comctl32/comboex.c | 2 +- reactos/dll/win32/comctl32/comctl32.h | 9 +- reactos/dll/win32/comctl32/comctl32.spec | 14 +- reactos/dll/win32/comctl32/comctl32undoc.c | 46 +- reactos/dll/win32/comctl32/comctl_Bg.rc | 2 +- reactos/dll/win32/comctl32/comctl_Cn.rc | 180 ++-- reactos/dll/win32/comctl32/comctl_Cs.rc | 183 ++-- reactos/dll/win32/comctl32/comctl_De.rc | 174 ++-- reactos/dll/win32/comctl32/comctl_En.rc | 174 ++-- reactos/dll/win32/comctl32/comctl_Es.rc | 174 ++-- reactos/dll/win32/comctl32/comctl_Fr.rc | 182 ++-- reactos/dll/win32/comctl32/comctl_Hu.rc | 177 ++-- reactos/dll/win32/comctl32/comctl_It.rc | 176 ++-- reactos/dll/win32/comctl32/comctl_Ja.rc | 174 ++-- reactos/dll/win32/comctl32/comctl_Ko.rc | 166 ++-- reactos/dll/win32/comctl32/comctl_Nl.rc | 178 ++-- reactos/dll/win32/comctl32/comctl_No.rc | 2 +- reactos/dll/win32/comctl32/comctl_Pl.rc | 166 ++-- reactos/dll/win32/comctl32/comctl_Pt.rc | 174 ++-- reactos/dll/win32/comctl32/comctl_Ru.rc | 178 ++-- reactos/dll/win32/comctl32/comctl_Si.rc | 164 ++-- reactos/dll/win32/comctl32/comctl_Sv.rc | 2 +- reactos/dll/win32/comctl32/comctl_Th.rc | 174 ++-- reactos/dll/win32/comctl32/comctl_Tr.rc | 87 ++ reactos/dll/win32/comctl32/comctl_Uk.rc | 178 ++-- reactos/dll/win32/comctl32/commctrl.c | 2 +- reactos/dll/win32/comctl32/datetime.c | 2 +- reactos/dll/win32/comctl32/dpa.c | 2 +- reactos/dll/win32/comctl32/draglist.c | 2 +- reactos/dll/win32/comctl32/dsa.c | 2 +- reactos/dll/win32/comctl32/flatsb.c | 2 +- reactos/dll/win32/comctl32/header.c | 955 ++++++++++++++------- reactos/dll/win32/comctl32/hotkey.c | 2 +- reactos/dll/win32/comctl32/imagelist.c | 7 +- reactos/dll/win32/comctl32/imagelist.h | 2 +- reactos/dll/win32/comctl32/ipaddress.c | 2 +- reactos/dll/win32/comctl32/listview.c | 281 +++--- reactos/dll/win32/comctl32/monthcal.c | 78 +- reactos/dll/win32/comctl32/nativefont.c | 2 +- reactos/dll/win32/comctl32/pager.c | 13 +- reactos/dll/win32/comctl32/progress.c | 31 +- reactos/dll/win32/comctl32/propsheet.c | 311 ++++--- reactos/dll/win32/comctl32/rebar.c | 25 +- reactos/dll/win32/comctl32/rsrc.rc | 585 ++----------- reactos/dll/win32/comctl32/smoothscroll.c | 2 +- reactos/dll/win32/comctl32/status.c | 3 +- reactos/dll/win32/comctl32/string.c | 2 +- reactos/dll/win32/comctl32/syslink.c | 182 ++-- reactos/dll/win32/comctl32/tab.c | 20 +- reactos/dll/win32/comctl32/theme_combo.c | 2 +- reactos/dll/win32/comctl32/theme_dialog.c | 10 +- reactos/dll/win32/comctl32/theme_edit.c | 2 +- reactos/dll/win32/comctl32/theme_listbox.c | 2 +- reactos/dll/win32/comctl32/theming.c | 2 +- reactos/dll/win32/comctl32/toolbar.c | 4 +- reactos/dll/win32/comctl32/tooltips.c | 14 +- reactos/dll/win32/comctl32/trackbar.c | 2 +- reactos/dll/win32/comctl32/treeview.c | 14 +- reactos/dll/win32/comctl32/updown.c | 2 +- 60 files changed, 2913 insertions(+), 2796 deletions(-) create mode 100644 reactos/dll/win32/comctl32/comctl_Tr.rc diff --git a/reactos/dll/win32/comctl32/animate.c b/reactos/dll/win32/comctl32/animate.c index 3c2c64825f9..b6309cddf7d 100644 --- a/reactos/dll/win32/comctl32/animate.c +++ b/reactos/dll/win32/comctl32/animate.c @@ -18,7 +18,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * NOTES * @@ -660,7 +660,7 @@ static BOOL ANIMATE_GetAviCodec(ANIMATE_INFO *infoPtr) return FALSE; if (fnIC.fnICSendMessage(infoPtr->hic, ICM_DECOMPRESS_GET_FORMAT, - (DWORD_PTR)infoPtr->inbih, (DWORD_PTR)infoPtr->outbih) != outSize) + (DWORD_PTR)infoPtr->inbih, (DWORD_PTR)infoPtr->outbih) != ICERR_OK) { WARN("Can't get output BIH\n"); return FALSE; diff --git a/reactos/dll/win32/comctl32/comboex.c b/reactos/dll/win32/comctl32/comboex.c index b2ed2ac69d8..1f29024d48f 100644 --- a/reactos/dll/win32/comctl32/comboex.c +++ b/reactos/dll/win32/comctl32/comboex.c @@ -17,7 +17,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * NOTE * diff --git a/reactos/dll/win32/comctl32/comctl32.h b/reactos/dll/win32/comctl32/comctl32.h index 8053accb36f..f6d233ff2fd 100644 --- a/reactos/dll/win32/comctl32/comctl32.h +++ b/reactos/dll/win32/comctl32/comctl32.h @@ -18,7 +18,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ #ifndef __WINE_COMCTL32_H @@ -145,10 +145,11 @@ VOID COMCTL32_RefreshSysColors(void); void COMCTL32_DrawInsertMark(HDC hDC, const RECT *lpRect, COLORREF clrInsertMark, BOOL bHorizontal); INT Str_GetPtrWtoA (LPCWSTR lpSrc, LPSTR lpDest, INT nMaxLen); BOOL Str_SetPtrAtoW (LPWSTR *lppDest, LPCSTR lpSrc); +BOOL Str_SetPtrWtoA (LPSTR *lppDest, LPCWSTR lpSrc); -#define COMCTL32_VERSION_MINOR 80 -#define WINE_FILEVERSION 5, COMCTL32_VERSION_MINOR, 0, 0 -#define WINE_FILEVERSIONSTR "5.80" +#define COMCTL32_VERSION_MINOR 81 +#define WINE_FILEVERSION 5, COMCTL32_VERSION_MINOR, 4704, 1100 +#define WINE_FILEVERSIONSTR "5.81" /* Our internal stack structure of the window procedures to subclass */ typedef struct _SUBCLASSPROCS { diff --git a/reactos/dll/win32/comctl32/comctl32.spec b/reactos/dll/win32/comctl32/comctl32.spec index 349db0b84aa..7f9c06f8d76 100644 --- a/reactos/dll/win32/comctl32/comctl32.spec +++ b/reactos/dll/win32/comctl32/comctl32.spec @@ -106,13 +106,13 @@ 412 stdcall -noname RemoveWindowSubclass(long ptr long) 413 stdcall -noname DefSubclassProc(long long long long) 414 stdcall -noname MirrorIcon(ptr ptr) -415 stdcall DrawTextWrap(long wstr long ptr long) user32.DrawTextW -416 stdcall DrawTextExPrivWrap(long wstr long ptr long ptr) user32.DrawTextExW -417 stdcall ExtTextOutWrap(long long long long ptr wstr long ptr) gdi32.ExtTextOutW -418 stdcall GetCharWidthWrap(long long long long) gdi32.GetCharWidthW -419 stdcall GetTextExtentPointWrap(long wstr long ptr) gdi32.GetTextExtentPointW -420 stdcall GetTextExtentPoint32Wrap(long wstr long ptr) gdi32.GetTextExtentPoint32W -421 stdcall TextOutWrap(long long long wstr long) gdi32.TextOutW +415 stdcall -noname DrawTextWrap(long wstr long ptr long) user32.DrawTextW +416 stdcall -noname DrawTextExPrivWrap(long wstr long ptr long ptr) user32.DrawTextExW +417 stdcall -noname ExtTextOutWrap(long long long long ptr wstr long ptr) gdi32.ExtTextOutW +418 stdcall -noname GetCharWidthWrap(long long long long) gdi32.GetCharWidthW +419 stdcall -noname GetTextExtentPointWrap(long wstr long ptr) gdi32.GetTextExtentPointW +420 stdcall -noname GetTextExtentPoint32Wrap(long wstr long ptr) gdi32.GetTextExtentPoint32W +421 stdcall -noname TextOutWrap(long long long wstr long) gdi32.TextOutW # Functions imported by name diff --git a/reactos/dll/win32/comctl32/comctl32undoc.c b/reactos/dll/win32/comctl32/comctl32undoc.c index aa79f8896b2..4a4d6fbd921 100644 --- a/reactos/dll/win32/comctl32/comctl32undoc.c +++ b/reactos/dll/win32/comctl32/comctl32undoc.c @@ -17,7 +17,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * NOTES * All of these functions are UNDOCUMENTED!! And I mean UNDOCUMENTED!!!! @@ -386,10 +386,8 @@ INT WINAPI FindMRUData (HANDLE hList, LPCVOID lpData, DWORD cbData, UINT i; LPSTR dataA = NULL; - if (!mp->extview.lpfnCompare) { - ERR("MRU list not properly created. No compare procedure.\n"); + if (!mp->extview.lpfnCompare) return -1; - } if(!(mp->extview.dwFlags & MRUF_BINARY_LIST) && !mp->isUnicode) { DWORD len = WideCharToMultiByte(CP_ACP, 0, lpData, -1, @@ -1109,6 +1107,46 @@ BOOL Str_SetPtrAtoW (LPWSTR *lppDest, LPCSTR lpSrc) return TRUE; } +/************************************************************************** + * Str_SetPtrWtoA [internal] + * + * Converts a unicode string to a multi byte string. + * If the pointer to the destination buffer is NULL a buffer is allocated. + * If the destination buffer is too small to keep the converted wide + * string the destination buffer is reallocated. If the source pointer is + * NULL, the destination buffer is freed. + * + * PARAMS + * lppDest [I/O] pointer to a pointer to the destination buffer + * lpSrc [I] pointer to a wide string + * + * RETURNS + * TRUE: conversion successful + * FALSE: error + */ +BOOL Str_SetPtrWtoA (LPSTR *lppDest, LPCWSTR lpSrc) +{ + TRACE("(%p %s)\n", lppDest, debugstr_w(lpSrc)); + + if (lpSrc) { + INT len = WideCharToMultiByte(CP_ACP,0,lpSrc,-1,NULL,0,NULL,FALSE); + LPSTR ptr = ReAlloc (*lppDest, len*sizeof(CHAR)); + + if (!ptr) + return FALSE; + WideCharToMultiByte(CP_ACP,0,lpSrc,-1,ptr,len,NULL,FALSE); + *lppDest = ptr; + } + else { + if (*lppDest) { + Free (*lppDest); + *lppDest = NULL; + } + } + + return TRUE; +} + /************************************************************************** * Notification functions diff --git a/reactos/dll/win32/comctl32/comctl_Bg.rc b/reactos/dll/win32/comctl32/comctl_Bg.rc index fefdb9db1ef..b14e7681b86 100644 --- a/reactos/dll/win32/comctl32/comctl_Bg.rc +++ b/reactos/dll/win32/comctl32/comctl_Bg.rc @@ -15,7 +15,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT diff --git a/reactos/dll/win32/comctl32/comctl_Cn.rc b/reactos/dll/win32/comctl32/comctl_Cn.rc index b25556d32bb..87741b44e6d 100644 --- a/reactos/dll/win32/comctl32/comctl_Cn.rc +++ b/reactos/dll/win32/comctl32/comctl_Cn.rc @@ -1,90 +1,90 @@ -/* - * Copyright 2002 Tisheng Chen - * - * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED -#pragma code_page(936) - -IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 -STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "属性 " -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "确定", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP - PUSHBUTTON "取消", IDCANCEL,58,122,50,14 - PUSHBUTTON "应用(&A)", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED - PUSHBUTTON "帮助", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP - CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 -END - - -IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "Wizard" -FONT 8, "MS Shell Dlg" -BEGIN - PUSHBUTTON "< 上一步(&B)", IDC_BACK_BUTTON,71,138,50,14 - DEFPUSHBUTTON "下一步(&N) >", IDC_NEXT_BUTTON,121,138,50,14 - DEFPUSHBUTTON "结束", IDC_FINISH_BUTTON,121,138,50,14 - PUSHBUTTON "取消", IDCANCEL,178,138,50,14 - PUSHBUTTON "帮助", IDHELP,235,138,50,14,WS_GROUP - LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN - CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 - LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE -END - - -IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "自定义工具栏" -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "关闭(&C)", IDCANCEL,308,6,44,14 - PUSHBUTTON "重置(&e)", IDC_RESET_BTN,308,23,44,14 - PUSHBUTTON "帮助(&H)", IDC_HELP_BTN,308,40,44,14 - PUSHBUTTON "上移(&U)", IDC_MOVEUP_BTN,308,74,44,14 - PUSHBUTTON "下移(&D)", IDC_MOVEDN_BTN,308,91,44,14 - LTEXT "可用工具栏按钮(&V):", -1,4,5,84,10 - LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP - PUSHBUTTON "添加(&A) ->", IDOK, 131, 42, 44, 14 - PUSHBUTTON "<- 删除(&R)", IDC_REMOVE_BTN,131,62,44,14 - LTEXT "当前工具栏按钮(&T):", -1,182,5,78,10 - LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP -END - -STRINGTABLE DISCARDABLE -{ - IDS_CLOSE "关闭" -} - -STRINGTABLE DISCARDABLE -{ - IDM_TODAY "Today:" - IDM_GOTODAY "Go to today" -} - -STRINGTABLE DISCARDABLE -{ - IDS_SEPARATOR "分隔符" -} - -STRINGTABLE DISCARDABLE -{ - HKY_NONE "None" -} - -#pragma code_page(default) +/* + * Copyright 2002 Tisheng Chen + * + * 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 + */ + +LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED +#pragma code_page(936) + +IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 +STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "属性 " +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "确定", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP + PUSHBUTTON "取消", IDCANCEL,58,122,50,14 + PUSHBUTTON "应用(&A)", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED + PUSHBUTTON "帮助", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP + CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 +END + + +IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "Wizard" +FONT 8, "MS Shell Dlg" +BEGIN + PUSHBUTTON "< 上一步(&B)", IDC_BACK_BUTTON,71,138,50,14 + DEFPUSHBUTTON "下一步(&N) >", IDC_NEXT_BUTTON,121,138,50,14 + DEFPUSHBUTTON "结束", IDC_FINISH_BUTTON,121,138,50,14 + PUSHBUTTON "取消", IDCANCEL,178,138,50,14 + PUSHBUTTON "帮助", IDHELP,235,138,50,14,WS_GROUP + LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN + CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 + LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE +END + + +IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "自定义工具栏" +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "关闭(&C)", IDCANCEL,308,6,44,14 + PUSHBUTTON "重置(&e)", IDC_RESET_BTN,308,23,44,14 + PUSHBUTTON "帮助(&H)", IDC_HELP_BTN,308,40,44,14 + PUSHBUTTON "上移(&U)", IDC_MOVEUP_BTN,308,74,44,14 + PUSHBUTTON "下移(&D)", IDC_MOVEDN_BTN,308,91,44,14 + LTEXT "可用工具栏按钮(&V):", -1,4,5,84,10 + LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "添加(&A) ->", IDOK, 131, 42, 44, 14 + PUSHBUTTON "<- 删除(&R)", IDC_REMOVE_BTN,131,62,44,14 + LTEXT "当前工具栏按钮(&T):", -1,182,5,78,10 + LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP +END + +STRINGTABLE DISCARDABLE +{ + IDS_CLOSE "关闭" +} + +STRINGTABLE DISCARDABLE +{ + IDM_TODAY "Today:" + IDM_GOTODAY "Go to today" +} + +STRINGTABLE DISCARDABLE +{ + IDS_SEPARATOR "分隔符" +} + +STRINGTABLE DISCARDABLE +{ + HKY_NONE "None" +} + +#pragma code_page(default) diff --git a/reactos/dll/win32/comctl32/comctl_Cs.rc b/reactos/dll/win32/comctl32/comctl_Cs.rc index 18eee5bde6e..bd693339fb2 100644 --- a/reactos/dll/win32/comctl32/comctl_Cs.rc +++ b/reactos/dll/win32/comctl32/comctl_Cs.rc @@ -1,90 +1,93 @@ -/* - * Copyright 1999 Eric Kohl - * - * Czech resources for comctl32 - * Copyright 2004 David Kredba - * - * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_CZECH, SUBLANG_DEFAULT - -IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 -STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "Vlastnosti " -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP - PUSHBUTTON "Storno", IDCANCEL,58,122,50,14 - PUSHBUTTON "&Pou卷t", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED - PUSHBUTTON "N醦ov靌a", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP - CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 -END - - -IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "Pr鵹odce" -FONT 8, "MS Shell Dlg" -BEGIN - PUSHBUTTON "< &Zp靦", IDC_BACK_BUTTON,71,138,50,14 - DEFPUSHBUTTON "&Dal鬼 >", IDC_NEXT_BUTTON,121,138,50,14 - DEFPUSHBUTTON "Dokon鑙t", IDC_FINISH_BUTTON,121,138,50,14 - PUSHBUTTON "Storno", IDCANCEL,178,138,50,14 - PUSHBUTTON "N醦ov靌a", IDHELP,235,138,50,14,WS_GROUP - LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN - CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 - LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE -END - - -IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Nastaven panelu" -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "&Zavt", IDCANCEL,308,6,44,14 - PUSHBUTTON "&V齝hoz", IDC_RESET_BTN,308,23,44,14 - PUSHBUTTON "&N醦ov靌a", IDC_HELP_BTN,308,40,44,14 - PUSHBUTTON "Nahor&u", IDC_MOVEUP_BTN,308,74,44,14 - PUSHBUTTON "&Dol", IDC_MOVEDN_BTN,308,91,44,14 - LTEXT "D&ostupn tla桧tka:", -1,4,5,84,10 - LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP - PUSHBUTTON "P鴌d&at ->", IDOK, 131, 42, 44, 14 - PUSHBUTTON "<- Odeb&rat", IDC_REMOVE_BTN,131,62,44,14 - LTEXT "&Tla桧tka panelu:", -1,182,5,78,10 - LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP -END - -STRINGTABLE DISCARDABLE -{ - IDS_CLOSE "Zavt" -} - -STRINGTABLE DISCARDABLE -{ - IDM_TODAY "Dnes:" - IDM_GOTODAY "Jdi na dne筫k" -} - -STRINGTABLE DISCARDABLE -{ - IDS_SEPARATOR "Odd靗ova" -} - -STRINGTABLE DISCARDABLE -{ - HKY_NONE "dn" -} +/* Hey, Emacs, open this file with -*- coding: cp1250 -*- + * + * Copyright 1999 Eric Kohl + * + * Czech resources for comctl32 + * Copyright 2004 David Kredba + * + * 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 + */ + +LANGUAGE LANG_CZECH, SUBLANG_DEFAULT + +/* Czech strings in CP1250 */ + +IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 +STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "Vlastnosti " +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP + PUSHBUTTON "Storno", IDCANCEL,58,122,50,14 + PUSHBUTTON "&Pou烅t", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED + PUSHBUTTON "N醦ov靌a", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP + CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 +END + + +IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "Pr鵹odce" +FONT 8, "MS Shell Dlg" +BEGIN + PUSHBUTTON "< &Zp靦", IDC_BACK_BUTTON,71,138,50,14 + DEFPUSHBUTTON "&Dal氻 >", IDC_NEXT_BUTTON,121,138,50,14 + DEFPUSHBUTTON "Dokon鑙t", IDC_FINISH_BUTTON,121,138,50,14 + PUSHBUTTON "Storno", IDCANCEL,178,138,50,14 + PUSHBUTTON "N醦ov靌a", IDHELP,235,138,50,14,WS_GROUP + LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN + CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 + LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE +END + + +IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Nastaven panelu" +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "&Zavt", IDCANCEL,308,6,44,14 + PUSHBUTTON "&V齝hoz", IDC_RESET_BTN,308,23,44,14 + PUSHBUTTON "&N醦ov靌a", IDC_HELP_BTN,308,40,44,14 + PUSHBUTTON "Nahor&u", IDC_MOVEUP_BTN,308,74,44,14 + PUSHBUTTON "&Dol", IDC_MOVEDN_BTN,308,91,44,14 + LTEXT "D&ostupn tla桧tka:", -1,4,5,84,10 + LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "P鴌d&at ->", IDOK, 131, 42, 44, 14 + PUSHBUTTON "<- Odeb&rat", IDC_REMOVE_BTN,131,62,44,14 + LTEXT "&Tla桧tka panelu:", -1,182,5,78,10 + LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP +END + +STRINGTABLE DISCARDABLE +{ + IDS_CLOSE "Zavt" +} + +STRINGTABLE DISCARDABLE +{ + IDM_TODAY "Dnes:" + IDM_GOTODAY "Jdi na dne歟k" +} + +STRINGTABLE DISCARDABLE +{ + IDS_SEPARATOR "Odd靗ova" +} + +STRINGTABLE DISCARDABLE +{ + HKY_NONE "庒dn" +} diff --git a/reactos/dll/win32/comctl32/comctl_De.rc b/reactos/dll/win32/comctl32/comctl_De.rc index 82a132ad5d6..aad08482aff 100644 --- a/reactos/dll/win32/comctl32/comctl_De.rc +++ b/reactos/dll/win32/comctl32/comctl_De.rc @@ -1,87 +1,87 @@ -/* - * Copyright 2000 Uwe Bonnes - * - * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_GERMAN, SUBLANG_DEFAULT - -STRINGTABLE DISCARDABLE -{ - IDS_CLOSE "Schlie遝n" -} - -STRINGTABLE DISCARDABLE -{ - IDM_TODAY "Heute:" - IDM_GOTODAY "Gehe zu Heute" -} - -STRINGTABLE DISCARDABLE -{ - IDS_SEPARATOR "Trennzeichen" -} - -STRINGTABLE DISCARDABLE -{ - HKY_NONE "Keiner" -} - -IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 -STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "Eigenschaften f黵 " -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "&OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP - PUSHBUTTON "A&bbrechen", IDCANCEL,58,122,50,14 - PUSHBUTTON "&Anwenden", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED - PUSHBUTTON "&Hilfe", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP - CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 -END - - -IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "Wizard" -FONT 8, "MS Shell Dlg" -BEGIN - PUSHBUTTON "< &Zur點k", IDC_BACK_BUTTON,71,138,50,14 - DEFPUSHBUTTON "&Weiter >", IDC_NEXT_BUTTON,121,138,50,14 - DEFPUSHBUTTON "&Beenden", IDC_FINISH_BUTTON,121,138,50,14 - PUSHBUTTON "Abbrechen", IDCANCEL,178,138,50,14 - PUSHBUTTON "&Hilfe", IDHELP,235,138,50,14,WS_GROUP - LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN - CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 - LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE -END - - -IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Toolbar einrichten" -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "&Schlie遝n", IDCANCEL,308,6,44,14 - PUSHBUTTON "&Zur點ksetzen", IDC_RESET_BTN,308,23,44,14 - PUSHBUTTON "&Hilfe", IDC_HELP_BTN,308,40,44,14 - PUSHBUTTON "Nach &Oben verschieben", IDC_MOVEUP_BTN,308,74,44,14 - PUSHBUTTON "Nach &Unten verschieben", IDC_MOVEDN_BTN,308,91,44,14 - LTEXT "&Vorhandene Kn鰌fe:", -1,4,5,84,10 - LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP - PUSHBUTTON "H&inzuf黦en ->", IDOK, 131, 42, 44, 14 - PUSHBUTTON "<- &L鰏chen", IDC_REMOVE_BTN,131,62,44,14 - LTEXT "&Toolbarkn鰌fe:", -1,182,5,78,10 - LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP -END +/* + * Copyright 2000 Uwe Bonnes + * + * 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 + */ + +LANGUAGE LANG_GERMAN, SUBLANG_DEFAULT + +STRINGTABLE DISCARDABLE +{ + IDS_CLOSE "Schlie遝n" +} + +STRINGTABLE DISCARDABLE +{ + IDM_TODAY "Heute:" + IDM_GOTODAY "Gehe zu Heute" +} + +STRINGTABLE DISCARDABLE +{ + IDS_SEPARATOR "Trennzeichen" +} + +STRINGTABLE DISCARDABLE +{ + HKY_NONE "Keiner" +} + +IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 +STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "Eigenschaften f黵 " +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "&OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP + PUSHBUTTON "A&bbrechen", IDCANCEL,58,122,50,14 + PUSHBUTTON "&Anwenden", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED + PUSHBUTTON "&Hilfe", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP + CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 +END + + +IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "Wizard" +FONT 8, "MS Shell Dlg" +BEGIN + PUSHBUTTON "< &Zur點k", IDC_BACK_BUTTON,71,138,50,14 + DEFPUSHBUTTON "&Weiter >", IDC_NEXT_BUTTON,121,138,50,14 + DEFPUSHBUTTON "&Beenden", IDC_FINISH_BUTTON,121,138,50,14 + PUSHBUTTON "Abbrechen", IDCANCEL,178,138,50,14 + PUSHBUTTON "&Hilfe", IDHELP,235,138,50,14,WS_GROUP + LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN + CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 + LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE +END + + +IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Toolbar einrichten" +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "&Schlie遝n", IDCANCEL,308,6,44,14 + PUSHBUTTON "&Zur點ksetzen", IDC_RESET_BTN,308,23,44,14 + PUSHBUTTON "&Hilfe", IDC_HELP_BTN,308,40,44,14 + PUSHBUTTON "Nach &Oben verschieben", IDC_MOVEUP_BTN,308,74,44,14 + PUSHBUTTON "Nach &Unten verschieben", IDC_MOVEDN_BTN,308,91,44,14 + LTEXT "&Vorhandene Kn鰌fe:", -1,4,5,84,10 + LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "H&inzuf黦en ->", IDOK, 131, 42, 44, 14 + PUSHBUTTON "<- &L鰏chen", IDC_REMOVE_BTN,131,62,44,14 + LTEXT "&Toolbarkn鰌fe:", -1,182,5,78,10 + LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP +END diff --git a/reactos/dll/win32/comctl32/comctl_En.rc b/reactos/dll/win32/comctl32/comctl_En.rc index 199e82224d2..1e5bc147abd 100644 --- a/reactos/dll/win32/comctl32/comctl_En.rc +++ b/reactos/dll/win32/comctl32/comctl_En.rc @@ -1,87 +1,87 @@ -/* - * Copyright 1999 Eric Kohl - * - * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT - -IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 -STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "Properties for " -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP - PUSHBUTTON "Cancel", IDCANCEL,58,122,50,14 - PUSHBUTTON "&Apply", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED - PUSHBUTTON "Help", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP - CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 -END - - -IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "Wizard" -FONT 8, "MS Shell Dlg" -BEGIN - PUSHBUTTON "< &Back", IDC_BACK_BUTTON,71,138,50,14 - DEFPUSHBUTTON "&Next >", IDC_NEXT_BUTTON,121,138,50,14 - DEFPUSHBUTTON "Finish", IDC_FINISH_BUTTON,121,138,50,14 - PUSHBUTTON "Cancel", IDCANCEL,178,138,50,14 - PUSHBUTTON "Help", IDHELP,235,138,50,14,WS_GROUP - LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN - CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 - LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE -END - - -IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Customize Toolbar" -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "&Close", IDCANCEL,308,6,44,14 - PUSHBUTTON "R&eset", IDC_RESET_BTN,308,23,44,14 - PUSHBUTTON "&Help", IDC_HELP_BTN,308,40,44,14 - PUSHBUTTON "Move &Up", IDC_MOVEUP_BTN,308,74,44,14 - PUSHBUTTON "Move &Down", IDC_MOVEDN_BTN,308,91,44,14 - LTEXT "A&vailable buttons:", -1,4,5,84,10 - LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP - PUSHBUTTON "&Add ->", IDOK, 131, 42, 44, 14 - PUSHBUTTON "<- &Remove", IDC_REMOVE_BTN,131,62,44,14 - LTEXT "&Toolbar buttons:", -1,182,5,78,10 - LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP -END - -STRINGTABLE DISCARDABLE -{ - IDS_CLOSE "Close" -} - -STRINGTABLE DISCARDABLE -{ - IDM_TODAY "Today:" - IDM_GOTODAY "Go to today" -} - -STRINGTABLE DISCARDABLE -{ - IDS_SEPARATOR "Separator" -} - -STRINGTABLE DISCARDABLE -{ - HKY_NONE "None" -} +/* + * Copyright 1999 Eric Kohl + * + * 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 + */ + +LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT + +IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 +STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "Properties for " +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP + PUSHBUTTON "Cancel", IDCANCEL,58,122,50,14 + PUSHBUTTON "&Apply", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED + PUSHBUTTON "Help", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP + CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 +END + + +IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "Wizard" +FONT 8, "MS Shell Dlg" +BEGIN + PUSHBUTTON "< &Back", IDC_BACK_BUTTON,71,138,50,14 + DEFPUSHBUTTON "&Next >", IDC_NEXT_BUTTON,121,138,50,14 + DEFPUSHBUTTON "Finish", IDC_FINISH_BUTTON,121,138,50,14 + PUSHBUTTON "Cancel", IDCANCEL,178,138,50,14 + PUSHBUTTON "Help", IDHELP,235,138,50,14,WS_GROUP + LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN + CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 + LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE +END + + +IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Customize Toolbar" +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "&Close", IDCANCEL,308,6,44,14 + PUSHBUTTON "R&eset", IDC_RESET_BTN,308,23,44,14 + PUSHBUTTON "&Help", IDC_HELP_BTN,308,40,44,14 + PUSHBUTTON "Move &Up", IDC_MOVEUP_BTN,308,74,44,14 + PUSHBUTTON "Move &Down", IDC_MOVEDN_BTN,308,91,44,14 + LTEXT "A&vailable buttons:", -1,4,5,84,10 + LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "&Add ->", IDOK, 131, 42, 44, 14 + PUSHBUTTON "<- &Remove", IDC_REMOVE_BTN,131,62,44,14 + LTEXT "&Toolbar buttons:", -1,182,5,78,10 + LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP +END + +STRINGTABLE DISCARDABLE +{ + IDS_CLOSE "Close" +} + +STRINGTABLE DISCARDABLE +{ + IDM_TODAY "Today:" + IDM_GOTODAY "Go to today" +} + +STRINGTABLE DISCARDABLE +{ + IDS_SEPARATOR "Separator" +} + +STRINGTABLE DISCARDABLE +{ + HKY_NONE "None" +} diff --git a/reactos/dll/win32/comctl32/comctl_Es.rc b/reactos/dll/win32/comctl32/comctl_Es.rc index 032c2c74151..1b1adbc888e 100644 --- a/reactos/dll/win32/comctl32/comctl_Es.rc +++ b/reactos/dll/win32/comctl32/comctl_Es.rc @@ -1,87 +1,87 @@ -/* - * Copyright 2003 Jos Manuel Ferrer Ortiz - * - * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL - -IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 -STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "Propiedades de " -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "Aceptar", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP - PUSHBUTTON "Cancelar", IDCANCEL,58,122,50,14 - PUSHBUTTON "&Aplicar", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED - PUSHBUTTON "Ayuda", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP - CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 -END - - -IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "Ayudante" -FONT 8, "MS Shell Dlg" -BEGIN - PUSHBUTTON "< &Anterior", IDC_BACK_BUTTON,71,138,50,14 - DEFPUSHBUTTON "&Siguiente >", IDC_NEXT_BUTTON,121,138,50,14 - DEFPUSHBUTTON "Terminar", IDC_FINISH_BUTTON,121,138,50,14 - PUSHBUTTON "Cancelar", IDCANCEL,178,138,50,14 - PUSHBUTTON "Ayuda", IDHELP,235,138,50,14,WS_GROUP - LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN - CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 - LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE -END - - -IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Personalizar barra de herramientas" -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "&Cerrar", IDCANCEL,308,6,44,14 - PUSHBUTTON "R&estaurar", IDC_RESET_BTN,308,23,44,14 - PUSHBUTTON "&Ayuda", IDC_HELP_BTN,308,40,44,14 - PUSHBUTTON "Mover A&rriba", IDC_MOVEUP_BTN,308,74,44,14 - PUSHBUTTON "Mover A&bajo", IDC_MOVEDN_BTN,308,91,44,14 - LTEXT "Botones &disponibles:", -1,4,5,84,10 - LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP - PUSHBUTTON "A&馻dir ->", IDOK, 131, 42, 44, 14 - PUSHBUTTON "<- &Eliminar", IDC_REMOVE_BTN,131,62,44,14 - LTEXT "B&otones de la barra:", -1,182,5,78,10 - LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP -END - -STRINGTABLE DISCARDABLE -{ - IDS_CLOSE "Cerrar" -} - -STRINGTABLE DISCARDABLE -{ - IDM_TODAY "Hoy:" - IDM_GOTODAY "Ir a hoy" -} - -STRINGTABLE DISCARDABLE -{ - IDS_SEPARATOR "Separador" -} - -STRINGTABLE DISCARDABLE -{ - HKY_NONE "Ninguno" -} +/* + * Copyright 2003 Jos Manuel Ferrer Ortiz + * + * 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 + */ + +LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL + +IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 +STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "Propiedades de " +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "Aceptar", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP + PUSHBUTTON "Cancelar", IDCANCEL,58,122,50,14 + PUSHBUTTON "&Aplicar", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED + PUSHBUTTON "Ayuda", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP + CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 +END + + +IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "Ayudante" +FONT 8, "MS Shell Dlg" +BEGIN + PUSHBUTTON "< &Anterior", IDC_BACK_BUTTON,71,138,50,14 + DEFPUSHBUTTON "&Siguiente >", IDC_NEXT_BUTTON,121,138,50,14 + DEFPUSHBUTTON "Terminar", IDC_FINISH_BUTTON,121,138,50,14 + PUSHBUTTON "Cancelar", IDCANCEL,178,138,50,14 + PUSHBUTTON "Ayuda", IDHELP,235,138,50,14,WS_GROUP + LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN + CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 + LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE +END + + +IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Personalizar barra de herramientas" +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "&Cerrar", IDCANCEL,308,6,44,14 + PUSHBUTTON "R&estaurar", IDC_RESET_BTN,308,23,44,14 + PUSHBUTTON "&Ayuda", IDC_HELP_BTN,308,40,44,14 + PUSHBUTTON "Mover A&rriba", IDC_MOVEUP_BTN,308,74,44,14 + PUSHBUTTON "Mover A&bajo", IDC_MOVEDN_BTN,308,91,44,14 + LTEXT "Botones &disponibles:", -1,4,5,84,10 + LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "A&馻dir ->", IDOK, 131, 42, 44, 14 + PUSHBUTTON "<- &Eliminar", IDC_REMOVE_BTN,131,62,44,14 + LTEXT "B&otones de la barra:", -1,182,5,78,10 + LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP +END + +STRINGTABLE DISCARDABLE +{ + IDS_CLOSE "Cerrar" +} + +STRINGTABLE DISCARDABLE +{ + IDM_TODAY "Hoy:" + IDM_GOTODAY "Ir a hoy" +} + +STRINGTABLE DISCARDABLE +{ + IDS_SEPARATOR "Separador" +} + +STRINGTABLE DISCARDABLE +{ + HKY_NONE "Ninguno" +} diff --git a/reactos/dll/win32/comctl32/comctl_Fr.rc b/reactos/dll/win32/comctl32/comctl_Fr.rc index dc2aea54213..03626632709 100644 --- a/reactos/dll/win32/comctl32/comctl_Fr.rc +++ b/reactos/dll/win32/comctl32/comctl_Fr.rc @@ -1,91 +1,91 @@ -/* - * Comctl32 - * French language support - * - * Copyright 1999 Eric Kohl - * Copyright 2003 Vincent B閞on - * - * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL - -IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 -STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "Propri閠閟 pour " -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP - PUSHBUTTON "Annuler", IDCANCEL,58,122,50,14 - PUSHBUTTON "&Appliquer", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED - PUSHBUTTON "Aide", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP - CONTROL "onglet", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 -END - - -IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "Assistant" -FONT 8, "MS Shell Dlg" -BEGIN - PUSHBUTTON "< &Pr閏閐ent", IDC_BACK_BUTTON,71,138,50,14 - DEFPUSHBUTTON "&Suivant >", IDC_NEXT_BUTTON,121,138,50,14 - DEFPUSHBUTTON "Terminer", IDC_FINISH_BUTTON,121,138,50,14 - PUSHBUTTON "Annuler", IDCANCEL,178,138,50,14 - PUSHBUTTON "Aide", IDHELP,235,138,50,14,WS_GROUP - LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN - CONTROL "Onglet", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 - LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE -END - - -IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Personnaliser la barre d'outils" -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "&Fermer", IDCANCEL,308,6,44,14 - PUSHBUTTON "&R閕nitialiser", IDC_RESET_BTN,308,23,44,14 - PUSHBUTTON "&Aide", IDC_HELP_BTN,308,40,44,14 - PUSHBUTTON "&Monter", IDC_MOVEUP_BTN,308,74,44,14 - PUSHBUTTON "&Descendre", IDC_MOVEDN_BTN,308,91,44,14 - LTEXT "Boutons disponibles :", -1,4,5,84,10 - LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP - PUSHBUTTON "A&jouter ->", IDOK, 131, 42, 44, 14 - PUSHBUTTON "<- &Enlever", IDC_REMOVE_BTN,131,62,44,14 - LTEXT "&Boutons de la barre d'outils :", -1,182,5,78,10 - LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP -END - -STRINGTABLE DISCARDABLE -{ - IDS_CLOSE "Fermer" -} - -STRINGTABLE DISCARDABLE -{ - IDM_TODAY "Aujourd'hui:" - IDM_GOTODAY "Aller aujourd'hui" -} - -STRINGTABLE DISCARDABLE -{ - IDS_SEPARATOR "S閜arateur" -} - -STRINGTABLE DISCARDABLE -{ - HKY_NONE "Aucun" -} +/* + * Comctl32 + * French language support + * + * Copyright 1999 Eric Kohl + * Copyright 2003 Vincent B閞on + * + * 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 + */ + +LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL + +IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 +STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "Propri閠閟 pour " +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP + PUSHBUTTON "Annuler", IDCANCEL,58,122,50,14 + PUSHBUTTON "&Appliquer", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED + PUSHBUTTON "Aide", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP + CONTROL "onglet", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 +END + + +IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "Assistant" +FONT 8, "MS Shell Dlg" +BEGIN + PUSHBUTTON "< &Pr閏閐ent", IDC_BACK_BUTTON,71,138,50,14 + DEFPUSHBUTTON "&Suivant >", IDC_NEXT_BUTTON,121,138,50,14 + DEFPUSHBUTTON "Terminer", IDC_FINISH_BUTTON,121,138,50,14 + PUSHBUTTON "Annuler", IDCANCEL,178,138,50,14 + PUSHBUTTON "Aide", IDHELP,235,138,50,14,WS_GROUP + LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN + CONTROL "Onglet", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 + LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE +END + + +IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Personnaliser la barre d'outils" +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "&Fermer", IDCANCEL,308,6,44,14 + PUSHBUTTON "&R閕nitialiser", IDC_RESET_BTN,308,23,44,14 + PUSHBUTTON "Aid&e", IDC_HELP_BTN,308,40,44,14 + PUSHBUTTON "&Monter", IDC_MOVEUP_BTN,308,74,44,14 + PUSHBUTTON "&Descendre", IDC_MOVEDN_BTN,308,91,44,14 + LTEXT "Boutons disponibles :", -1,4,5,84,10 + LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "A&jouter ->", IDOK, 131, 42, 44, 14 + PUSHBUTTON "<- E&nlever", IDC_REMOVE_BTN,131,62,44,14 + LTEXT "&Boutons de la barre d'outils :", -1,182,5,78,10 + LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP +END + +STRINGTABLE DISCARDABLE +{ + IDS_CLOSE "Fermer" +} + +STRINGTABLE DISCARDABLE +{ + IDM_TODAY "Aujourd'hui:" + IDM_GOTODAY "Aller aujourd'hui" +} + +STRINGTABLE DISCARDABLE +{ + IDS_SEPARATOR "S閜arateur" +} + +STRINGTABLE DISCARDABLE +{ + HKY_NONE "Aucun" +} diff --git a/reactos/dll/win32/comctl32/comctl_Hu.rc b/reactos/dll/win32/comctl32/comctl_Hu.rc index 14035618aa9..acf06ee328e 100644 --- a/reactos/dll/win32/comctl32/comctl_Hu.rc +++ b/reactos/dll/win32/comctl32/comctl_Hu.rc @@ -1,90 +1,87 @@ -/* - * Hungarian resources for comctl32 - * - * Copyright 1999 Eric Kohl - * Copyright 2005 Robert Horvath - Hungarian translation - talley at cubeclub.hu - * - * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_HUNGARIAN, SUBLANG_NEUTRAL - -IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 -STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "Be醠l韙醩ok " -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP - PUSHBUTTON "M間se", IDCANCEL,58,122,50,14 - PUSHBUTTON "&Alkalmaz", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED - PUSHBUTTON "&S鷊", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP - CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 -END - - -IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "Telep韙" -FONT 8, "MS Shell Dlg" -BEGIN - PUSHBUTTON "< &Vissza", IDC_BACK_BUTTON,71,138,50,14 - DEFPUSHBUTTON "&Tov醔b >", IDC_NEXT_BUTTON,121,138,50,14 - DEFPUSHBUTTON "Befejez閟", IDC_FINISH_BUTTON,121,138,50,14 - PUSHBUTTON "M間se", IDCANCEL,178,138,50,14 - PUSHBUTTON "S鷊", IDHELP,235,138,50,14,WS_GROUP - LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN - CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 - LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE -END - - -IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Eszk鰖t醨 testreszab醩a" -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "&Bez醨", IDCANCEL,308,6,44,14 - PUSHBUTTON "V&issza醠l韙", IDC_RESET_BTN,308,23,44,14 - PUSHBUTTON "&S鷊", IDC_HELP_BTN,308,40,44,14 - PUSHBUTTON "&Fel", IDC_MOVEUP_BTN,308,74,44,14 - PUSHBUTTON "&Le", IDC_MOVEDN_BTN,308,91,44,14 - LTEXT "&El閞het gombok:", -1,4,5,84,10 - LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP - PUSHBUTTON "&Hozz醓d ->", IDOK, 131, 42, 44, 14 - PUSHBUTTON "<- &T鰎鰈", IDC_REMOVE_BTN,131,62,44,14 - LTEXT "Eszk鰖&t醨 gombjai:", -1,182,5,78,10 - LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP -END - -STRINGTABLE DISCARDABLE -{ - IDS_CLOSE "Bez醨" -} - -STRINGTABLE DISCARDABLE -{ - IDM_TODAY "Ma:" - IDM_GOTODAY "Mai nap" -} - -STRINGTABLE DISCARDABLE -{ - IDS_SEPARATOR "Separator" -} - -STRINGTABLE DISCARDABLE -{ - HKY_NONE "Ismeretlen" -} +/* + * Copyright 2006 Andras Kovacs + * + * 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 + */ + +LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT + +IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 +STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "Tulajdons醙ok: " +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP + PUSHBUTTON "M間se", IDCANCEL,58,122,50,14 + PUSHBUTTON "&Alkalmaz醩", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED + PUSHBUTTON "S鷊", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP + CONTROL "F黮", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 +END + + +IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "Var醶sl" +FONT 8, "MS Shell Dlg" +BEGIN + PUSHBUTTON "< &El鮶", IDC_BACK_BUTTON,71,138,50,14 + DEFPUSHBUTTON "&K鰒etkez >", IDC_NEXT_BUTTON,121,138,50,14 + DEFPUSHBUTTON "K閟z", IDC_FINISH_BUTTON,121,138,50,14 + PUSHBUTTON "M間se", IDCANCEL,178,138,50,14 + PUSHBUTTON "S鷊", IDHELP,235,138,50,14,WS_GROUP + LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN + CONTROL "F黮", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 + LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE +END + + +IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Eszk鰖t醨 testreszab醩a" +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "&Bez醨醩", IDCANCEL,308,6,44,14 + PUSHBUTTON "Alaph&elyzet", IDC_RESET_BTN,308,23,44,14 + PUSHBUTTON "&S鷊", IDC_HELP_BTN,308,40,44,14 + PUSHBUTTON "&Fel", IDC_MOVEUP_BTN,308,74,44,14 + PUSHBUTTON "&Le", IDC_MOVEDN_BTN,308,91,44,14 + LTEXT "El&閞het gombok:", -1,4,5,84,10 + LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "&Hozz醓d ->", IDOK, 131, 42, 44, 14 + PUSHBUTTON "<- El&vesz", IDC_REMOVE_BTN,131,62,44,14 + LTEXT "E&szk鰖t醨 gombok:", -1,182,5,78,10 + LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP +END + +STRINGTABLE DISCARDABLE +{ + IDS_CLOSE "Bez醨醩" +} + +STRINGTABLE DISCARDABLE +{ + IDM_TODAY "Ma:" + IDM_GOTODAY "Ugr醩 m醨a" +} + +STRINGTABLE DISCARDABLE +{ + IDS_SEPARATOR "Elv醠aszt" +} + +STRINGTABLE DISCARDABLE +{ + HKY_NONE "Nincs" +} diff --git a/reactos/dll/win32/comctl32/comctl_It.rc b/reactos/dll/win32/comctl32/comctl_It.rc index 8c4a880b8e3..20609dc2b7e 100644 --- a/reactos/dll/win32/comctl32/comctl_It.rc +++ b/reactos/dll/win32/comctl32/comctl_It.rc @@ -1,88 +1,88 @@ -/* - * Copyright 1999 Eric Kohl - * Copyright 2003 Ivan Leo Puoti - * - * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_ITALIAN, SUBLANG_DEFAULT - -IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 -STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "Propriet per " -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP - PUSHBUTTON "Annulla", IDCANCEL,58,122,50,14 - PUSHBUTTON "&Applica", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED - PUSHBUTTON "Aiuto", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP - CONTROL "Linguetta", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 -END - - -IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "Wizard" -FONT 8, "MS Shell Dlg" -BEGIN - PUSHBUTTON "< &Indietro", IDC_BACK_BUTTON,71,138,50,14 - DEFPUSHBUTTON "&Avanti >", IDC_NEXT_BUTTON,121,138,50,14 - DEFPUSHBUTTON "Fine", IDC_FINISH_BUTTON,121,138,50,14 - PUSHBUTTON "Anulla", IDCANCEL,178,138,50,14 - PUSHBUTTON "Aiuto", IDHELP,235,138,50,14,WS_GROUP - LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN - CONTROL "Linguetta", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 - LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE -END - - -IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Personalitta la barra degli strumenti" -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "&Chiudi", IDCANCEL,308,6,44,14 - PUSHBUTTON "R&eimpostare", IDC_RESET_BTN,308,23,44,14 - PUSHBUTTON "&Aiuto", IDC_HELP_BTN,308,40,44,14 - PUSHBUTTON "Muovi &Su", IDC_MOVEUP_BTN,308,74,44,14 - PUSHBUTTON "Muovi &gi", IDC_MOVEDN_BTN,308,91,44,14 - LTEXT "&Tasti disponibili:", -1,4,5,84,10 - LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP - PUSHBUTTON "&Aggiungi ->", IDOK, 131, 42, 44, 14 - PUSHBUTTON "<- &Rimuovi", IDC_REMOVE_BTN,131,62,44,14 - LTEXT "&Tast della barra degli strumenti:", -1,182,5,78,10 - LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP -END - -STRINGTABLE DISCARDABLE -{ - IDS_CLOSE "Chiudi" -} - -STRINGTABLE DISCARDABLE -{ - IDM_TODAY "Oggi:" - IDM_GOTODAY "Vai a oggi" -} - -STRINGTABLE DISCARDABLE -{ - IDS_SEPARATOR "Separatore" -} - -STRINGTABLE DISCARDABLE -{ - HKY_NONE "Nessuno" -} +/* + * Copyright 1999 Eric Kohl + * Copyright 2003 Ivan Leo Puoti + * + * 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 + */ + +LANGUAGE LANG_ITALIAN, SUBLANG_DEFAULT + +IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 +STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "Propriet per " +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP + PUSHBUTTON "Annulla", IDCANCEL,58,122,50,14 + PUSHBUTTON "&Applica", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED + PUSHBUTTON "Aiuto", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP + CONTROL "Linguetta", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 +END + + +IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "Procedura guidata" +FONT 8, "MS Shell Dlg" +BEGIN + PUSHBUTTON "< &Indietro", IDC_BACK_BUTTON,71,138,50,14 + DEFPUSHBUTTON "&Avanti >", IDC_NEXT_BUTTON,121,138,50,14 + DEFPUSHBUTTON "Fine", IDC_FINISH_BUTTON,121,138,50,14 + PUSHBUTTON "Annulla", IDCANCEL,178,138,50,14 + PUSHBUTTON "Aiuto", IDHELP,235,138,50,14,WS_GROUP + LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN + CONTROL "Linguetta", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 + LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE +END + + +IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Personalizza la barra degli strumenti" +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "&Chiudi", IDCANCEL,308,6,44,14 + PUSHBUTTON "R&eimpostare", IDC_RESET_BTN,308,23,44,14 + PUSHBUTTON "&Aiuto", IDC_HELP_BTN,308,40,44,14 + PUSHBUTTON "Muovi &Su", IDC_MOVEUP_BTN,308,74,44,14 + PUSHBUTTON "Muovi &Gi", IDC_MOVEDN_BTN,308,91,44,14 + LTEXT "&Tasti disponibili:", -1,4,5,84,10 + LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "&Aggiungi ->", IDOK, 131, 42, 44, 14 + PUSHBUTTON "<- &Rimuovi", IDC_REMOVE_BTN,131,62,44,14 + LTEXT "&Tasti della barra degli strumenti:", -1,182,5,78,10 + LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP +END + +STRINGTABLE DISCARDABLE +{ + IDS_CLOSE "Chiudi" +} + +STRINGTABLE DISCARDABLE +{ + IDM_TODAY "Oggi:" + IDM_GOTODAY "Vai a oggi" +} + +STRINGTABLE DISCARDABLE +{ + IDS_SEPARATOR "Separatore" +} + +STRINGTABLE DISCARDABLE +{ + HKY_NONE "Nessuno" +} diff --git a/reactos/dll/win32/comctl32/comctl_Ja.rc b/reactos/dll/win32/comctl32/comctl_Ja.rc index 4a072baa994..8ff8c58002c 100644 --- a/reactos/dll/win32/comctl32/comctl_Ja.rc +++ b/reactos/dll/win32/comctl32/comctl_Ja.rc @@ -1,87 +1,87 @@ -/* - * Copyright 2003 Hajime Segawa - * - * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_JAPANESE, SUBLANG_NEUTRAL - -IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 -STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "Properties for " -FONT 9, "MS UI Gothic" -BEGIN - DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP - PUSHBUTTON "僉儍儞僙儖", IDCANCEL,58,122,50,14 - PUSHBUTTON "揔梡(&A)", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED - PUSHBUTTON "僿儖僾", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP - CONTROL "僞僽", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 -END - - -IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "僂傿僓乕僪" -FONT 9, "MS UI Gothic" -BEGIN - PUSHBUTTON "< 栠傞(&B)", IDC_BACK_BUTTON,71,138,50,14 - DEFPUSHBUTTON "恑傓(&N) >", IDC_NEXT_BUTTON,121,138,50,14 - DEFPUSHBUTTON "姰椆", IDC_FINISH_BUTTON,121,138,50,14 - PUSHBUTTON "僉儍儞僙儖", IDCANCEL,178,138,50,14 - PUSHBUTTON "僿儖僾", IDHELP,235,138,50,14,WS_GROUP - LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN - CONTROL "僞僽", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 - LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE -END - - -IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "僣乕儖 僶乕偺僇僗僞儅僀僘" -FONT 9, "MS UI Gothic" -BEGIN - DEFPUSHBUTTON "暵偠傞(&C)", IDCANCEL,308,6,44,14 - PUSHBUTTON "儕僙僢僩(&E)", IDC_RESET_BTN,308,23,44,14 - PUSHBUTTON "僿儖僾(&H)", IDC_HELP_BTN,308,40,44,14 - PUSHBUTTON "忋傊 (&U)", IDC_MOVEUP_BTN,308,74,44,14 - PUSHBUTTON "壓傊 (&D)", IDC_MOVEDN_BTN,308,91,44,14 - LTEXT "巊梡偱偒傞儃僞儞(&V):", -1,4,5,84,10 - LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP - PUSHBUTTON "捛壛(&A) ->", IDOK, 131, 42, 44, 14 - PUSHBUTTON "<- 嶍彍(&R)", IDC_REMOVE_BTN,131,62,44,14 - LTEXT "僣乕儖 僶乕偺儃僞儞(&T):", -1,182,5,78,10 - LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP -END - -STRINGTABLE DISCARDABLE -{ - IDS_CLOSE "暵偠傞" -} - -STRINGTABLE DISCARDABLE -{ - IDM_TODAY "崱擔:" - IDM_GOTODAY "崱擔傊堏摦" -} - -STRINGTABLE DISCARDABLE -{ - IDS_SEPARATOR "嬫愗傝慄" -} - -STRINGTABLE DISCARDABLE -{ - HKY_NONE "側偟" -} +/* + * Copyright 2003 Hajime Segawa + * + * 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 + */ + +LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT + +IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 +STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "Properties for " +FONT 9, "MS UI Gothic" +BEGIN + DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP + PUSHBUTTON "僉儍儞僙儖", IDCANCEL,58,122,50,14 + PUSHBUTTON "揔梡(&A)", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED + PUSHBUTTON "僿儖僾", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP + CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 +END + + +IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "Wizard" +FONT 9, "MS UI Gothic" +BEGIN + PUSHBUTTON "< 栠傞(&B)", IDC_BACK_BUTTON,71,138,50,14 + DEFPUSHBUTTON "恑傓(&N) >", IDC_NEXT_BUTTON,121,138,50,14 + DEFPUSHBUTTON "姰椆", IDC_FINISH_BUTTON,121,138,50,14 + PUSHBUTTON "僉儍儞僙儖", IDCANCEL,178,138,50,14 + PUSHBUTTON "僿儖僾", IDHELP,235,138,50,14,WS_GROUP + LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN + CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 + LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE +END + + +IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Customize Toolbar" +FONT 9, "MS UI Gothic" +BEGIN + DEFPUSHBUTTON "暵偠傞(&C)", IDCANCEL,308,6,44,14 + PUSHBUTTON "儕僙僢僩(R&)", IDC_RESET_BTN,308,23,44,14 + PUSHBUTTON "僿儖僾(&H)", IDC_HELP_BTN,308,40,44,14 + PUSHBUTTON "忋傊 (&U)", IDC_MOVEUP_BTN,308,74,44,14 + PUSHBUTTON "壓傊 (&D)", IDC_MOVEDN_BTN,308,91,44,14 + LTEXT "A&vailable buttons:", -1,4,5,84,10 + LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "捛壛(&A) ->", IDOK, 131, 42, 44, 14 + PUSHBUTTON "<- 嶍彍(&R)", IDC_REMOVE_BTN,131,62,44,14 + LTEXT "&Toolbar buttons:", -1,182,5,78,10 + LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP +END + +STRINGTABLE DISCARDABLE +{ + IDS_CLOSE "Close" +} + +STRINGTABLE DISCARDABLE +{ + IDM_TODAY "Today:" + IDM_GOTODAY "Go to today" +} + +STRINGTABLE DISCARDABLE +{ + IDS_SEPARATOR "Separator" +} + +STRINGTABLE DISCARDABLE +{ + HKY_NONE "None" +} diff --git a/reactos/dll/win32/comctl32/comctl_Ko.rc b/reactos/dll/win32/comctl32/comctl_Ko.rc index f7cf69faeaf..5b3f36ae36f 100644 --- a/reactos/dll/win32/comctl32/comctl_Ko.rc +++ b/reactos/dll/win32/comctl32/comctl_Ko.rc @@ -1,83 +1,83 @@ -/* - * Copyright 2002 Won-kyu Park - * Copyright 2005 YunSong Hwang - * - * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT - -IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 -STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "加己" -FONT 9, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "犬牢", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP - PUSHBUTTON "秒家", IDCANCEL,58,122,50,14 - PUSHBUTTON "利侩(&A)", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED - PUSHBUTTON "档框富", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP - CONTROL "徘", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 -END - - -IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "付过荤" -FONT 9, "MS Shell Dlg" -BEGIN - PUSHBUTTON "< 捞傈(&B)", IDC_BACK_BUTTON,71,138,50,14 - DEFPUSHBUTTON "促澜(&N) >", IDC_NEXT_BUTTON,121,138,50,14 - DEFPUSHBUTTON "辆丰", IDC_FINISH_BUTTON,121,138,50,14 - PUSHBUTTON "秒家", IDCANCEL,178,138,50,14 - PUSHBUTTON "档框富", IDHELP,235,138,50,14,WS_GROUP - LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN - CONTROL "徘", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 - LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE -END - - -IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "档备官 荤侩磊 沥狼" -FONT 9, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "摧扁(&C)", IDCANCEL,308,6,44,14 - PUSHBUTTON "促矫(&e)", IDC_RESET_BTN,308,23,44,14 - PUSHBUTTON "档框富(&H)", IDC_HELP_BTN,308,40,44,14 - PUSHBUTTON "困肺 捞悼(&U)", IDC_MOVEUP_BTN,308,74,44,14 - PUSHBUTTON "酒贰肺 捞悼(&D)", IDC_MOVEDN_BTN,308,91,44,14 - LTEXT "啊瓷茄 滚瓢(&v)", -1,4,5,84,10 - LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP - PUSHBUTTON "歹窍扁(&A) ->", IDOK, 131, 42, 44, 14 - PUSHBUTTON "<- 力芭窍扁(&R)", IDC_REMOVE_BTN,131,62,44,14 - LTEXT "档备官 滚瓢(&T):", -1,182,5,78,10 - LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP -END - -STRINGTABLE DISCARDABLE -{ - IDS_CLOSE "摧扁" -} - -STRINGTABLE DISCARDABLE -{ - IDM_TODAY "坷疵:" - IDM_GOTODAY "坷疵肺 啊扁" -} - -STRINGTABLE DISCARDABLE -{ - IDS_SEPARATOR "盒府磊" -} +/* + * Copyright 2002 Won-kyu Park + * Copyright 2005 YunSong Hwang + * + * 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 + */ + +LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT + +IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 +STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "加己" +FONT 9, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "犬牢", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP + PUSHBUTTON "秒家", IDCANCEL,58,122,50,14 + PUSHBUTTON "利侩(&A)", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED + PUSHBUTTON "档框富", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP + CONTROL "徘", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 +END + + +IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "付过荤" +FONT 9, "MS Shell Dlg" +BEGIN + PUSHBUTTON "< 捞傈(&B)", IDC_BACK_BUTTON,71,138,50,14 + DEFPUSHBUTTON "促澜(&N) >", IDC_NEXT_BUTTON,121,138,50,14 + DEFPUSHBUTTON "辆丰", IDC_FINISH_BUTTON,121,138,50,14 + PUSHBUTTON "秒家", IDCANCEL,178,138,50,14 + PUSHBUTTON "档框富", IDHELP,235,138,50,14,WS_GROUP + LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN + CONTROL "徘", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 + LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE +END + + +IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "档备官 荤侩磊 沥狼" +FONT 9, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "摧扁(&C)", IDCANCEL,308,6,44,14 + PUSHBUTTON "促矫(&e)", IDC_RESET_BTN,308,23,44,14 + PUSHBUTTON "档框富(&H)", IDC_HELP_BTN,308,40,44,14 + PUSHBUTTON "困肺 捞悼(&U)", IDC_MOVEUP_BTN,308,74,44,14 + PUSHBUTTON "酒贰肺 捞悼(&D)", IDC_MOVEDN_BTN,308,91,44,14 + LTEXT "啊瓷茄 滚瓢(&v)", -1,4,5,84,10 + LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "歹窍扁(&A) ->", IDOK, 131, 42, 44, 14 + PUSHBUTTON "<- 力芭窍扁(&R)", IDC_REMOVE_BTN,131,62,44,14 + LTEXT "档备官 滚瓢(&T):", -1,182,5,78,10 + LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP +END + +STRINGTABLE DISCARDABLE +{ + IDS_CLOSE "摧扁" +} + +STRINGTABLE DISCARDABLE +{ + IDM_TODAY "坷疵:" + IDM_GOTODAY "坷疵肺 啊扁" +} + +STRINGTABLE DISCARDABLE +{ + IDS_SEPARATOR "盒府磊" +} diff --git a/reactos/dll/win32/comctl32/comctl_Nl.rc b/reactos/dll/win32/comctl32/comctl_Nl.rc index 2d7d0c73134..464b14b6796 100644 --- a/reactos/dll/win32/comctl32/comctl_Nl.rc +++ b/reactos/dll/win32/comctl32/comctl_Nl.rc @@ -1,89 +1,89 @@ -/* - * comctl (Dutch resources) - * - * Copyright 2003 Hans Leidekker - * - * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_DUTCH, SUBLANG_DEFAULT - -IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 -STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "Eigenschappen van " -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP - PUSHBUTTON "Annuleren", IDCANCEL,58,122,50,14 - PUSHBUTTON "&Toepassen", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED - PUSHBUTTON "Help", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP - CONTROL "Tabblad", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 -END - - -IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "Assistent" -FONT 8, "MS Shell Dlg" -BEGIN - PUSHBUTTON "< V&orige", IDC_BACK_BUTTON,71,138,50,14 - DEFPUSHBUTTON "&Volgende >", IDC_NEXT_BUTTON,121,138,50,14 - DEFPUSHBUTTON "Be毛indigen", IDC_FINISH_BUTTON,121,138,50,14 - PUSHBUTTON "Annuleren", IDCANCEL,178,138,50,14 - PUSHBUTTON "Help", IDHELP,235,138,50,14,WS_GROUP - LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN - CONTROL "Tabblad", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 - LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE -END - - -IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Gereedschappenbalk aanpassen" -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "&Afsluiten", IDCANCEL,308,6,44,14 - PUSHBUTTON "&Reset", IDC_RESET_BTN,308,23,44,14 - PUSHBUTTON "&Help", IDC_HELP_BTN,308,40,44,14 - PUSHBUTTON "Verplaats Om&hoog", IDC_MOVEUP_BTN,308,74,44,14 - PUSHBUTTON "Verplaats Om&laag", IDC_MOVEDN_BTN,308,91,44,14 - LTEXT "&Beschikbare knoppen:", -1,4,5,84,10 - LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP - PUSHBUTTON "&Toevoegen ->", IDOK, 131, 42, 44, 14 - PUSHBUTTON "<- &Verwijderen", IDC_REMOVE_BTN,131,62,44,14 - LTEXT "&Knoppen:", -1,182,5,78,10 - LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP -END - -STRINGTABLE DISCARDABLE -{ - IDS_CLOSE "Sluiten" -} - -STRINGTABLE DISCARDABLE -{ - IDM_TODAY "Vandaag:" - IDM_GOTODAY "Ga vandaag naar" -} - -STRINGTABLE DISCARDABLE -{ - IDS_SEPARATOR "Scheidingsteken" -} - -STRINGTABLE DISCARDABLE -{ - HKY_NONE "Geen" -} +/* + * comctl (Dutch resources) + * + * Copyright 2003 Hans Leidekker + * + * 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 + */ + +LANGUAGE LANG_DUTCH, SUBLANG_DEFAULT + +IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 +STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "Eigenschappen van " +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP + PUSHBUTTON "Annuleren", IDCANCEL,58,122,50,14 + PUSHBUTTON "&Toepassen", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED + PUSHBUTTON "Help", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP + CONTROL "Tabblad", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 +END + + +IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "Assistent" +FONT 8, "MS Shell Dlg" +BEGIN + PUSHBUTTON "< V&orige", IDC_BACK_BUTTON,71,138,50,14 + DEFPUSHBUTTON "&Volgende >", IDC_NEXT_BUTTON,121,138,50,14 + DEFPUSHBUTTON "Be毛indigen", IDC_FINISH_BUTTON,121,138,50,14 + PUSHBUTTON "Annuleren", IDCANCEL,178,138,50,14 + PUSHBUTTON "Help", IDHELP,235,138,50,14,WS_GROUP + LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN + CONTROL "Tabblad", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 + LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE +END + + +IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Gereedschappenbalk aanpassen" +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "&Afsluiten", IDCANCEL,308,6,44,14 + PUSHBUTTON "&Reset", IDC_RESET_BTN,308,23,44,14 + PUSHBUTTON "&Help", IDC_HELP_BTN,308,40,44,14 + PUSHBUTTON "Verplaats Om&hoog", IDC_MOVEUP_BTN,308,74,44,14 + PUSHBUTTON "Verplaats Om&laag", IDC_MOVEDN_BTN,308,91,44,14 + LTEXT "&Beschikbare knoppen:", -1,4,5,84,10 + LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "&Toevoegen ->", IDOK, 131, 42, 44, 14 + PUSHBUTTON "<- &Verwijderen", IDC_REMOVE_BTN,131,62,44,14 + LTEXT "&Knoppen:", -1,182,5,78,10 + LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP +END + +STRINGTABLE DISCARDABLE +{ + IDS_CLOSE "Sluiten" +} + +STRINGTABLE DISCARDABLE +{ + IDM_TODAY "Vandaag:" + IDM_GOTODAY "Ga vandaag naar" +} + +STRINGTABLE DISCARDABLE +{ + IDS_SEPARATOR "Scheidingsteken" +} + +STRINGTABLE DISCARDABLE +{ + HKY_NONE "Geen" +} diff --git a/reactos/dll/win32/comctl32/comctl_No.rc b/reactos/dll/win32/comctl32/comctl_No.rc index 49ec8985af4..743405cf03e 100644 --- a/reactos/dll/win32/comctl32/comctl_No.rc +++ b/reactos/dll/win32/comctl32/comctl_No.rc @@ -13,7 +13,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ LANGUAGE LANG_NORWEGIAN, SUBLANG_NORWEGIAN_BOKMAL diff --git a/reactos/dll/win32/comctl32/comctl_Pl.rc b/reactos/dll/win32/comctl32/comctl_Pl.rc index 3a8f2399ff3..6131d089745 100644 --- a/reactos/dll/win32/comctl32/comctl_Pl.rc +++ b/reactos/dll/win32/comctl32/comctl_Pl.rc @@ -1,83 +1,83 @@ -/* - * Copyright 1999 Eric Kohl - * Copyright 2002 Jacek Bator - * - * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_POLISH, SUBLANG_DEFAULT - -IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 -STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "W砤渃iwo渃i " -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP - PUSHBUTTON "Anuluj", IDCANCEL,58,122,50,14 - PUSHBUTTON "&Zastosuj", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED - PUSHBUTTON "Pomoc", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP - CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 -END - - -IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "Kreator" -FONT 8, "MS Shell Dlg" -BEGIN - PUSHBUTTON "< &Wstecz", IDC_BACK_BUTTON,71,138,50,14 - DEFPUSHBUTTON "&Dalej >", IDC_NEXT_BUTTON,121,138,50,14 - DEFPUSHBUTTON "Zako馽z", IDC_FINISH_BUTTON,121,138,50,14 - PUSHBUTTON "Anuluj", IDCANCEL,178,138,50,14 - PUSHBUTTON "Pomoc", IDHELP,235,138,50,14,WS_GROUP - LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN - CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 - LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE -END - - -IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Dostosowywanie paska narz阣zi" -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "&Zamknij", IDCANCEL,308,6,44,14 - PUSHBUTTON "Z&resetuj", IDC_RESET_BTN,308,23,44,14 - PUSHBUTTON "&Pomoc", IDC_HELP_BTN,308,40,44,14 - PUSHBUTTON "Przenie &w g髍", IDC_MOVEUP_BTN,308,74,44,14 - PUSHBUTTON "Przenie w &d蟪", IDC_MOVEDN_BTN,308,91,44,14 - LTEXT "Do&st阷ne przyciski:", -1,4,5,84,10 - LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP - PUSHBUTTON "D&odaj ->", IDOK, 131, 42, 44, 14 - PUSHBUTTON "<- &Usu", IDC_REMOVE_BTN,131,62,44,14 - LTEXT "&Przyciski paska narz阣zi:", -1,182,5,78,10 - LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP -END - -STRINGTABLE DISCARDABLE -{ - IDS_CLOSE "Zamknij" -} - -STRINGTABLE DISCARDABLE -{ - IDM_TODAY "Dzi:" - IDM_GOTODAY "Id do dzi" -} - -STRINGTABLE DISCARDABLE -{ - IDS_SEPARATOR "Odst阷" -} +/* + * Copyright 1999 Eric Kohl + * Copyright 2002 Jacek Bator + * + * 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 + */ + +LANGUAGE LANG_POLISH, SUBLANG_DEFAULT + +IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 +STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "W砤渃iwo渃i " +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP + PUSHBUTTON "Anuluj", IDCANCEL,58,122,50,14 + PUSHBUTTON "&Zastosuj", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED + PUSHBUTTON "Pomoc", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP + CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 +END + + +IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "Kreator" +FONT 8, "MS Shell Dlg" +BEGIN + PUSHBUTTON "< &Wstecz", IDC_BACK_BUTTON,71,138,50,14 + DEFPUSHBUTTON "&Dalej >", IDC_NEXT_BUTTON,121,138,50,14 + DEFPUSHBUTTON "Zako馽z", IDC_FINISH_BUTTON,121,138,50,14 + PUSHBUTTON "Anuluj", IDCANCEL,178,138,50,14 + PUSHBUTTON "Pomoc", IDHELP,235,138,50,14,WS_GROUP + LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN + CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 + LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE +END + + +IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Dostosowywanie paska narz阣zi" +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "&Zamknij", IDCANCEL,308,6,44,14 + PUSHBUTTON "Z&resetuj", IDC_RESET_BTN,308,23,44,14 + PUSHBUTTON "&Pomoc", IDC_HELP_BTN,308,40,44,14 + PUSHBUTTON "Przenie &w g髍", IDC_MOVEUP_BTN,308,74,44,14 + PUSHBUTTON "Przenie w &d蟪", IDC_MOVEDN_BTN,308,91,44,14 + LTEXT "Do&st阷ne przyciski:", -1,4,5,84,10 + LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "D&odaj ->", IDOK, 131, 42, 44, 14 + PUSHBUTTON "<- &Usu", IDC_REMOVE_BTN,131,62,44,14 + LTEXT "&Przyciski paska narz阣zi:", -1,182,5,78,10 + LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP +END + +STRINGTABLE DISCARDABLE +{ + IDS_CLOSE "Zamknij" +} + +STRINGTABLE DISCARDABLE +{ + IDM_TODAY "Dzi:" + IDM_GOTODAY "Id do dzi" +} + +STRINGTABLE DISCARDABLE +{ + IDS_SEPARATOR "Odst阷" +} diff --git a/reactos/dll/win32/comctl32/comctl_Pt.rc b/reactos/dll/win32/comctl32/comctl_Pt.rc index 0c4e3753ef6..1cf207f7466 100644 --- a/reactos/dll/win32/comctl32/comctl_Pt.rc +++ b/reactos/dll/win32/comctl32/comctl_Pt.rc @@ -1,87 +1,87 @@ -/* - * Copyright 2003 Marcelo Duarte - * - * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_PORTUGUESE, SUBLANG_DEFAULT - -IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 -STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "Propriedades para " -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP - PUSHBUTTON "Cancelar", IDCANCEL,58,122,50,14 - PUSHBUTTON "&Aplicar", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED - PUSHBUTTON "Ajuda", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP - CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 -END - - -IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "Assistente" -FONT 8, "MS Shell Dlg" -BEGIN - PUSHBUTTON "< &Voltar", IDC_BACK_BUTTON,71,138,50,14 - DEFPUSHBUTTON "&Avan鏰r >", IDC_NEXT_BUTTON,121,138,50,14 - DEFPUSHBUTTON "Finalizar", IDC_FINISH_BUTTON,121,138,50,14 - PUSHBUTTON "Cancelar", IDCANCEL,178,138,50,14 - PUSHBUTTON "Ajuda", IDHELP,235,138,50,14,WS_GROUP - LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN - CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 - LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE -END - - -IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Personalizar barra de ferramentas" -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "&Fechar", IDCANCEL,308,6,44,14 - PUSHBUTTON "R&estaurar", IDC_RESET_BTN,308,23,44,14 - PUSHBUTTON "&Ajuda", IDC_HELP_BTN,308,40,44,14 - PUSHBUTTON "A&cima", IDC_MOVEUP_BTN,308,74,44,14 - PUSHBUTTON "A&baixo", IDC_MOVEDN_BTN,308,91,44,14 - LTEXT "Bot鮡s &dispon韛eis:", -1,4,5,84,10 - LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP - PUSHBUTTON "&Adicionar ->", IDOK, 131, 42, 44, 14 - PUSHBUTTON "<- &Remover", IDC_REMOVE_BTN,131,62,44,14 - LTEXT "&Bot鮡s da barra de ferramentas:", -1,182,5,78,10 - LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP -END - -STRINGTABLE DISCARDABLE -{ - IDS_CLOSE "Fechar" -} - -STRINGTABLE DISCARDABLE -{ - IDM_TODAY "Hoje:" - IDM_GOTODAY "Ir para hoje" -} - -STRINGTABLE DISCARDABLE -{ - IDS_SEPARATOR "Separador" -} - -STRINGTABLE DISCARDABLE -{ - HKY_NONE "Nenhum" -} +/* + * Copyright 2003 Marcelo Duarte + * + * 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 + */ + +LANGUAGE LANG_PORTUGUESE, SUBLANG_DEFAULT + +IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 +STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "Propriedades para " +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP + PUSHBUTTON "Cancelar", IDCANCEL,58,122,50,14 + PUSHBUTTON "&Aplicar", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED + PUSHBUTTON "Ajuda", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP + CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 +END + + +IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "Assistente" +FONT 8, "MS Shell Dlg" +BEGIN + PUSHBUTTON "< &Voltar", IDC_BACK_BUTTON,71,138,50,14 + DEFPUSHBUTTON "&Avan鏰r >", IDC_NEXT_BUTTON,121,138,50,14 + DEFPUSHBUTTON "Finalizar", IDC_FINISH_BUTTON,121,138,50,14 + PUSHBUTTON "Cancelar", IDCANCEL,178,138,50,14 + PUSHBUTTON "Ajuda", IDHELP,235,138,50,14,WS_GROUP + LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN + CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 + LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE +END + + +IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Personalizar barra de ferramentas" +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "&Fechar", IDCANCEL,308,6,44,14 + PUSHBUTTON "R&estaurar", IDC_RESET_BTN,308,23,44,14 + PUSHBUTTON "&Ajuda", IDC_HELP_BTN,308,40,44,14 + PUSHBUTTON "A&cima", IDC_MOVEUP_BTN,308,74,44,14 + PUSHBUTTON "A&baixo", IDC_MOVEDN_BTN,308,91,44,14 + LTEXT "Bot鮡s &dispon韛eis:", -1,4,5,84,10 + LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "&Adicionar ->", IDOK, 131, 42, 44, 14 + PUSHBUTTON "<- &Remover", IDC_REMOVE_BTN,131,62,44,14 + LTEXT "&Bot鮡s da barra de ferramentas:", -1,182,5,78,10 + LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP +END + +STRINGTABLE DISCARDABLE +{ + IDS_CLOSE "Fechar" +} + +STRINGTABLE DISCARDABLE +{ + IDM_TODAY "Hoje:" + IDM_GOTODAY "Ir para hoje" +} + +STRINGTABLE DISCARDABLE +{ + IDS_SEPARATOR "Separador" +} + +STRINGTABLE DISCARDABLE +{ + HKY_NONE "Nenhum" +} diff --git a/reactos/dll/win32/comctl32/comctl_Ru.rc b/reactos/dll/win32/comctl32/comctl_Ru.rc index d9fc971b953..bb9bc68580b 100644 --- a/reactos/dll/win32/comctl32/comctl_Ru.rc +++ b/reactos/dll/win32/comctl32/comctl_Ru.rc @@ -1,89 +1,89 @@ -/* - * comctl (Russian resources) - * - * Copyright 2003 Igor Stepin - * - * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT - -IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 -STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "砚铋耱忄 潆 " -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP - PUSHBUTTON "悟戾磬", IDCANCEL,58,122,50,14 - PUSHBUTTON "橡&戾龛螯", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED - PUSHBUTTON "&扬疣怅", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP - CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 -END - - -IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "锑耱屦" -FONT 8, "MS Shell Dlg" -BEGIN - PUSHBUTTON "< &袜玎", IDC_BACK_BUTTON,71,138,50,14 - DEFPUSHBUTTON "&泥脲 >", IDC_NEXT_BUTTON,121,138,50,14 - DEFPUSHBUTTON "青忮瘌栩", IDC_FINISH_BUTTON,121,138,50,14 - PUSHBUTTON "悟戾磬", IDCANCEL,178,138,50,14 - PUSHBUTTON "&扬疣怅", IDHELP,235,138,50,14,WS_GROUP - LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN - CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 - LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE -END - - -IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "袜耱痤殛 镟礤腓 桧耱痼戾眚钼" -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "&青牮", IDCANCEL,308,6,44,14 - PUSHBUTTON "&狃铖栩", IDC_RESET_BTN,308,23,44,14 - PUSHBUTTON "&扬疣怅", IDC_HELP_BTN,308,40,44,14 - PUSHBUTTON "襄疱戾耱栩 &忖屦", IDC_MOVEUP_BTN,308,74,44,14 - PUSHBUTTON "襄疱戾耱栩 &忭桤", IDC_MOVEDN_BTN,308,91,44,14 - LTEXT "&念耱箫睇 觏铒觇:", -1,4,5,84,10 - LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP - PUSHBUTTON "&念徉忤螯 ->", IDOK, 131, 42, 44, 14 - PUSHBUTTON "<- &愉嚯栩", IDC_REMOVE_BTN,131,62,44,14 - LTEXT "&薯铒觇 镟礤腓 桧耱痼戾眚钼:", -1,182,5,78,10 - LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP -END - -STRINGTABLE DISCARDABLE -{ - IDS_CLOSE "青牮" -} - -STRINGTABLE DISCARDABLE -{ - IDM_TODAY "彦泐漤:" - IDM_GOTODAY "义牦 溧蜞" -} - -STRINGTABLE DISCARDABLE -{ - IDS_SEPARATOR "朽玟咫栩咫" -} - -STRINGTABLE DISCARDABLE -{ - HKY_NONE "湾" -} +/* + * comctl (Russian resources) + * + * Copyright 2003 Igor Stepin + * + * 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 + */ + +LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT + +IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 +STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "砚铋耱忄 潆 " +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP + PUSHBUTTON "悟戾磬", IDCANCEL,58,122,50,14 + PUSHBUTTON "橡&戾龛螯", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED + PUSHBUTTON "&扬疣怅", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP + CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 +END + + +IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "锑耱屦" +FONT 8, "MS Shell Dlg" +BEGIN + PUSHBUTTON "< &袜玎", IDC_BACK_BUTTON,71,138,50,14 + DEFPUSHBUTTON "&泥脲 >", IDC_NEXT_BUTTON,121,138,50,14 + DEFPUSHBUTTON "青忮瘌栩", IDC_FINISH_BUTTON,121,138,50,14 + PUSHBUTTON "悟戾磬", IDCANCEL,178,138,50,14 + PUSHBUTTON "&扬疣怅", IDHELP,235,138,50,14,WS_GROUP + LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN + CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 + LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE +END + + +IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "袜耱痤殛 镟礤腓 桧耱痼戾眚钼" +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "&青牮", IDCANCEL,308,6,44,14 + PUSHBUTTON "&狃铖栩", IDC_RESET_BTN,308,23,44,14 + PUSHBUTTON "&扬疣怅", IDC_HELP_BTN,308,40,44,14 + PUSHBUTTON "襄疱戾耱栩 &忖屦", IDC_MOVEUP_BTN,308,74,44,14 + PUSHBUTTON "襄疱戾耱栩 &忭桤", IDC_MOVEDN_BTN,308,91,44,14 + LTEXT "&念耱箫睇 觏铒觇:", -1,4,5,84,10 + LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "&念徉忤螯 ->", IDOK, 131, 42, 44, 14 + PUSHBUTTON "<- &愉嚯栩", IDC_REMOVE_BTN,131,62,44,14 + LTEXT "&薯铒觇 镟礤腓 桧耱痼戾眚钼:", -1,182,5,78,10 + LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP +END + +STRINGTABLE DISCARDABLE +{ + IDS_CLOSE "青牮" +} + +STRINGTABLE DISCARDABLE +{ + IDM_TODAY "彦泐漤:" + IDM_GOTODAY "义牦 溧蜞" +} + +STRINGTABLE DISCARDABLE +{ + IDS_SEPARATOR "朽玟咫栩咫" +} + +STRINGTABLE DISCARDABLE +{ + HKY_NONE "湾" +} diff --git a/reactos/dll/win32/comctl32/comctl_Si.rc b/reactos/dll/win32/comctl32/comctl_Si.rc index 272452f2d67..51fc3281285 100644 --- a/reactos/dll/win32/comctl32/comctl_Si.rc +++ b/reactos/dll/win32/comctl32/comctl_Si.rc @@ -1,82 +1,82 @@ -/* - * Copyright 2002-2003 Rok Mandeljc - * - * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT - -IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 -STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "Lastnosti" -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "V redu", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP - PUSHBUTTON "Prekli鑙", IDCANCEL,58,122,50,14 - PUSHBUTTON "&Uporabi", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED - PUSHBUTTON "Pomo", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP - CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 -END - - -IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "萢rovnik" -FONT 8, "MS Shell Dlg" -BEGIN - PUSHBUTTON "< Na&zaj", IDC_BACK_BUTTON,71,138,50,14 - DEFPUSHBUTTON "Naprej >", IDC_NEXT_BUTTON,121,138,50,14 - DEFPUSHBUTTON "Dokon鑑j", IDC_FINISH_BUTTON,121,138,50,14 - PUSHBUTTON "Prekli鑙", IDCANCEL,178,138,50,14 - PUSHBUTTON "Pomo", IDHELP,235,138,50,14,WS_GROUP - LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN - CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 - LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE -END - - -IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Prilagoditev orodne vrstice" -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "&Zapri", IDCANCEL,308,6,44,14 - PUSHBUTTON "Po&nastavi", IDC_RESET_BTN,308,23,44,14 - PUSHBUTTON "&Pomo", IDC_HELP_BTN,308,40,44,14 - PUSHBUTTON "N&avzgor", IDC_MOVEUP_BTN,308,74,44,14 - PUSHBUTTON "Na&vzdol", IDC_MOVEDN_BTN,308,91,44,14 - LTEXT "&Gumbi na voljo:", -1,4,5,84,10 - LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP - PUSHBUTTON "&Dodaj ->", IDOK, 131, 42, 44, 14 - PUSHBUTTON "<- &Odstrani", IDC_REMOVE_BTN,131,62,44,14 - LTEXT "G&umbi orodne vrstice:", -1,182,5,78,10 - LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP -END - -STRINGTABLE DISCARDABLE -{ - IDS_CLOSE "Zapri" -} - -STRINGTABLE DISCARDABLE -{ - IDM_TODAY "Danes:" - IDM_GOTODAY "&Poglejte danes" -} - -STRINGTABLE DISCARDABLE -{ - IDS_SEPARATOR "Lo鑙lo" -} +/* + * Copyright 2002-2003 Rok Mandeljc + * + * 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 + */ + +LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT + +IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 +STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "Lastnosti" +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "V redu", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP + PUSHBUTTON "Prekli鑙", IDCANCEL,58,122,50,14 + PUSHBUTTON "&Uporabi", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED + PUSHBUTTON "Pomo", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP + CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 +END + + +IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "萢rovnik" +FONT 8, "MS Shell Dlg" +BEGIN + PUSHBUTTON "< Na&zaj", IDC_BACK_BUTTON,71,138,50,14 + DEFPUSHBUTTON "Naprej >", IDC_NEXT_BUTTON,121,138,50,14 + DEFPUSHBUTTON "Dokon鑑j", IDC_FINISH_BUTTON,121,138,50,14 + PUSHBUTTON "Prekli鑙", IDCANCEL,178,138,50,14 + PUSHBUTTON "Pomo", IDHELP,235,138,50,14,WS_GROUP + LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN + CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 + LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE +END + + +IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Prilagoditev orodne vrstice" +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "&Zapri", IDCANCEL,308,6,44,14 + PUSHBUTTON "Po&nastavi", IDC_RESET_BTN,308,23,44,14 + PUSHBUTTON "&Pomo", IDC_HELP_BTN,308,40,44,14 + PUSHBUTTON "N&avzgor", IDC_MOVEUP_BTN,308,74,44,14 + PUSHBUTTON "Na&vzdol", IDC_MOVEDN_BTN,308,91,44,14 + LTEXT "&Gumbi na voljo:", -1,4,5,84,10 + LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "&Dodaj ->", IDOK, 131, 42, 44, 14 + PUSHBUTTON "<- &Odstrani", IDC_REMOVE_BTN,131,62,44,14 + LTEXT "G&umbi orodne vrstice:", -1,182,5,78,10 + LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP +END + +STRINGTABLE DISCARDABLE +{ + IDS_CLOSE "Zapri" +} + +STRINGTABLE DISCARDABLE +{ + IDM_TODAY "Danes:" + IDM_GOTODAY "&Poglejte danes" +} + +STRINGTABLE DISCARDABLE +{ + IDS_SEPARATOR "Lo鑙lo" +} diff --git a/reactos/dll/win32/comctl32/comctl_Sv.rc b/reactos/dll/win32/comctl32/comctl_Sv.rc index 60f27a2b4e3..e67f1ff233c 100644 --- a/reactos/dll/win32/comctl32/comctl_Sv.rc +++ b/reactos/dll/win32/comctl32/comctl_Sv.rc @@ -13,7 +13,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ LANGUAGE LANG_SWEDISH, SUBLANG_DEFAULT diff --git a/reactos/dll/win32/comctl32/comctl_Th.rc b/reactos/dll/win32/comctl32/comctl_Th.rc index ed98b56b917..4895b9b97b3 100644 --- a/reactos/dll/win32/comctl32/comctl_Th.rc +++ b/reactos/dll/win32/comctl32/comctl_Th.rc @@ -1,87 +1,87 @@ -/* - * Copyright 2003 Jon Griffiths - * - * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_THAI, SUBLANG_DEFAULT - -IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 -STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "へ呈梁训寓艇 " -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "怠脓", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP - PUSHBUTTON "隆嗯浴", IDCANCEL,58,122,50,14 - PUSHBUTTON "琳寂费狗", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED - PUSHBUTTON "锹嗨耪", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP - CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 -END - - -IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "Wizard" -FONT 8, "MS Shell Dlg" -BEGIN - PUSHBUTTON "< 麻凸∨押", IDC_BACK_BUTTON,71,138,50,14 - DEFPUSHBUTTON "佃弯 >", IDC_NEXT_BUTTON,121,138,50,14 - DEFPUSHBUTTON "讽毅碎嗍苗", IDC_FINISH_BUTTON,121,138,50,14 - PUSHBUTTON "隆嗯浴", IDCANCEL,178,138,50,14 - PUSHBUTTON "锹嗨耪", IDHELP,235,138,50,14,WS_GROUP - LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN - CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 - LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE -END - - -IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "幻押岬瑙岫亨っ阻艇磷" -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "辉", IDCANCEL,308,6,44,14 - PUSHBUTTON "帷橥汀", IDC_RESET_BTN,308,23,44,14 - PUSHBUTTON "锹嗨耪", IDC_HELP_BTN,308,40,44,14 - PUSHBUTTON "麻衣⒅楣", IDC_MOVEUP_BTN,308,74,44,14 - PUSHBUTTON "麻衣脓", IDC_MOVEDN_BTN,308,91,44,14 - LTEXT "氛嗯淄′撮:", -1,4,5,84,10 - LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP - PUSHBUTTON "呵 ->", IDOK, 131, 42, 44, 14 - PUSHBUTTON "<- 锻赐汀", IDC_REMOVE_BTN,131,62,44,14 - LTEXT "∫谩眯讽裔逗啶米柰Я淄:", -1,182,5,78,10 - LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP -END - -STRINGTABLE DISCARDABLE -{ - IDS_CLOSE "徽" -} - -STRINGTABLE DISCARDABLE -{ - IDM_TODAY "茄构臻:" - IDM_GOTODAY "浠吨压拐" -} - -STRINGTABLE DISCARDABLE -{ - IDS_SEPARATOR "Separator" -} - -STRINGTABLE DISCARDABLE -{ - HKY_NONE "淞枇锗怕" -} +/* + * Copyright 2003 Jon Griffiths + * + * 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 + */ + +LANGUAGE LANG_THAI, SUBLANG_DEFAULT + +IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 +STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "へ呈梁训寓艇 " +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "怠脓", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP + PUSHBUTTON "隆嗯浴", IDCANCEL,58,122,50,14 + PUSHBUTTON "琳寂费狗", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED + PUSHBUTTON "锹嗨耪", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP + CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 +END + + +IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "Wizard" +FONT 8, "MS Shell Dlg" +BEGIN + PUSHBUTTON "< 麻凸∨押", IDC_BACK_BUTTON,71,138,50,14 + DEFPUSHBUTTON "佃弯 >", IDC_NEXT_BUTTON,121,138,50,14 + DEFPUSHBUTTON "讽毅碎嗍苗", IDC_FINISH_BUTTON,121,138,50,14 + PUSHBUTTON "隆嗯浴", IDCANCEL,178,138,50,14 + PUSHBUTTON "锹嗨耪", IDHELP,235,138,50,14,WS_GROUP + LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN + CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 + LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE +END + + +IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "幻押岬瑙岫亨っ阻艇磷" +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "辉", IDCANCEL,308,6,44,14 + PUSHBUTTON "帷橥汀", IDC_RESET_BTN,308,23,44,14 + PUSHBUTTON "锹嗨耪", IDC_HELP_BTN,308,40,44,14 + PUSHBUTTON "麻衣⒅楣", IDC_MOVEUP_BTN,308,74,44,14 + PUSHBUTTON "麻衣脓", IDC_MOVEDN_BTN,308,91,44,14 + LTEXT "氛嗯淄′撮:", -1,4,5,84,10 + LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "呵 ->", IDOK, 131, 42, 44, 14 + PUSHBUTTON "<- 锻赐汀", IDC_REMOVE_BTN,131,62,44,14 + LTEXT "∫谩眯讽裔逗啶米柰Я淄:", -1,182,5,78,10 + LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP +END + +STRINGTABLE DISCARDABLE +{ + IDS_CLOSE "徽" +} + +STRINGTABLE DISCARDABLE +{ + IDM_TODAY "茄构臻:" + IDM_GOTODAY "浠吨压拐" +} + +STRINGTABLE DISCARDABLE +{ + IDS_SEPARATOR "Separator" +} + +STRINGTABLE DISCARDABLE +{ + HKY_NONE "淞枇锗怕" +} diff --git a/reactos/dll/win32/comctl32/comctl_Tr.rc b/reactos/dll/win32/comctl32/comctl_Tr.rc new file mode 100644 index 00000000000..1429af83552 --- /dev/null +++ b/reactos/dll/win32/comctl32/comctl_Tr.rc @@ -0,0 +1,87 @@ +/* + * Copyright 2006 Fatih Ac + * + * 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 + */ + +LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT + +IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 +STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "謟ellikler: " +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "Tamam", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP + PUSHBUTTON "輕tal", IDCANCEL,58,122,50,14 + PUSHBUTTON "&Uygula", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED + PUSHBUTTON "Yard齧", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP + CONTROL "Sekme", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 +END + + +IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "Sihirbaz" +FONT 8, "MS Shell Dlg" +BEGIN + PUSHBUTTON "< &Geri", IDC_BACK_BUTTON,71,138,50,14 + DEFPUSHBUTTON "&輑eri >", IDC_NEXT_BUTTON,121,138,50,14 + DEFPUSHBUTTON "Son", IDC_FINISH_BUTTON,121,138,50,14 + PUSHBUTTON "輕tal", IDCANCEL,178,138,50,14 + PUSHBUTTON "Yard齧", IDHELP,235,138,50,14,WS_GROUP + LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN + CONTROL "Sekme", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 + LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE +END + + +IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Ara 莡bu饀nu 謟elle⺶ir" +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "&Kapat", IDCANCEL,308,6,44,14 + PUSHBUTTON "S&齠齬la", IDC_RESET_BTN,308,23,44,14 + PUSHBUTTON "&Yard齧", IDC_HELP_BTN,308,40,44,14 + PUSHBUTTON "&Yukar Ta", IDC_MOVEUP_BTN,308,74,44,14 + PUSHBUTTON "&A瘕 Ta", IDC_MOVEDN_BTN,308,91,44,14 + LTEXT "K&ullan齦abilir butonlar:", -1,4,5,84,10 + LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "&Ekle ->", IDOK, 131, 42, 44, 14 + PUSHBUTTON "<- &Kald齬", IDC_REMOVE_BTN,131,62,44,14 + LTEXT "&Ara 莡bu饀 butonlar:", -1,182,5,78,10 + LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP +END + +STRINGTABLE DISCARDABLE +{ + IDS_CLOSE "Kapat" +} + +STRINGTABLE DISCARDABLE +{ + IDM_TODAY "Bug黱:" + IDM_GOTODAY "Bug黱e git" +} + +STRINGTABLE DISCARDABLE +{ + IDS_SEPARATOR "Ayra" +} + +STRINGTABLE DISCARDABLE +{ + HKY_NONE "Hi鏱iri" +} diff --git a/reactos/dll/win32/comctl32/comctl_Uk.rc b/reactos/dll/win32/comctl32/comctl_Uk.rc index 59b3fcd21dd..eb9497e7aae 100644 --- a/reactos/dll/win32/comctl32/comctl_Uk.rc +++ b/reactos/dll/win32/comctl32/comctl_Uk.rc @@ -1,89 +1,89 @@ -/* - * comctl (Ukrainian resources) - * - * Copyright 2004 Ilya Korniyko - * - * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT - -IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 -STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "码囫蜩忸耱 潆 " -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP - PUSHBUTTON "&鲁潇稠", IDCANCEL,58,122,50,14 - PUSHBUTTON "&青耱铖筲囹", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED - PUSHBUTTON "&念獬潢", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP - CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 -END - - -IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "锑耱屦" -FONT 8, "MS Shell Dlg" -BEGIN - PUSHBUTTON "< &袜玎", IDC_BACK_BUTTON,71,138,50,14 - DEFPUSHBUTTON "&泥氤 >", IDC_NEXT_BUTTON,121,138,50,14 - DEFPUSHBUTTON "&青忮瘌栩", IDC_FINISH_BUTTON,121,138,50,14 - PUSHBUTTON "&鲁潇稠", IDCANCEL,178,138,50,14 - PUSHBUTTON "&念獬潢", IDHELP,235,138,50,14,WS_GROUP - LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN - CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 - LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE -END - - -IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "袜耱痤殛 镟礤氤 稠耱痼戾眚斥" -FONT 8, "MS Shell Dlg" -BEGIN - DEFPUSHBUTTON "&青牮栩", IDCANCEL,308,6,44,14 - PUSHBUTTON "&殃桧篁", IDC_RESET_BTN,308,23,44,14 - PUSHBUTTON "&念獬潢", IDC_HELP_BTN,308,40,44,14 - PUSHBUTTON "襄疱耋眢蜩 &泐痼", IDC_MOVEUP_BTN,308,74,44,14 - PUSHBUTTON "襄疱耋眢蜩 漕&龛珞", IDC_MOVEDN_BTN,308,91,44,14 - LTEXT "袜&忭 觏铒觇:", -1,4,5,84,10 - LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP - PUSHBUTTON "&念溧蜩 ->", IDOK, 131, 42, 44, 14 - PUSHBUTTON "<- &橡栳疣蜩", IDC_REMOVE_BTN,131,62,44,14 - LTEXT "&薯铒觇 镟礤氤 稠耱痼戾眚斥:", -1,182,5,78,10 - LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP -END - -STRINGTABLE DISCARDABLE -{ - IDS_CLOSE "青牮栩" -} - -STRINGTABLE DISCARDABLE -{ - IDM_TODAY "腰钽钿沓:" - IDM_GOTODAY "项蝾黜 溧蜞" -} - -STRINGTABLE DISCARDABLE -{ - IDS_SEPARATOR "蓄玟畴桕" -} - -STRINGTABLE DISCARDABLE -{ - HKY_NONE "湾爨" -} +/* + * comctl (Ukrainian resources) + * + * Copyright 2004 Ilya Korniyko + * + * 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 + */ + +LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT + +IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 +STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "码囫蜩忸耱 潆 " +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP + PUSHBUTTON "&鲁潇稠", IDCANCEL,58,122,50,14 + PUSHBUTTON "&青耱铖筲囹", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED + PUSHBUTTON "&念獬潢", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP + CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 +END + + +IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "锑耱屦" +FONT 8, "MS Shell Dlg" +BEGIN + PUSHBUTTON "< &袜玎", IDC_BACK_BUTTON,71,138,50,14 + DEFPUSHBUTTON "&泥氤 >", IDC_NEXT_BUTTON,121,138,50,14 + DEFPUSHBUTTON "&青忮瘌栩", IDC_FINISH_BUTTON,121,138,50,14 + PUSHBUTTON "&鲁潇稠", IDCANCEL,178,138,50,14 + PUSHBUTTON "&念獬潢", IDHELP,235,138,50,14,WS_GROUP + LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN + CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 + LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE +END + + +IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "袜耱痤殛 镟礤氤 稠耱痼戾眚斥" +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "&青牮栩", IDCANCEL,308,6,44,14 + PUSHBUTTON "&殃桧篁", IDC_RESET_BTN,308,23,44,14 + PUSHBUTTON "&念獬潢", IDC_HELP_BTN,308,40,44,14 + PUSHBUTTON "襄疱耋眢蜩 &泐痼", IDC_MOVEUP_BTN,308,74,44,14 + PUSHBUTTON "襄疱耋眢蜩 漕&龛珞", IDC_MOVEDN_BTN,308,91,44,14 + LTEXT "袜&忭 觏铒觇:", -1,4,5,84,10 + LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "&念溧蜩 ->", IDOK, 131, 42, 44, 14 + PUSHBUTTON "<- &橡栳疣蜩", IDC_REMOVE_BTN,131,62,44,14 + LTEXT "&薯铒觇 镟礤氤 稠耱痼戾眚斥:", -1,182,5,78,10 + LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP +END + +STRINGTABLE DISCARDABLE +{ + IDS_CLOSE "青牮栩" +} + +STRINGTABLE DISCARDABLE +{ + IDM_TODAY "腰钽钿沓:" + IDM_GOTODAY "项蝾黜 溧蜞" +} + +STRINGTABLE DISCARDABLE +{ + IDS_SEPARATOR "蓄玟畴桕" +} + +STRINGTABLE DISCARDABLE +{ + HKY_NONE "湾爨" +} diff --git a/reactos/dll/win32/comctl32/commctrl.c b/reactos/dll/win32/comctl32/commctrl.c index 629fe084b62..5cfc24cf844 100644 --- a/reactos/dll/win32/comctl32/commctrl.c +++ b/reactos/dll/win32/comctl32/commctrl.c @@ -16,7 +16,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * NOTES * diff --git a/reactos/dll/win32/comctl32/datetime.c b/reactos/dll/win32/comctl32/datetime.c index 83d53af56ee..b5596ba71ae 100644 --- a/reactos/dll/win32/comctl32/datetime.c +++ b/reactos/dll/win32/comctl32/datetime.c @@ -17,7 +17,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * NOTE * diff --git a/reactos/dll/win32/comctl32/dpa.c b/reactos/dll/win32/comctl32/dpa.c index 618dd2358dd..e4e60b6ba09 100644 --- a/reactos/dll/win32/comctl32/dpa.c +++ b/reactos/dll/win32/comctl32/dpa.c @@ -17,7 +17,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * NOTES * These functions were involuntarily documented by Microsoft in 2002 as diff --git a/reactos/dll/win32/comctl32/draglist.c b/reactos/dll/win32/comctl32/draglist.c index 3f333739757..c8e5e136c6a 100644 --- a/reactos/dll/win32/comctl32/draglist.c +++ b/reactos/dll/win32/comctl32/draglist.c @@ -16,7 +16,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * NOTES * diff --git a/reactos/dll/win32/comctl32/dsa.c b/reactos/dll/win32/comctl32/dsa.c index 9b247b91366..5edb4fc084e 100644 --- a/reactos/dll/win32/comctl32/dsa.c +++ b/reactos/dll/win32/comctl32/dsa.c @@ -17,7 +17,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * NOTES * These functions were involuntarily documented by Microsoft in 2002 as diff --git a/reactos/dll/win32/comctl32/flatsb.c b/reactos/dll/win32/comctl32/flatsb.c index dd227b881c7..d6b2b63a7f2 100644 --- a/reactos/dll/win32/comctl32/flatsb.c +++ b/reactos/dll/win32/comctl32/flatsb.c @@ -16,7 +16,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * NOTES * This is just a dummy control. An author is needed! Any volunteers? diff --git a/reactos/dll/win32/comctl32/header.c b/reactos/dll/win32/comctl32/header.c index 3657019ee13..41c4071ca81 100644 --- a/reactos/dll/win32/comctl32/header.c +++ b/reactos/dll/win32/comctl32/header.c @@ -17,7 +17,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * TODO: * - Imagelist support (partially). @@ -32,6 +32,7 @@ */ #include +#include #include #include "windef.h" @@ -61,6 +62,7 @@ typedef struct BOOL bDown; /* is item pressed? (used for drawing) */ RECT rect; /* bounding rectangle of the item */ + DWORD callbackMask; /* HDI_* flags for items that are callback */ } HEADER_ITEM; @@ -76,13 +78,15 @@ typedef struct HCURSOR hcurDivopen; /* handle to a cursor (used over dividers) <-||-> */ BOOL bCaptured; /* Is the mouse captured? */ BOOL bPressed; /* Is a header item pressed (down)? */ + BOOL bDragging; /* Are we dragging an item? */ BOOL bTracking; /* Is in tracking mode? */ - BOOL bUnicode; /* Unicode flag */ + POINT ptLButtonDown; /* The point where the left button was pressed */ INT iMoveItem; /* index of tracked item. (Tracking mode) */ INT xTrackOffset; /* distance between the right side of the tracked item and the cursor */ INT xOldTrack; /* track offset (see above) after the last WM_MOUSEMOVE */ INT nOldWidth; /* width of a sizing item after the last WM_MOUSEMOVE */ INT iHotItem; /* index of hot item (cursor is over this item) */ + INT iHotDivider; /* index of the hot divider (used while dragging an item or by HDM_SETHOTDIVIDER) */ INT iMargin; /* width of the margin that surrounds a bitmap */ HIMAGELIST himl; /* handle to an image list (may be 0) */ @@ -92,13 +96,84 @@ typedef struct } HEADER_INFO; -#define VERT_BORDER 3 +#define VERT_BORDER 4 #define DIVIDER_WIDTH 10 +#define HOT_DIVIDER_WIDTH 2 +#define MAX_HEADER_TEXT_LEN 260 +#define HDN_UNICODE_OFFSET 20 +#define HDN_FIRST_UNICODE (HDN_FIRST-HDN_UNICODE_OFFSET) + +#define HDI_SUPPORTED_FIELDS (HDI_WIDTH|HDI_TEXT|HDI_FORMAT|HDI_LPARAM|HDI_BITMAP|HDI_IMAGE|HDI_ORDER) +#define HDI_UNSUPPORTED_FIELDS (HDI_FILTER) +#define HDI_UNKNOWN_FIELDS (~(HDI_SUPPORTED_FIELDS|HDI_UNSUPPORTED_FIELDS|HDI_DI_SETITEM)) +#define HDI_COMCTL32_4_0_FIELDS (HDI_WIDTH|HDI_TEXT|HDI_FORMAT|HDI_LPARAM|HDI_BITMAP) #define HEADER_GetInfoPtr(hwnd) ((HEADER_INFO *)GetWindowLongPtrW(hwnd,0)) -static const WCHAR themeClass[] = {'H','e','a','d','e','r',0}; +static BOOL HEADER_PrepareCallbackItems(HWND hwnd, INT iItem, INT reqMask); +static void HEADER_FreeCallbackItems(HEADER_ITEM *lpItem); +static const WCHAR themeClass[] = {'H','e','a','d','e','r',0}; +static WCHAR emptyString[] = {0}; + +static void HEADER_DisposeItem(HEADER_ITEM *lpItem) +{ + if (lpItem->pszText) + { + Free(lpItem->pszText); + } +} + +static void HEADER_StoreHDItemInHeader(HEADER_ITEM *lpItem, UINT mask, HDITEMW *phdi, BOOL fUnicode) +{ + if (mask & HDI_UNSUPPORTED_FIELDS) + FIXME("unsupported header fields %x\n", (mask & HDI_UNSUPPORTED_FIELDS)); + + if (mask & HDI_BITMAP) + lpItem->hbm = phdi->hbm; + + if (mask & HDI_FORMAT) + lpItem->fmt = phdi->fmt; + + if (mask & HDI_LPARAM) + lpItem->lParam = phdi->lParam; + + if (mask & HDI_WIDTH) + lpItem->cxy = phdi->cxy; + + if (mask & HDI_IMAGE) + { + lpItem->iImage = phdi->iImage; + if (phdi->iImage == I_IMAGECALLBACK) + lpItem->callbackMask |= HDI_IMAGE; + else + lpItem->callbackMask &= ~HDI_IMAGE; + } + + if (mask & HDI_TEXT) + { + if (lpItem->pszText) + { + Free(lpItem->pszText); + lpItem->pszText = NULL; + } + + if (phdi->pszText != LPSTR_TEXTCALLBACKW) /* covers != TEXTCALLBACKA too */ + { + LPWSTR pszText = (phdi->pszText != NULL ? phdi->pszText : emptyString); + if (fUnicode) + Str_SetPtrW(&lpItem->pszText, pszText); + else + Str_SetPtrAtoW(&lpItem->pszText, (LPSTR)pszText); + lpItem->callbackMask &= ~HDI_TEXT; + } + else + { + lpItem->pszText = NULL; + lpItem->callbackMask |= HDI_TEXT; + } + } +} inline static LRESULT HEADER_IndexToOrder (HWND hwnd, INT iItem) @@ -120,6 +195,45 @@ HEADER_OrderToIndex(HWND hwnd, WPARAM wParam) return infoPtr->order[iorder]; } +static void +HEADER_ChangeItemOrder(HEADER_INFO *infoPtr, INT iItem, INT iNewOrder) +{ + HEADER_ITEM *lpItem = &infoPtr->items[iItem]; + INT i, nMin, nMax; + + TRACE("%d: %d->%d\n", iItem, lpItem->iOrder, iNewOrder); + if (lpItem->iOrder < iNewOrder) + { + memmove(&infoPtr->order[lpItem->iOrder], + &infoPtr->order[lpItem->iOrder + 1], + (iNewOrder - lpItem->iOrder) * sizeof(INT)); + } + if (iNewOrder < lpItem->iOrder) + { + memmove(&infoPtr->order[iNewOrder + 1], + &infoPtr->order[iNewOrder], + (lpItem->iOrder - iNewOrder) * sizeof(INT)); + } + infoPtr->order[iNewOrder] = iItem; + nMin = min(lpItem->iOrder, iNewOrder); + nMax = max(lpItem->iOrder, iNewOrder); + for (i = nMin; i <= nMax; i++) + infoPtr->items[infoPtr->order[i]].iOrder = i; +} + +/* Note: if iItem is the last item then this function returns infoPtr->uNumItem */ +static INT +HEADER_NextItem(HWND hwnd, INT iItem) +{ + return HEADER_OrderToIndex(hwnd, HEADER_IndexToOrder(hwnd, iItem)+1); +} + +static INT +HEADER_PrevItem(HWND hwnd, INT iItem) +{ + return HEADER_OrderToIndex(hwnd, HEADER_IndexToOrder(hwnd, iItem)-1); +} + static void HEADER_SetItemBounds (HWND hwnd) { @@ -157,6 +271,37 @@ HEADER_Size (HWND hwnd, WPARAM wParam) return 0; } +static void HEADER_GetHotDividerRect(HWND hwnd, HEADER_INFO *infoPtr, RECT *r) +{ + INT iDivider = infoPtr->iHotDivider; + if (infoPtr->uNumItem > 0) + { + HEADER_ITEM *lpItem; + + if (iDivider < infoPtr->uNumItem) + { + lpItem = &infoPtr->items[iDivider]; + r->left = lpItem->rect.left - HOT_DIVIDER_WIDTH/2; + r->right = lpItem->rect.left + HOT_DIVIDER_WIDTH/2; + } + else + { + lpItem = &infoPtr->items[HEADER_OrderToIndex(hwnd, infoPtr->uNumItem-1)]; + r->left = lpItem->rect.right - HOT_DIVIDER_WIDTH/2; + r->right = lpItem->rect.right + HOT_DIVIDER_WIDTH/2; + } + r->top = lpItem->rect.top; + r->bottom = lpItem->rect.bottom; + } + else + { + RECT clientRect; + GetClientRect(hwnd, &clientRect); + *r = clientRect; + r->right = r->left + HOT_DIVIDER_WIDTH/2; + } +} + static INT HEADER_DrawItem (HWND hwnd, HDC hdc, INT iItem, BOOL bHotTrack) @@ -166,8 +311,9 @@ HEADER_DrawItem (HWND hwnd, HDC hdc, INT iItem, BOOL bHotTrack) RECT r; INT oldBkMode, cxEdge = GetSystemMetrics(SM_CXEDGE); HTHEME theme = GetWindowTheme (hwnd); + NMCUSTOMDRAW nmcd; - TRACE("DrawItem(iItem %d bHotTrack %d unicode flag %d)\n", iItem, bHotTrack, infoPtr->bUnicode); + TRACE("DrawItem(iItem %d bHotTrack %d unicode flag %d)\n", iItem, bHotTrack, (infoPtr->nNotifyFormat == NFR_UNICODE)); if (!infoPtr->bRectsValid) HEADER_SetItemBounds(hwnd); @@ -205,22 +351,24 @@ HEADER_DrawItem (HWND hwnd, HDC hdc, INT iItem, BOOL bHotTrack) r.left -= cxEdge; r.right += cxEdge; + /* Set the colors before sending NM_CUSTOMDRAW so that it can change them */ + SetTextColor (hdc, (bHotTrack && !theme) ? COLOR_HIGHLIGHT : COLOR_BTNTEXT); + SetBkColor(hdc, GetSysColor(COLOR_3DFACE)); + + nmcd.hdr.hwndFrom = hwnd; + nmcd.hdr.idFrom = GetWindowLongPtrW (hwnd, GWLP_ID); + nmcd.hdr.code = NM_CUSTOMDRAW; + nmcd.dwDrawStage = CDDS_PREPAINT | CDDS_ITEM | CDDS_ITEMPOSTERASE; + nmcd.hdc = hdc; + nmcd.dwItemSpec = iItem; + nmcd.rc = r; + nmcd.uItemState = phdi->bDown ? CDIS_SELECTED : 0; + nmcd.lItemlParam = phdi->lParam; + + SendMessageW (infoPtr->hwndNotify, WM_NOTIFY, nmcd.hdr.idFrom, (LPARAM)&nmcd); + if (phdi->fmt & HDF_OWNERDRAW) { DRAWITEMSTRUCT dis; - NMCUSTOMDRAW nmcd; - - nmcd.hdr.hwndFrom = hwnd; - nmcd.hdr.idFrom = GetWindowLongPtrW (hwnd, GWLP_ID); - nmcd.hdr.code = NM_CUSTOMDRAW; - nmcd.dwDrawStage = CDDS_PREPAINT | CDDS_ITEM | CDDS_ITEMPOSTERASE; - nmcd.hdc = hdc; - nmcd.dwItemSpec = iItem; - nmcd.rc = r; - nmcd.uItemState = phdi->bDown ? CDIS_SELECTED : 0; - nmcd.lItemlParam = phdi->lParam; - - SendMessageW (infoPtr->hwndNotify, WM_NOTIFY, - (WPARAM)nmcd.hdr.idFrom, (LPARAM)&nmcd); dis.CtlType = ODT_HEADER; dis.CtlID = GetWindowLongPtrW (hwnd, GWLP_ID); @@ -245,10 +393,20 @@ HEADER_DrawItem (HWND hwnd, HDC hdc, INT iItem, BOOL bHotTrack) cw, tw, iw, bw; BITMAP bmp; + HEADER_PrepareCallbackItems(hwnd, iItem, HDI_TEXT|HDI_IMAGE); cw = tw = iw = bw = 0; rw = r.right - r.left; rh = r.bottom - r.top; + if (theme == NULL) { + HBRUSH hbr = CreateSolidBrush(GetBkColor(hdc)); + RECT rcBackground = r; + + rcBackground.right -= cxEdge; + rcBackground.left += cxEdge; + FillRect(hdc, &rcBackground, hbr); + DeleteObject(hbr); + } if (phdi->fmt & HDF_STRING) { RECT textRect; @@ -319,8 +477,8 @@ HEADER_DrawItem (HWND hwnd, HDC hdc, INT iItem, BOOL bHotTrack) if (iw || bw) { HDC hClipDC = GetDC(hwnd); HRGN hClipRgn = CreateRectRgn(r.left, r.top, r.right, r.bottom); - SelectClipRgn(hClipDC, hClipRgn); + if (bw) { HDC hdcBitmap = CreateCompatibleDC (hClipDC); SelectObject (hdcBitmap, phdi->hbm); @@ -344,7 +502,6 @@ HEADER_DrawItem (HWND hwnd, HDC hdc, INT iItem, BOOL bHotTrack) HDF_BITMAP_ON_RIGHT|HDF_IMAGE)))) /* no explicit format specified? */ && (phdi->pszText)) { oldBkMode = SetBkMode(hdc, TRANSPARENT); - SetTextColor (hdc, (bHotTrack && !theme) ? COLOR_HIGHLIGHT : COLOR_BTNTEXT); r.left = tx; r.right = tx + tw; DrawTextW (hdc, phdi->pszText, -1, @@ -352,11 +509,24 @@ HEADER_DrawItem (HWND hwnd, HDC hdc, INT iItem, BOOL bHotTrack) if (oldBkMode != TRANSPARENT) SetBkMode(hdc, oldBkMode); } + HEADER_FreeCallbackItems(phdi); }/*Ownerdrawn*/ return phdi->rect.right; } +static void +HEADER_DrawHotDivider(HWND hwnd, HDC hdc) +{ + HEADER_INFO *infoPtr = HEADER_GetInfoPtr (hwnd); + HBRUSH brush; + RECT r; + + HEADER_GetHotDividerRect(hwnd, infoPtr, &r); + brush = CreateSolidBrush(GetSysColor(COLOR_HIGHLIGHT)); + FillRect(hdc, &r, brush); + DeleteObject(brush); +} static void HEADER_Refresh (HWND hwnd, HDC hdc) @@ -369,22 +539,30 @@ HEADER_Refresh (HWND hwnd, HDC hdc) INT x; HTHEME theme = GetWindowTheme (hwnd); + if (!infoPtr->bRectsValid) + HEADER_SetItemBounds(hwnd); + /* get rect for the bar, adjusted for the border */ GetClientRect (hwnd, &rect); + + if (infoPtr->bDragging) + ImageList_DragShowNolock(FALSE); hFont = infoPtr->hFont ? infoPtr->hFont : GetStockObject (SYSTEM_FONT); hOldFont = SelectObject (hdc, hFont); /* draw Background */ - if (theme == NULL) { + if (infoPtr->uNumItem == 0 && theme == NULL) { hbrBk = GetSysColorBrush(COLOR_3DFACE); FillRect(hdc, &rect, hbrBk); } x = rect.left; for (i = 0; x <= rect.right && i < infoPtr->uNumItem; i++) { - x = HEADER_DrawItem (hwnd, hdc, HEADER_OrderToIndex(hwnd,i), - infoPtr->iHotItem == i); + int idx = HEADER_OrderToIndex(hwnd,i); + if (RectVisible(hdc, &infoPtr->items[idx].rect)) + HEADER_DrawItem (hwnd, hdc, idx, infoPtr->iHotItem == i); + x = infoPtr->items[idx].rect.right; } if ((x <= rect.right) && (infoPtr->uNumItem > 0)) { @@ -395,12 +573,17 @@ HEADER_Refresh (HWND hwnd, HDC hdc) } else { if (GetWindowLongW (hwnd, GWL_STYLE) & HDS_BUTTONS) - DrawEdge (hdc, &rect, EDGE_RAISED, BF_TOP|BF_LEFT|BF_BOTTOM|BF_SOFT); + DrawEdge (hdc, &rect, EDGE_RAISED, BF_TOP|BF_LEFT|BF_BOTTOM|BF_SOFT|BF_MIDDLE); else - DrawEdge (hdc, &rect, EDGE_ETCHED, BF_BOTTOM); + DrawEdge (hdc, &rect, EDGE_ETCHED, BF_BOTTOM|BF_MIDDLE); } } + + if (infoPtr->iHotDivider != -1) + HEADER_DrawHotDivider(hwnd, hdc); + if (infoPtr->bDragging) + ImageList_DragShowNolock(TRUE); SelectObject (hdc, hOldFont); } @@ -455,19 +638,19 @@ HEADER_InternalHitTest (HWND hwnd, LPPOINT lpPt, UINT *pFlags, INT *pItem) TRACE("ON HEADER %d\n", iCount); return; } - if (iCount > 0) { + if (HEADER_IndexToOrder(hwnd, iCount) > 0) { rcTest = rect; rcTest.right = rcTest.left + DIVIDER_WIDTH; if (PtInRect (&rcTest, *lpPt)) { if (bNoWidth) { *pFlags |= HHT_ONDIVOPEN; - *pItem = iCount - 1; + *pItem = HEADER_PrevItem(hwnd, iCount); TRACE("ON DIVOPEN %d\n", *pItem); return; } else { *pFlags |= HHT_ONDIVIDER; - *pItem = iCount - 1; + *pItem = HEADER_PrevItem(hwnd, iCount); TRACE("ON DIVIDER %d\n", *pItem); return; } @@ -557,6 +740,52 @@ HEADER_DrawTrackLine (HWND hwnd, HDC hdc, INT x) SelectObject (hdc, hOldPen); } +/*** + * DESCRIPTION: + * Convert a HDITEM into the correct format (ANSI/Unicode) to send it in a notify + * + * PARAMETER(S): + * [I] infoPtr : the header that wants to send the notify + * [O] dest : The buffer to store the HDITEM for notify. It may be set to a HDITEMA of HDITEMW + * [I] src : The source HDITEM. It may be a HDITEMA or HDITEMW + * [I] fSourceUnicode : is src a HDITEMW or HDITEMA + * [O] ppvScratch : a pointer to a scratch buffer that needs to be freed after + * the HDITEM is no longer in use or NULL if none was needed + * + * NOTE: We depend on HDITEMA and HDITEMW having the same structure + */ +static void HEADER_CopyHDItemForNotify(HEADER_INFO *infoPtr, HDITEMW *dest, + HDITEMW *src, BOOL fSourceUnicode, LPVOID *ppvScratch) +{ + *ppvScratch = NULL; + *dest = *src; + + if (src->mask & HDI_TEXT && src->pszText != LPSTR_TEXTCALLBACKW) /* covers TEXTCALLBACKA as well */ + { + if (fSourceUnicode && infoPtr->nNotifyFormat != NFR_UNICODE) + { + dest->pszText = NULL; + Str_SetPtrWtoA((LPSTR *)&dest->pszText, src->pszText); + *ppvScratch = dest->pszText; + } + + if (!fSourceUnicode && infoPtr->nNotifyFormat == NFR_UNICODE) + { + dest->pszText = NULL; + Str_SetPtrAtoW(&dest->pszText, (LPSTR)src->pszText); + *ppvScratch = dest->pszText; + } + } +} + +static UINT HEADER_NotifyCodeWtoA(UINT code) +{ + /* we use the fact that all the unicode messages are in HDN_FIRST_UNICODE..HDN_LAST*/ + if (code >= HDN_LAST && code <= HDN_FIRST_UNICODE) + return code + HDN_UNICODE_OFFSET; + else + return code; +} static BOOL HEADER_SendSimpleNotify (HWND hwnd, UINT code) @@ -573,123 +802,155 @@ HEADER_SendSimpleNotify (HWND hwnd, UINT code) } static BOOL -HEADER_SendHeaderNotify (HWND hwnd, UINT code, INT iItem, INT mask) +HEADER_SendHeaderNotifyT (HWND hwnd, UINT code, INT iItem, INT mask, HDITEMW *lpItem) { HEADER_INFO *infoPtr = HEADER_GetInfoPtr (hwnd); - NMHEADERA nmhdr; - HDITEMA nmitem; + NMHEADERW nmhdr; + HDITEMW nmitem; + + if (lpItem == NULL) + { + /* lpItem == NULL means that we should take the actual data from the item */ + if (mask & HDI_TEXT) + { + FIXME("(): invalid parameters - lpItem == NULL and (mask & HDI_TEXT)\n"); + mask &= ~HDI_TEXT; + } + nmitem.mask = mask; + nmitem.cxy = infoPtr->items[iItem].cxy; + nmitem.hbm = infoPtr->items[iItem].hbm; + nmitem.pszText = NULL; + nmitem.cchTextMax = 0; + nmitem.fmt = infoPtr->items[iItem].fmt; + nmitem.lParam = infoPtr->items[iItem].lParam; + nmitem.iOrder = infoPtr->items[iItem].iOrder; + nmitem.iImage = infoPtr->items[iItem].iImage; + lpItem = &nmitem; + } nmhdr.hdr.hwndFrom = hwnd; nmhdr.hdr.idFrom = GetWindowLongPtrW (hwnd, GWLP_ID); - nmhdr.hdr.code = code; + nmhdr.hdr.code = (infoPtr->nNotifyFormat == NFR_UNICODE ? code : HEADER_NotifyCodeWtoA(code)); nmhdr.iItem = iItem; nmhdr.iButton = 0; - nmhdr.pitem = &nmitem; - nmitem.mask = mask; - nmitem.cxy = infoPtr->items[iItem].cxy; - nmitem.hbm = infoPtr->items[iItem].hbm; - nmitem.pszText = NULL; - nmitem.cchTextMax = 0; -/* nmitem.pszText = infoPtr->items[iItem].pszText; */ -/* nmitem.cchTextMax = infoPtr->items[iItem].cchTextMax; */ - nmitem.fmt = infoPtr->items[iItem].fmt; - nmitem.lParam = infoPtr->items[iItem].lParam; - nmitem.iOrder = infoPtr->items[iItem].iOrder; - nmitem.iImage = infoPtr->items[iItem].iImage; + nmhdr.pitem = lpItem; return (BOOL)SendMessageW (infoPtr->hwndNotify, WM_NOTIFY, (WPARAM)nmhdr.hdr.idFrom, (LPARAM)&nmhdr); } /** - * Send Disp Info notification. + * Prepare callback items * depends on NMHDDISPINFOW having same structure as NMHDDISPINFOA * (so we handle the two cases only doing a specific cast for pszText). + * Checks if any of the required field are callback. If there are sends a + * NMHDISPINFO notify to retrieve these items. The items are stored in the + * HEADER_ITEM pszText and iImage fields. They should be freed with + * HEADER_FreeCallbackItems. * * @param hwnd : hwnd header container handler - * @param mask : notification mask (usually HDI_TEXT or HDI_IMAGE) - * @param pDispInfo : NMHDDISPINFO structure (can be unicode or ansi) - * @param isW : TRUE if dispinfo is Unicode + * @param iItem : the header item id + * @param reqMask : required fields. If any of them is callback this function will fetch it + * + * @return TRUE on success, else FALSE */ static BOOL -HEADER_SendHeaderDispInfoNotify(HWND hwnd, INT iItem, INT mask, LPHDITEMW phdi, HEADER_ITEM* lpItem, BOOL isW) +HEADER_PrepareCallbackItems(HWND hwnd, INT iItem, INT reqMask) { HEADER_INFO *infoPtr = HEADER_GetInfoPtr (hwnd); - BOOL ret; - BOOL convertToAnsi = FALSE; - BOOL convertToUnicode = FALSE; - BOOL isUnicodeNotify = FALSE; + HEADER_ITEM *lpItem = &infoPtr->items[iItem]; + DWORD mask = reqMask & lpItem->callbackMask; NMHDDISPINFOW dispInfo; + void *pvBuffer = NULL; - if (mask & HDI_TEXT) + if (mask == 0) + return TRUE; + if (mask&HDI_TEXT && lpItem->pszText != NULL) { - convertToAnsi = (isW && infoPtr->nNotifyFormat == NFR_ANSI); - convertToUnicode = (!isW && infoPtr->nNotifyFormat == NFR_UNICODE); + ERR("(): function called without a call to FreeCallbackItems\n"); + Free(lpItem->pszText); + lpItem->pszText = NULL; } - isUnicodeNotify = (isW && !convertToAnsi); memset(&dispInfo, 0, sizeof(NMHDDISPINFOW)); dispInfo.hdr.hwndFrom = hwnd; dispInfo.hdr.idFrom = GetWindowLongPtrW (hwnd, GWLP_ID); - if (isUnicodeNotify || convertToUnicode) + if (infoPtr->nNotifyFormat == NFR_UNICODE) { dispInfo.hdr.code = HDN_GETDISPINFOW; + if (mask & HDI_TEXT) + pvBuffer = Alloc(MAX_HEADER_TEXT_LEN * sizeof(WCHAR)); } else { dispInfo.hdr.code = HDN_GETDISPINFOA; + if (mask & HDI_TEXT) + pvBuffer = Alloc(MAX_HEADER_TEXT_LEN * sizeof(CHAR)); } + dispInfo.pszText = (LPWSTR)pvBuffer; + dispInfo.cchTextMax = (pvBuffer!=NULL?MAX_HEADER_TEXT_LEN:0); dispInfo.iItem = iItem; dispInfo.mask = mask; - /* - dispInfo.pszText = Alloc(sizeof(WCHAR) * 260); - dispInfo.cchTextMax = 260; - */ - ret = (BOOL) SendMessageW(infoPtr->hwndNotify, WM_NOTIFY, - (WPARAM) dispInfo.hdr.idFrom, - (LPARAM) &dispInfo); + dispInfo.lParam = lpItem->lParam; + + TRACE("Sending HDN_GETDISPINFO%c\n", infoPtr->nNotifyFormat == NFR_UNICODE?'W':'A'); + SendMessageW(infoPtr->hwndNotify, WM_NOTIFY, + (WPARAM) dispInfo.hdr.idFrom, + (LPARAM) &dispInfo); TRACE("SendMessage returns(mask:0x%x,str:%s,lParam:%p)\n", dispInfo.mask, - (isUnicodeNotify ? debugstr_w(dispInfo.pszText) : (LPSTR) dispInfo.pszText), + (infoPtr->nNotifyFormat == NFR_UNICODE ? debugstr_w(dispInfo.pszText) : (LPSTR) dispInfo.pszText), (void*) dispInfo.lParam); - + + if (mask & HDI_IMAGE) + lpItem->iImage = dispInfo.iImage; + if (mask & HDI_TEXT) + { + if (infoPtr->nNotifyFormat == NFR_UNICODE) + { + lpItem->pszText = (LPWSTR)pvBuffer; + + /* the user might have used his own buffer */ + if (dispInfo.pszText != lpItem->pszText) + Str_GetPtrW(dispInfo.pszText, lpItem->pszText, MAX_HEADER_TEXT_LEN); + } + else + { + Str_SetPtrAtoW(&lpItem->pszText, (LPSTR)dispInfo.pszText); + Free(pvBuffer); + } + } + if (dispInfo.mask & HDI_DI_SETITEM) { - if (dispInfo.mask & HDI_IMAGE) - { - lpItem->iImage = dispInfo.iImage; - } - if (dispInfo.mask & HDI_TEXT) - { - if (isUnicodeNotify || convertToUnicode) - Str_SetPtrW(&lpItem->pszText, (LPCWSTR)dispInfo.pszText); - else /*if (convertToAnsi || !isW)*/ - Str_SetPtrAtoW(&lpItem->pszText, (LPCSTR)dispInfo.pszText); - } - - FIXME("NMHDDISPINFO returns with flags HDI_DI_SETITEM\n"); + /* make the items permanent */ + lpItem->callbackMask &= ~dispInfo.mask; } - if (NULL != phdi) - { - if ((phdi->mask & mask) & HDI_IMAGE) - { - phdi->iImage = dispInfo.iImage; - } - if ((phdi->mask & mask) & HDI_TEXT) - { - if (isUnicodeNotify) - Str_GetPtrW ((LPCWSTR)dispInfo.pszText, phdi->pszText, phdi->cchTextMax); - else if (convertToUnicode) - Str_GetPtrWtoA ((LPCWSTR)dispInfo.pszText, (LPSTR)phdi->pszText, phdi->cchTextMax); - else /*if (!isW) */ - Str_GetPtrA ((LPCSTR)dispInfo.pszText, (LPSTR)phdi->pszText, phdi->cchTextMax); - } - } - return ret; + return TRUE; } +/*** + * DESCRIPTION: + * Free the items that might be allocated with HEADER_PrepareCallbackItems + * + * PARAMETER(S): + * [I] lpItem : the item to free the data + * + */ +static void +HEADER_FreeCallbackItems(HEADER_ITEM *lpItem) +{ + if (lpItem->callbackMask&HDI_TEXT && lpItem->pszText != NULL) + { + Free(lpItem->pszText); + lpItem->pszText = NULL; + } + + if (lpItem->callbackMask&HDI_IMAGE) + lpItem->iImage = I_IMAGECALLBACK; +} static BOOL HEADER_SendClickNotify (HWND hwnd, UINT code, INT iItem) @@ -708,14 +969,91 @@ HEADER_SendClickNotify (HWND hwnd, UINT code, INT iItem) (WPARAM)nmhdr.hdr.idFrom, (LPARAM)&nmhdr); } - static LRESULT HEADER_CreateDragImage (HWND hwnd, WPARAM wParam) { - FIXME("empty stub!\n"); - return 0; + HEADER_INFO *infoPtr = HEADER_GetInfoPtr(hwnd); + HEADER_ITEM *lpItem; + HIMAGELIST himl; + HBITMAP hMemory, hOldBitmap; + HDC hMemoryDC; + HDC hDeviceDC; + int height, width; + + if (wParam < 0 || wParam >= infoPtr->uNumItem) + return FALSE; + lpItem = &infoPtr->items[wParam]; + width = lpItem->rect.right - lpItem->rect.left; + height = lpItem->rect.bottom - lpItem->rect.top; + + hDeviceDC = GetDC(NULL); + hMemoryDC = CreateCompatibleDC(hDeviceDC); + hMemory = CreateCompatibleBitmap(hDeviceDC, width, height); + ReleaseDC(NULL, hDeviceDC); + hOldBitmap = SelectObject(hMemoryDC, hMemory); + SetViewportOrgEx(hMemoryDC, -lpItem->rect.left, -lpItem->rect.top, NULL); + HEADER_DrawItem(hwnd, hMemoryDC, wParam, FALSE); + hMemory = SelectObject(hMemoryDC, hOldBitmap); + DeleteDC(hMemoryDC); + + if (hMemory == NULL) /* if anything failed */ + return FALSE; + + himl = ImageList_Create(width, height, ILC_COLORDDB, 1, 1); + ImageList_Add(himl, hMemory, NULL); + DeleteObject(hMemory); + return (LRESULT)himl; } +static LRESULT +HEADER_SetHotDivider(HWND hwnd, WPARAM wParam, LPARAM lParam) +{ + HEADER_INFO *infoPtr = HEADER_GetInfoPtr(hwnd); + INT iDivider; + RECT r; + + if (wParam) + { + POINT pt; + UINT flags; + pt.x = (INT)(SHORT)LOWORD(lParam); + pt.y = 0; + HEADER_InternalHitTest (hwnd, &pt, &flags, &iDivider); + + if (flags & HHT_TOLEFT) + iDivider = 0; + else if (flags & HHT_NOWHERE || flags & HHT_TORIGHT) + iDivider = infoPtr->uNumItem; + else + { + HEADER_ITEM *lpItem = &infoPtr->items[iDivider]; + if (pt.x > (lpItem->rect.left+lpItem->rect.right)/2) + iDivider = HEADER_NextItem(hwnd, iDivider); + } + } + else + iDivider = (INT)lParam; + + /* Note; wParam==FALSE, lParam==-1 is valid and is used to clear the hot divider */ + if (iDivider<-1 || iDivider>(int)infoPtr->uNumItem) + return iDivider; + + if (iDivider != infoPtr->iHotDivider) + { + if (infoPtr->iHotDivider != -1) + { + HEADER_GetHotDividerRect(hwnd, infoPtr, &r); + InvalidateRect(hwnd, &r, FALSE); + } + infoPtr->iHotDivider = iDivider; + if (iDivider != -1) + { + HEADER_GetHotDividerRect(hwnd, infoPtr, &r); + InvalidateRect(hwnd, &r, FALSE); + } + } + return iDivider; +} static LRESULT HEADER_DeleteItem (HWND hwnd, WPARAM wParam) @@ -730,8 +1068,7 @@ HEADER_DeleteItem (HWND hwnd, WPARAM wParam) if (infoPtr->uNumItem == 1) { TRACE("Simple delete!\n"); - if (infoPtr->items[0].pszText) - Free (infoPtr->items[0].pszText); + HEADER_DisposeItem(&infoPtr->items[0]); Free (infoPtr->items); Free(infoPtr->order); infoPtr->items = 0; @@ -746,8 +1083,7 @@ HEADER_DeleteItem (HWND hwnd, WPARAM wParam) for (i = 0; i < infoPtr->uNumItem; i++) TRACE("%d: order=%d, iOrder=%d, ->iOrder=%d\n", i, infoPtr->order[i], infoPtr->items[i].iOrder, infoPtr->items[infoPtr->order[i]].iOrder); - if (infoPtr->items[iItem].pszText) - Free (infoPtr->items[iItem].pszText); + HEADER_DisposeItem(&infoPtr->items[iItem]); iOrder = infoPtr->items[iItem].iOrder; infoPtr->uNumItem--; @@ -805,59 +1141,56 @@ HEADER_GetItemT (HWND hwnd, INT nItem, LPHDITEMW phdi, BOOL bUnicode) { HEADER_INFO *infoPtr = HEADER_GetInfoPtr (hwnd); HEADER_ITEM *lpItem; + UINT mask; if (!phdi) return FALSE; TRACE("[nItem=%d]\n", nItem); - if (phdi->mask == 0) + mask = phdi->mask; + if (mask == 0) return TRUE; + if ((nItem < 0) || (nItem >= (INT)infoPtr->uNumItem)) return FALSE; + if (mask & HDI_UNKNOWN_FIELDS) + { + TRACE("mask %x contains unknown fields. Using only comctl32 4.0 fields\n", mask); + mask &= HDI_COMCTL32_4_0_FIELDS; + } + lpItem = &infoPtr->items[nItem]; + HEADER_PrepareCallbackItems(hwnd, nItem, mask); - if (phdi->mask & HDI_BITMAP) - phdi->hbm = (lpItem != NULL) ? lpItem->hbm : 0; + if (mask & HDI_BITMAP) + phdi->hbm = lpItem->hbm; - if (phdi->mask & HDI_FORMAT) - phdi->fmt = (lpItem != NULL) ? lpItem->fmt : 0; + if (mask & HDI_FORMAT) + phdi->fmt = lpItem->fmt; - if (phdi->mask & HDI_WIDTH) - phdi->cxy = (lpItem != NULL) ? lpItem->cxy : 0; + if (mask & HDI_WIDTH) + phdi->cxy = lpItem->cxy; - if (phdi->mask & HDI_LPARAM) - phdi->lParam = (lpItem != NULL) ? lpItem->lParam : 0; + if (mask & HDI_LPARAM) + phdi->lParam = lpItem->lParam; - if (phdi->mask & HDI_IMAGE) + if (mask & HDI_IMAGE) + phdi->iImage = lpItem->iImage; + + if (mask & HDI_ORDER) + phdi->iOrder = lpItem->iOrder; + + if (mask & HDI_TEXT) { - phdi->iImage = (lpItem != NULL) ? lpItem->iImage : 0; - if (lpItem->iImage == I_IMAGECALLBACK) - { - HEADER_SendHeaderDispInfoNotify(hwnd, nItem, HDI_IMAGE, phdi, lpItem, bUnicode); - } - } - - if (phdi->mask & HDI_ORDER) - phdi->iOrder = (lpItem != NULL) ? lpItem->iOrder : 0; - - if (phdi->mask & HDI_TEXT) - { - if (lpItem == NULL) *phdi->pszText = 0; /* null pointer check */ - else if (lpItem->pszText == LPSTR_TEXTCALLBACKW) /* covers == TEXTCALLBACKA too */ - { - HEADER_SendHeaderDispInfoNotify(hwnd, nItem, HDI_TEXT, phdi, lpItem, bUnicode); - } + if (bUnicode) + Str_GetPtrW (lpItem->pszText, phdi->pszText, phdi->cchTextMax); else - { - if (bUnicode) - Str_GetPtrW (lpItem->pszText, phdi->pszText, phdi->cchTextMax); - else - Str_GetPtrWtoA (lpItem->pszText, (LPSTR)phdi->pszText, phdi->cchTextMax); - } + Str_GetPtrWtoA (lpItem->pszText, (LPSTR)phdi->pszText, phdi->cchTextMax); } + HEADER_FreeCallbackItems(lpItem); return TRUE; } @@ -927,7 +1260,7 @@ inline static LRESULT HEADER_GetUnicodeFormat (HWND hwnd) { HEADER_INFO *infoPtr = HEADER_GetInfoPtr (hwnd); - return infoPtr->bUnicode; + return (infoPtr->nNotifyFormat == NFR_UNICODE); } @@ -952,8 +1285,9 @@ HEADER_InsertItemT (HWND hwnd, INT nItem, LPHDITEMW phdi, BOOL bUnicode) HEADER_ITEM *lpItem; INT iOrder; UINT i; + UINT copyMask; - if ((phdi == NULL) || (nItem < 0)) + if ((phdi == NULL) || (nItem < 0) || (phdi->mask == 0)) return -1; if (nItem > infoPtr->uNumItem) @@ -1013,53 +1347,24 @@ HEADER_InsertItemT (HWND hwnd, INT nItem, LPHDITEMW phdi, BOOL bUnicode) } lpItem = &infoPtr->items[nItem]; - lpItem->bDown = FALSE; - - if (phdi->mask & HDI_WIDTH) - lpItem->cxy = phdi->cxy; - - if (phdi->mask & HDI_FORMAT) - lpItem->fmt = phdi->fmt; - - if (lpItem->fmt == 0) - lpItem->fmt = HDF_LEFT; - - if (phdi->mask & HDI_BITMAP) - lpItem->hbm = phdi->hbm; - - if (phdi->mask & HDI_LPARAM) - lpItem->lParam = phdi->lParam; - - if (phdi->mask & HDI_IMAGE) - { - if (phdi->iImage != I_IMAGECALLBACK) - { - lpItem->iImage = phdi->iImage; - } - else - { - lpItem->iImage = phdi->iImage; - HEADER_SendHeaderDispInfoNotify(hwnd, nItem, HDI_IMAGE, NULL, lpItem, bUnicode); - } - } + ZeroMemory(lpItem, sizeof(HEADER_ITEM)); + /* cxy, fmt and lParam are copied even if not in the HDITEM mask */ + copyMask = phdi->mask | HDI_WIDTH | HDI_FORMAT | HDI_LPARAM; + HEADER_StoreHDItemInHeader(lpItem, copyMask, phdi, bUnicode); + /* set automatically some format bits */ if (phdi->mask & HDI_TEXT) - { - if (!phdi->pszText) phdi->pszText = '\0'; /* null pointer check */ - if (phdi->pszText != LPSTR_TEXTCALLBACKW) /* covers != TEXTCALLBACKA too */ - { - if (bUnicode) - Str_SetPtrW(&lpItem->pszText, phdi->pszText); - else - Str_SetPtrAtoW(&lpItem->pszText, (LPSTR)phdi->pszText); - } - else - { - lpItem->pszText = phdi->pszText; - HEADER_SendHeaderDispInfoNotify(hwnd, nItem, HDI_TEXT, NULL, lpItem, bUnicode); - } lpItem->fmt |= HDF_STRING; - } + else + lpItem->fmt &= ~HDF_STRING; + + if (lpItem->hbm != NULL) + lpItem->fmt |= HDF_BITMAP; + else + lpItem->fmt &= ~HDF_BITMAP; + + if (phdi->mask & HDI_IMAGE) + lpItem->fmt |= HDF_IMAGE; lpItem->iOrder = iOrder; @@ -1140,6 +1445,8 @@ HEADER_SetItemT (HWND hwnd, INT nItem, LPHDITEMW phdi, BOOL bUnicode) { HEADER_INFO *infoPtr = HEADER_GetInfoPtr (hwnd); HEADER_ITEM *lpItem; + HDITEMW hdNotify; + void *pvScratch; if (phdi == NULL) return FALSE; @@ -1148,92 +1455,28 @@ HEADER_SetItemT (HWND hwnd, INT nItem, LPHDITEMW phdi, BOOL bUnicode) TRACE("[nItem=%d]\n", nItem); - if (HEADER_SendHeaderNotify (hwnd, bUnicode ? HDN_ITEMCHANGINGW : HDN_ITEMCHANGINGA, - nItem, phdi->mask)) + HEADER_CopyHDItemForNotify(infoPtr, &hdNotify, phdi, bUnicode, &pvScratch); + if (HEADER_SendHeaderNotifyT (hwnd, HDN_ITEMCHANGINGW, nItem, phdi->mask, &hdNotify)) + { + if (pvScratch) Free(pvScratch); return FALSE; + } lpItem = &infoPtr->items[nItem]; - if (phdi->mask & HDI_BITMAP) - lpItem->hbm = phdi->hbm; - - if (phdi->mask & HDI_FORMAT) - lpItem->fmt = phdi->fmt; - - if (phdi->mask & HDI_LPARAM) - lpItem->lParam = phdi->lParam; - - if (phdi->mask & HDI_WIDTH) - lpItem->cxy = phdi->cxy; - - if (phdi->mask & HDI_IMAGE) - { - if (phdi->iImage != I_IMAGECALLBACK) - { - lpItem->iImage = phdi->iImage; - } - else - { - lpItem->iImage = phdi->iImage; - HEADER_SendHeaderDispInfoNotify(hwnd, nItem, HDI_IMAGE, NULL, lpItem, bUnicode); - } - } - - if (phdi->mask & HDI_TEXT) - { - if (phdi->pszText != LPSTR_TEXTCALLBACKW) /* covers != TEXTCALLBACKA too */ - { - if (lpItem->pszText) - { - Free(lpItem->pszText); - lpItem->pszText = NULL; - } - if (phdi->pszText) - { - if (bUnicode) - Str_SetPtrW(&lpItem->pszText, phdi->pszText); - else - Str_SetPtrAtoW(&lpItem->pszText, (LPSTR)phdi->pszText); - } - } - else - { - lpItem->pszText = phdi->pszText; - HEADER_SendHeaderDispInfoNotify(hwnd, nItem, HDI_TEXT, NULL, lpItem, bUnicode); - } - } + HEADER_StoreHDItemInHeader(lpItem, phdi->mask, phdi, bUnicode); if (phdi->mask & HDI_ORDER) - { - INT i, nMin, nMax; - - if (lpItem->iOrder < phdi->iOrder) - { - memmove(&infoPtr->order[lpItem->iOrder], - &infoPtr->order[lpItem->iOrder + 1], - (phdi->iOrder - lpItem->iOrder) * sizeof(INT)); - } - if (phdi->iOrder < lpItem->iOrder) - { - memmove(&infoPtr->order[phdi->iOrder + 1], - &infoPtr->order[phdi->iOrder], - (lpItem->iOrder - phdi->iOrder) * sizeof(INT)); - } - infoPtr->order[phdi->iOrder] = nItem; - nMin = min(lpItem->iOrder, phdi->iOrder); - nMax = max(lpItem->iOrder, phdi->iOrder); - for (i = nMin; i <= nMax; i++) - { - infoPtr->items[infoPtr->order[i]].iOrder = infoPtr->order[i]; - } - } + if (phdi->iOrder >= 0 && phdi->iOrder < infoPtr->uNumItem) + HEADER_ChangeItemOrder(infoPtr, nItem, phdi->iOrder); - HEADER_SendHeaderNotify (hwnd, bUnicode ? HDN_ITEMCHANGEDW : HDN_ITEMCHANGEDA, - nItem, phdi->mask); + HEADER_SendHeaderNotifyT (hwnd, HDN_ITEMCHANGEDW, nItem, phdi->mask, &hdNotify); HEADER_SetItemBounds (hwnd); InvalidateRect(hwnd, NULL, FALSE); + if (pvScratch != NULL) + Free(pvScratch); return TRUE; } @@ -1241,9 +1484,9 @@ inline static LRESULT HEADER_SetUnicodeFormat (HWND hwnd, WPARAM wParam) { HEADER_INFO *infoPtr = HEADER_GetInfoPtr (hwnd); - BOOL bTemp = infoPtr->bUnicode; + BOOL bTemp = (infoPtr->nNotifyFormat == NFR_UNICODE); - infoPtr->bUnicode = (BOOL)wParam; + infoPtr->nNotifyFormat = ((BOOL)wParam ? NFR_UNICODE : NFR_ANSI); return bTemp; } @@ -1274,7 +1517,7 @@ HEADER_Create (HWND hwnd, WPARAM wParam, LPARAM lParam) infoPtr->iMoveItem = 0; infoPtr->himl = 0; infoPtr->iHotItem = -1; - infoPtr->bUnicode = IsWindowUnicode (hwnd); + infoPtr->iHotDivider = -1; infoPtr->iMargin = 3*GetSystemMetrics(SM_CXEDGE); infoPtr->nNotifyFormat = SendMessageW (infoPtr->hwndNotify, WM_NOTIFYFORMAT, (WPARAM)hwnd, NF_QUERY); @@ -1303,8 +1546,7 @@ HEADER_Destroy (HWND hwnd, WPARAM wParam, LPARAM lParam) if (infoPtr->items) { lpItem = infoPtr->items; for (nItem = 0; nItem < infoPtr->uNumItem; nItem++, lpItem++) { - if ((lpItem->pszText) && (lpItem->pszText != LPSTR_TEXTCALLBACKW)) - Free (lpItem->pszText); + HEADER_DisposeItem(lpItem); } Free (infoPtr->items); } @@ -1333,6 +1575,16 @@ HEADER_GetFont (HWND hwnd) } +static BOOL +HEADER_IsDragDistance(HEADER_INFO *infoPtr, POINT *pt) +{ + /* Windows allows for a mouse movement before starting the drag. We use the + * SM_CXDOUBLECLICK/SM_CYDOUBLECLICK as that distance. + */ + return (abs(infoPtr->ptLButtonDown.x - pt->x)>GetSystemMetrics(SM_CXDOUBLECLK) || + abs(infoPtr->ptLButtonDown.y - pt->y)>GetSystemMetrics(SM_CYDOUBLECLK)); +} + static LRESULT HEADER_LButtonDblClk (HWND hwnd, WPARAM wParam, LPARAM lParam) { @@ -1345,9 +1597,9 @@ HEADER_LButtonDblClk (HWND hwnd, WPARAM wParam, LPARAM lParam) HEADER_InternalHitTest (hwnd, &pt, &flags, &nItem); if ((GetWindowLongW (hwnd, GWL_STYLE) & HDS_BUTTONS) && (flags == HHT_ONHEADER)) - HEADER_SendHeaderNotify (hwnd, HDN_ITEMDBLCLICKA, nItem,0); + HEADER_SendHeaderNotifyT (hwnd, HDN_ITEMDBLCLICKW, nItem, 0, NULL); else if ((flags == HHT_ONDIVIDER) || (flags == HHT_ONDIVOPEN)) - HEADER_SendHeaderNotify (hwnd, HDN_DIVIDERDBLCLICKA, nItem,0); + HEADER_SendHeaderNotifyT (hwnd, HDN_DIVIDERDBLCLICKW, nItem, 0, NULL); return 0; } @@ -1371,7 +1623,9 @@ HEADER_LButtonDown (HWND hwnd, WPARAM wParam, LPARAM lParam) SetCapture (hwnd); infoPtr->bCaptured = TRUE; infoPtr->bPressed = TRUE; + infoPtr->bDragging = FALSE; infoPtr->iMoveItem = nItem; + infoPtr->ptLButtonDown = pt; infoPtr->items[nItem].bDown = TRUE; @@ -1383,7 +1637,7 @@ HEADER_LButtonDown (HWND hwnd, WPARAM wParam, LPARAM lParam) TRACE("Pressed item %d!\n", nItem); } else if ((flags == HHT_ONDIVIDER) || (flags == HHT_ONDIVOPEN)) { - if (!(HEADER_SendHeaderNotify (hwnd, HDN_BEGINTRACKA, nItem,0))) { + if (!(HEADER_SendHeaderNotifyT (hwnd, HDN_BEGINTRACKW, nItem, HDI_WIDTH, NULL))) { SetCapture (hwnd); infoPtr->bCaptured = TRUE; infoPtr->bTracking = TRUE; @@ -1410,9 +1664,7 @@ static LRESULT HEADER_LButtonUp (HWND hwnd, WPARAM wParam, LPARAM lParam) { HEADER_INFO *infoPtr = HEADER_GetInfoPtr (hwnd); - /* - *DWORD dwStyle = GetWindowLongW (hwnd, GWL_STYLE); - */ + DWORD dwStyle = GetWindowLongW (hwnd, GWL_STYLE); POINT pt; UINT flags; INT nItem, nWidth; @@ -1423,7 +1675,41 @@ HEADER_LButtonUp (HWND hwnd, WPARAM wParam, LPARAM lParam) HEADER_InternalHitTest (hwnd, &pt, &flags, &nItem); if (infoPtr->bPressed) { - if ((nItem == infoPtr->iMoveItem) && (flags == HHT_ONHEADER)) { + if (infoPtr->bDragging) + { + HEADER_ITEM *lpItem = &infoPtr->items[infoPtr->iMoveItem]; + INT iNewOrder; + + ImageList_DragShowNolock(FALSE); + ImageList_EndDrag(); + lpItem->bDown=FALSE; + + if (infoPtr->iHotDivider == -1) + iNewOrder = -1; + else if (infoPtr->iHotDivider == infoPtr->uNumItem) + iNewOrder = infoPtr->uNumItem-1; + else + { + iNewOrder = HEADER_IndexToOrder(hwnd, infoPtr->iHotDivider); + if (iNewOrder > lpItem->iOrder) + iNewOrder--; + } + + /* FIXME: the new order field should be sent, not the old one */ + if (iNewOrder != -1 && + !HEADER_SendHeaderNotifyT(hwnd, HDN_ENDDRAG, infoPtr->iMoveItem, HDI_ORDER, NULL)) + { + HEADER_ChangeItemOrder(infoPtr, infoPtr->iMoveItem, iNewOrder); + infoPtr->bRectsValid = FALSE; + InvalidateRect(hwnd, NULL, FALSE); + } + else + InvalidateRect(hwnd, &infoPtr->items[infoPtr->iMoveItem].rect, FALSE); + + HEADER_SetHotDivider(hwnd, FALSE, -1); + } + else if (!(dwStyle&HDS_DRAGDROP) || !HEADER_IsDragDistance(infoPtr, &pt)) + { infoPtr->items[infoPtr->iMoveItem].bDown = FALSE; hdc = GetDC (hwnd); HEADER_RefreshItem (hwnd, hdc, infoPtr->iMoveItem); @@ -1431,27 +1717,6 @@ HEADER_LButtonUp (HWND hwnd, WPARAM wParam, LPARAM lParam) HEADER_SendClickNotify (hwnd, HDN_ITEMCLICKA, infoPtr->iMoveItem); } - else if (flags == HHT_ONHEADER) - { - HEADER_ITEM *lpItem; - INT newindex = HEADER_IndexToOrder(hwnd,nItem); - INT oldindex = HEADER_IndexToOrder(hwnd,infoPtr->iMoveItem); - - TRACE("Exchanging [index:order] [%d:%d] [%d:%d]\n", - infoPtr->iMoveItem,oldindex,nItem,newindex); - lpItem= &infoPtr->items[nItem]; - lpItem->iOrder=oldindex; - - lpItem= &infoPtr->items[infoPtr->iMoveItem]; - lpItem->iOrder = newindex; - - infoPtr->order[oldindex] = nItem; - infoPtr->order[newindex] = infoPtr->iMoveItem; - - infoPtr->bRectsValid = FALSE; - InvalidateRect(hwnd, NULL, FALSE); - /* FIXME: Should some WM_NOTIFY be sent */ - } TRACE("Released item %d!\n", infoPtr->iMoveItem); infoPtr->bPressed = FALSE; @@ -1460,35 +1725,28 @@ HEADER_LButtonUp (HWND hwnd, WPARAM wParam, LPARAM lParam) TRACE("End tracking item %d!\n", infoPtr->iMoveItem); infoPtr->bTracking = FALSE; - HEADER_SendHeaderNotify (hwnd, HDN_ENDTRACKA, infoPtr->iMoveItem,HDI_WIDTH); - - /* - * we want to do this even for HDS_FULLDRAG because this is where - * we send the HDN_ITEMCHANGING and HDN_ITEMCHANGED notifications - * - * if (!(dwStyle & HDS_FULLDRAG)) { - */ + HEADER_SendHeaderNotifyT (hwnd, HDN_ENDTRACKW, infoPtr->iMoveItem, HDI_WIDTH, NULL); + if (!(dwStyle & HDS_FULLDRAG)) { hdc = GetDC (hwnd); HEADER_DrawTrackLine (hwnd, hdc, infoPtr->xOldTrack); ReleaseDC (hwnd, hdc); - if (HEADER_SendHeaderNotify(hwnd, HDN_ITEMCHANGINGA, infoPtr->iMoveItem, HDI_WIDTH)) - { - infoPtr->items[infoPtr->iMoveItem].cxy = infoPtr->nOldWidth; - } - else { - nWidth = pt.x - infoPtr->items[infoPtr->iMoveItem].rect.left + infoPtr->xTrackOffset; - if (nWidth < 0) - nWidth = 0; - infoPtr->items[infoPtr->iMoveItem].cxy = nWidth; - } + } + + if (HEADER_SendHeaderNotifyT(hwnd, HDN_ITEMCHANGINGW, infoPtr->iMoveItem, HDI_WIDTH, NULL)) + { + infoPtr->items[infoPtr->iMoveItem].cxy = infoPtr->nOldWidth; + } + else { + nWidth = pt.x - infoPtr->items[infoPtr->iMoveItem].rect.left + infoPtr->xTrackOffset; + if (nWidth < 0) + nWidth = 0; + infoPtr->items[infoPtr->iMoveItem].cxy = nWidth; + } - HEADER_SetItemBounds (hwnd); - InvalidateRect(hwnd, NULL, TRUE); - HEADER_SendHeaderNotify(hwnd, HDN_ITEMCHANGEDA, infoPtr->iMoveItem, HDI_WIDTH); - /* - * } - */ + HEADER_SetItemBounds (hwnd); + InvalidateRect(hwnd, NULL, TRUE); + HEADER_SendHeaderNotifyT(hwnd, HDN_ITEMCHANGEDW, infoPtr->iMoveItem, HDI_WIDTH, NULL); } if (infoPtr->bCaptured) { @@ -1521,7 +1779,6 @@ HEADER_NotifyFormat (HWND hwnd, WPARAM wParam, LPARAM lParam) return 0; } - static LRESULT HEADER_MouseLeave (HWND hwnd, WPARAM wParam, LPARAM lParam) { @@ -1565,7 +1822,36 @@ HEADER_MouseMove (HWND hwnd, WPARAM wParam, LPARAM lParam) } if (infoPtr->bCaptured) { - if (infoPtr->bPressed) { + /* check if we should drag the header */ + if (infoPtr->bPressed && !infoPtr->bDragging && dwStyle&HDS_DRAGDROP + && HEADER_IsDragDistance(infoPtr, &pt)) + { + if (!HEADER_SendHeaderNotifyT(hwnd, HDN_BEGINDRAG, infoPtr->iMoveItem, 0, NULL)) + { + HIMAGELIST hDragItem = (HIMAGELIST)HEADER_CreateDragImage(hwnd, infoPtr->iMoveItem); + if (hDragItem != NULL) + { + HEADER_ITEM *lpItem = &infoPtr->items[infoPtr->iMoveItem]; + TRACE("Starting item drag\n"); + ImageList_BeginDrag(hDragItem, 0, pt.x - lpItem->rect.left, 0); + ImageList_DragShowNolock(TRUE); + ImageList_Destroy(hDragItem); + infoPtr->bDragging = TRUE; + } + } + } + + if (infoPtr->bDragging) + { + POINT drag; + drag.x = pt.x; + drag.y = 0; + ClientToScreen(hwnd, &drag); + ImageList_DragMove(drag.x, drag.y); + HEADER_SetHotDivider(hwnd, TRUE, lParam); + } + + if (infoPtr->bPressed && !infoPtr->bDragging) { BOOL oldState = infoPtr->items[infoPtr->iMoveItem].bDown; if ((nItem == infoPtr->iMoveItem) && (flags == HHT_ONHEADER)) infoPtr->items[infoPtr->iMoveItem].bDown = TRUE; @@ -1581,15 +1867,27 @@ HEADER_MouseMove (HWND hwnd, WPARAM wParam, LPARAM lParam) } else if (infoPtr->bTracking) { if (dwStyle & HDS_FULLDRAG) { - if (HEADER_SendHeaderNotify (hwnd, HDN_TRACKA, infoPtr->iMoveItem, HDI_WIDTH)) + if (!HEADER_SendHeaderNotifyT (hwnd, HDN_ITEMCHANGINGW, infoPtr->iMoveItem, HDI_WIDTH, NULL)) { - nWidth = pt.x - infoPtr->items[infoPtr->iMoveItem].rect.left + infoPtr->xTrackOffset; - if (nWidth < 0) - nWidth = 0; - infoPtr->items[infoPtr->iMoveItem].cxy = nWidth; - HEADER_SendHeaderNotify(hwnd, HDN_ITEMCHANGEDA, infoPtr->iMoveItem, HDI_WIDTH); + HEADER_ITEM *lpItem = &infoPtr->items[infoPtr->iMoveItem]; + INT nOldWidth = lpItem->rect.right - lpItem->rect.left; + RECT rcClient; + RECT rcScroll; + + nWidth = pt.x - lpItem->rect.left + infoPtr->xTrackOffset; + if (nWidth < 0) nWidth = 0; + infoPtr->items[infoPtr->iMoveItem].cxy = nWidth; + HEADER_SetItemBounds(hwnd); + + GetClientRect(hwnd, &rcClient); + rcScroll = rcClient; + rcScroll.left = lpItem->rect.left + nOldWidth; + ScrollWindowEx(hwnd, nWidth - nOldWidth, 0, &rcScroll, &rcClient, NULL, NULL, 0); + InvalidateRect(hwnd, &lpItem->rect, FALSE); + UpdateWindow(hwnd); + + HEADER_SendHeaderNotifyT(hwnd, HDN_ITEMCHANGEDW, infoPtr->iMoveItem, HDI_WIDTH, NULL); } - HEADER_SetItemBounds (hwnd); } else { hdc = GetDC (hwnd); @@ -1601,7 +1899,7 @@ HEADER_MouseMove (HWND hwnd, WPARAM wParam, LPARAM lParam) infoPtr->xOldTrack - infoPtr->items[infoPtr->iMoveItem].rect.left; HEADER_DrawTrackLine (hwnd, hdc, infoPtr->xOldTrack); ReleaseDC (hwnd, hdc); - HEADER_SendHeaderNotify (hwnd, HDN_TRACKA, infoPtr->iMoveItem, HDI_WIDTH); + HEADER_SendHeaderNotifyT (hwnd, HDN_TRACKW, infoPtr->iMoveItem, HDI_WIDTH, NULL); } TRACE("Tracking item %d!\n", infoPtr->iMoveItem); @@ -1610,7 +1908,7 @@ HEADER_MouseMove (HWND hwnd, WPARAM wParam, LPARAM lParam) if (hotTrackEnabled) { TRACKMOUSEEVENT tme; - if (oldHotItem != infoPtr->iHotItem) { + if (oldHotItem != infoPtr->iHotItem && !infoPtr->bDragging) { hdc = GetDC (hwnd); if (oldHotItem != -1) HEADER_RefreshItem (hwnd, hdc, oldHotItem); if (infoPtr->iHotItem != -1) HEADER_RefreshItem (hwnd, hdc, infoPtr->iHotItem); @@ -1784,7 +2082,8 @@ HEADER_WindowProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) /* case HDM_SETFILTERCHANGETIMEOUT: */ -/* case HDM_SETHOTDIVIDER: */ + case HDM_SETHOTDIVIDER: + return HEADER_SetHotDivider(hwnd, wParam, lParam); case HDM_SETIMAGELIST: return HEADER_SetImageList (hwnd, (HIMAGELIST)lParam); diff --git a/reactos/dll/win32/comctl32/hotkey.c b/reactos/dll/win32/comctl32/hotkey.c index 635916483f1..e55d0753344 100644 --- a/reactos/dll/win32/comctl32/hotkey.c +++ b/reactos/dll/win32/comctl32/hotkey.c @@ -17,7 +17,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * This code was audited for completeness against the documented features * of Comctl32.dll version 6.0 on Sep. 21, 2004, by Robert Shearman. diff --git a/reactos/dll/win32/comctl32/imagelist.c b/reactos/dll/win32/comctl32/imagelist.c index 551f91a04f4..cbd8f3430a3 100644 --- a/reactos/dll/win32/comctl32/imagelist.c +++ b/reactos/dll/win32/comctl32/imagelist.c @@ -19,7 +19,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * NOTE * @@ -1833,6 +1833,7 @@ static HBITMAP _read_bitmap(LPSTREAM pstm,int ilcFlag,int cx,int cy) { width = bmih.biWidth; height = bmih.biHeight; bmihc = (LPBITMAPINFOHEADER)LocalAlloc(LMEM_ZEROINIT,sizeof(bmih)+palspace); + if (!bmihc) goto ret1; memcpy(bmihc,&bmih,sizeof(bmih)); longsperline = ((width*bitsperpixel+31)&~0x1f)>>5; bmihc->biSizeImage = (longsperline*height)<<2; @@ -1962,8 +1963,10 @@ HIMAGELIST WINAPI ImageList_Read (LPSTREAM pstm) #endif hbmColor = _read_bitmap(pstm,ilHead.flags & ~ILC_MASK,ilHead.cx,ilHead.cy); - if (!hbmColor) + if (!hbmColor) { + WARN("failed to read bitmap from stream\n"); return NULL; + } if (ilHead.flags & ILC_MASK) { hbmMask = _read_bitmap(pstm,0,ilHead.cx,ilHead.cy); if (!hbmMask) { diff --git a/reactos/dll/win32/comctl32/imagelist.h b/reactos/dll/win32/comctl32/imagelist.h index 5c5ab6998d3..a3c0b1ee94a 100644 --- a/reactos/dll/win32/comctl32/imagelist.h +++ b/reactos/dll/win32/comctl32/imagelist.h @@ -15,7 +15,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ #ifndef __WINE_IMAGELIST_H diff --git a/reactos/dll/win32/comctl32/ipaddress.c b/reactos/dll/win32/comctl32/ipaddress.c index aa59cb288cc..db7a49de574 100644 --- a/reactos/dll/win32/comctl32/ipaddress.c +++ b/reactos/dll/win32/comctl32/ipaddress.c @@ -19,7 +19,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * NOTE * diff --git a/reactos/dll/win32/comctl32/listview.c b/reactos/dll/win32/comctl32/listview.c index f1f01234e02..60c308325a7 100644 --- a/reactos/dll/win32/comctl32/listview.c +++ b/reactos/dll/win32/comctl32/listview.c @@ -19,7 +19,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * NOTES * @@ -172,7 +172,6 @@ #include #include #include -#include #include #include #include @@ -310,6 +309,7 @@ typedef struct tagLISTVIEW_INFO WCHAR szSearchParam[ MAX_PATH ]; BOOL bIsDrawing; INT nMeasureItemHeight; + INT xTrackLine; /* The x coefficient of the track line or -1 if none */ } LISTVIEW_INFO; /* @@ -397,7 +397,7 @@ typedef struct tagLISTVIEW_INFO TRACE("hwndSelf=%p, ntmH=%d, icSz.cx=%ld, icSz.cy=%ld, icSp.cx=%ld, icSp.cy=%ld, notifyFmt=%d\n", \ iP->hwndSelf, iP->ntmHeight, iP->iconSize.cx, iP->iconSize.cy, \ iP->iconSpacing.cx, iP->iconSpacing.cy, iP->notifyFormat); \ - TRACE("hwndSelf=%p, rcList=%s\n", iP->hwndSelf, debugrect(&iP->rcList)); \ + TRACE("hwndSelf=%p, rcList=%s\n", iP->hwndSelf, wine_dbgstr_rect(&iP->rcList)); \ } while(0) static const WCHAR themeClass[] = {'L','i','s','t','V','i','e','w',0}; @@ -565,40 +565,15 @@ static char* debug_getbuf(void) static inline const char* debugrange(const RANGE *lprng) { - if (lprng) - { - char* buf = debug_getbuf(); - snprintf(buf, DEBUG_BUFFER_SIZE, "[%d, %d)", lprng->lower, lprng->upper); - return buf; - } else return "(null)"; -} - -static inline const char* debugpoint(const POINT *lppt) -{ - if (lppt) - { - char* buf = debug_getbuf(); - snprintf(buf, DEBUG_BUFFER_SIZE, "(%ld, %ld)", lppt->x, lppt->y); - return buf; - } else return "(null)"; -} - -static inline const char* debugrect(const RECT *rect) -{ - if (rect) - { - char* buf = debug_getbuf(); - snprintf(buf, DEBUG_BUFFER_SIZE, "[(%ld, %ld);(%ld, %ld)]", - rect->left, rect->top, rect->right, rect->bottom); - return buf; - } else return "(null)"; + if (!lprng) return "(null)"; + return wine_dbg_sprintf("[%d, %d)", lprng->lower, lprng->upper); } static const char* debugscrollinfo(const SCROLLINFO *pScrollInfo) { char* buf = debug_getbuf(), *text = buf; int len, size = DEBUG_BUFFER_SIZE; - + if (pScrollInfo == NULL) return "(null)"; len = snprintf(buf, size, "{cbSize=%d, ", pScrollInfo->cbSize); if (len == -1) goto end; buf += len; size -= len; @@ -628,15 +603,11 @@ undo: static const char* debugnmlistview(const NMLISTVIEW *plvnm) { - if (plvnm) - { - char* buf = debug_getbuf(); - snprintf(buf, DEBUG_BUFFER_SIZE, "iItem=%d, iSubItem=%d, uNewState=0x%x," + if (!plvnm) return "(null)"; + return wine_dbg_sprintf("iItem=%d, iSubItem=%d, uNewState=0x%x," " uOldState=0x%x, uChanged=0x%x, ptAction=%s, lParam=%ld\n", plvnm->iItem, plvnm->iSubItem, plvnm->uNewState, plvnm->uOldState, - plvnm->uChanged, debugpoint(&plvnm->ptAction), plvnm->lParam); - return buf; - } else return "(null)"; + plvnm->uChanged, wine_dbgstr_point(&plvnm->ptAction), plvnm->lParam); } static const char* debuglvitem_t(const LVITEMW *lpLVItem, BOOL isW) @@ -717,13 +688,10 @@ undo: static const char* debuglvhittestinfo(const LVHITTESTINFO *lpht) { - if (lpht) - { - char* buf = debug_getbuf(); - snprintf(buf, DEBUG_BUFFER_SIZE, "{pt=%s, flags=0x%x, iItem=%d, iSubItem=%d}", - debugpoint(&lpht->pt), lpht->flags, lpht->iItem, lpht->iSubItem); - return buf; - } else return "(null)"; + if (!lpht) return "(null)"; + + return wine_dbg_sprintf("{pt=%s, flags=0x%x, iItem=%d, iSubItem=%d}", + wine_dbgstr_point(&lpht->pt), lpht->flags, lpht->iItem, lpht->iSubItem); } /* Return the corresponding text for a given scroll value */ @@ -1235,7 +1203,7 @@ static BOOL iterator_frameditems(ITERATOR* i, LISTVIEW_INFO* infoPtr, const RECT LISTVIEW_GetOrigin(infoPtr, &Origin); - TRACE("(lprc=%s)\n", debugrect(lprc)); + TRACE("(lprc=%s)\n", wine_dbgstr_rect(lprc)); OffsetRect(&frame, -Origin.x, -Origin.y); if (uView == LVS_ICON || uView == LVS_SMALLICON) @@ -1406,7 +1374,7 @@ static inline BOOL is_redrawing(LISTVIEW_INFO *infoPtr) static inline void LISTVIEW_InvalidateRect(LISTVIEW_INFO *infoPtr, const RECT* rect) { if(!is_redrawing(infoPtr)) return; - TRACE(" invalidating rect=%s\n", debugrect(rect)); + TRACE(" invalidating rect=%s\n", wine_dbgstr_rect(rect)); InvalidateRect(infoPtr->hwndSelf, rect, TRUE); } @@ -1666,6 +1634,7 @@ static void LISTVIEW_UpdateScroll(LISTVIEW_INFO *infoPtr) { UINT uView = infoPtr->dwStyle & LVS_TYPEMASK; SCROLLINFO horzInfo, vertInfo; + INT dx, dy; if ((infoPtr->dwStyle & LVS_NOSCROLL) || !is_redrawing(infoPtr)) return; @@ -1698,7 +1667,8 @@ static void LISTVIEW_UpdateScroll(LISTVIEW_INFO *infoPtr) horzInfo.fMask = SIF_RANGE | SIF_PAGE; horzInfo.nMax = max(horzInfo.nMax - 1, 0); - SetScrollInfo(infoPtr->hwndSelf, SB_HORZ, &horzInfo, TRUE); + dx = GetScrollPos(infoPtr->hwndSelf, SB_HORZ); + dx -= SetScrollInfo(infoPtr->hwndSelf, SB_HORZ, &horzInfo, TRUE); TRACE("horzInfo=%s\n", debugscrollinfo(&horzInfo)); /* Setting the horizontal scroll can change the listview size @@ -1729,9 +1699,19 @@ static void LISTVIEW_UpdateScroll(LISTVIEW_INFO *infoPtr) vertInfo.fMask = SIF_RANGE | SIF_PAGE; vertInfo.nMax = max(vertInfo.nMax - 1, 0); - SetScrollInfo(infoPtr->hwndSelf, SB_VERT, &vertInfo, TRUE); + dy = GetScrollPos(infoPtr->hwndSelf, SB_VERT); + dy -= SetScrollInfo(infoPtr->hwndSelf, SB_VERT, &vertInfo, TRUE); TRACE("vertInfo=%s\n", debugscrollinfo(&vertInfo)); + /* Change of the range may have changed the scroll pos. If so move the content */ + if (dx != 0 || dy != 0) + { + RECT listRect; + listRect = infoPtr->rcList; + ScrollWindowEx(infoPtr->hwndSelf, dx, dy, &listRect, &listRect, 0, 0, + SW_ERASE | SW_INVALIDATE); + } + /* Update the Header Control */ if (uView == LVS_REPORT) { @@ -1983,7 +1963,7 @@ static void LISTVIEW_GetItemMetrics(LISTVIEW_INFO *infoPtr, const LVITEMW *lpLVI State.bottom += infoPtr->iconStateSize.cy; } if (lprcState) *lprcState = State; - TRACE(" - state=%s\n", debugrect(&State)); + TRACE(" - state=%s\n", wine_dbgstr_rect(&State)); } else State.right = 0; @@ -2018,7 +1998,7 @@ static void LISTVIEW_GetItemMetrics(LISTVIEW_INFO *infoPtr, const LVITEMW *lpLVI Icon.bottom = Icon.top + infoPtr->nItemHeight; } if(lprcIcon) *lprcIcon = Icon; - TRACE(" - icon=%s\n", debugrect(&Icon)); + TRACE(" - icon=%s\n", wine_dbgstr_rect(&Icon)); } else Icon.right = 0; @@ -2083,8 +2063,7 @@ calc_label: infoPtr->iconSize.cy + ICON_BOTTOM_PADDING; Label.right = Label.left + labelSize.cx; Label.bottom = Label.top + infoPtr->nItemHeight; - if (!oversizedBox && labelSize.cy > infoPtr->ntmHeight && - infoPtr->ntmHeight) + if (!oversizedBox && labelSize.cy > infoPtr->ntmHeight) { labelSize.cy = min(Box.bottom - Label.top, labelSize.cy); labelSize.cy /= infoPtr->ntmHeight; @@ -2102,7 +2081,7 @@ calc_label: } if (lprcLabel) *lprcLabel = Label; - TRACE(" - label=%s\n", debugrect(&Label)); + TRACE(" - label=%s\n", wine_dbgstr_rect(&Label)); } /* Fix the Box if necessary */ @@ -2111,7 +2090,7 @@ calc_label: if (oversizedBox) UnionRect(lprcBox, &Box, &Label); else *lprcBox = Box; } - TRACE(" - box=%s\n", debugrect(&Box)); + TRACE(" - box=%s\n", wine_dbgstr_rect(&Box)); } /*** @@ -2369,7 +2348,7 @@ static BOOL LISTVIEW_GetViewRect(LISTVIEW_INFO *infoPtr, LPRECT lprcView) LISTVIEW_GetAreaRect(infoPtr, lprcView); OffsetRect(lprcView, ptOrigin.x, ptOrigin.y); - TRACE("lprcView=%s\n", debugrect(lprcView)); + TRACE("lprcView=%s\n", wine_dbgstr_rect(lprcView)); return TRUE; } @@ -3079,6 +3058,7 @@ static void LISTVIEW_SetGroupSelection(LISTVIEW_INFO *infoPtr, INT nItem) RANGES selection; LVITEMW item; ITERATOR i; + BOOL bOldChange; if (!(selection = ranges_create(100))) return; @@ -3120,12 +3100,19 @@ static void LISTVIEW_SetGroupSelection(LISTVIEW_INFO *infoPtr, INT nItem) iterator_destroy(&i); } + bOldChange = infoPtr->bDoChangeNotify; + infoPtr->bDoChangeNotify = FALSE; + LISTVIEW_DeselectAllSkipItems(infoPtr, selection); + + iterator_rangesitems(&i, selection); while(iterator_next(&i)) LISTVIEW_SetItemState(infoPtr, i.nItem, &item); /* this will also destroy the selection */ iterator_destroy(&i); + + infoPtr->bDoChangeNotify = bOldChange; LISTVIEW_SetItemFocus(infoPtr, nItem); } @@ -3680,7 +3667,7 @@ static inline BOOL LISTVIEW_FillBkgnd(LISTVIEW_INFO *infoPtr, HDC hdc, const REC { if (!infoPtr->hBkBrush) return FALSE; - TRACE("(hdc=%p, lprcBox=%s, hBkBrush=%p)\n", hdc, debugrect(lprcBox), infoPtr->hBkBrush); + TRACE("(hdc=%p, lprcBox=%s, hBkBrush=%p)\n", hdc, wine_dbgstr_rect(lprcBox), infoPtr->hBkBrush); return FillRect(hdc, lprcBox, infoPtr->hBkBrush); } @@ -3711,8 +3698,9 @@ static BOOL LISTVIEW_DrawItem(LISTVIEW_INFO *infoPtr, HDC hdc, INT nItem, INT nS NMLVCUSTOMDRAW nmlvcd; HIMAGELIST himl; LVITEMW lvItem; + HFONT hOldFont; - TRACE("(hdc=%p, nItem=%d, nSubItem=%d, pos=%s)\n", hdc, nItem, nSubItem, debugpoint(&pos)); + TRACE("(hdc=%p, nItem=%d, nSubItem=%d, pos=%s)\n", hdc, nItem, nSubItem, wine_dbgstr_point(&pos)); /* get information needed for drawing the item */ lvItem.mask = LVIF_TEXT | LVIF_IMAGE; @@ -3733,7 +3721,7 @@ static BOOL LISTVIEW_DrawItem(LISTVIEW_INFO *infoPtr, HDC hdc, INT nItem, INT nS /* now check if we need to update the focus rectangle */ lprcFocus = infoPtr->bFocus && (lvItem.state & LVIS_FOCUSED) ? &infoPtr->rcFocus : 0; - + if (!lprcFocus) lvItem.state &= ~LVIS_FOCUSED; LISTVIEW_GetItemMetrics(infoPtr, &lvItem, &rcBox, &rcState, &rcIcon, &rcLabel); OffsetRect(&rcBox, pos.x, pos.y); @@ -3741,11 +3729,13 @@ static BOOL LISTVIEW_DrawItem(LISTVIEW_INFO *infoPtr, HDC hdc, INT nItem, INT nS OffsetRect(&rcIcon, pos.x, pos.y); OffsetRect(&rcLabel, pos.x, pos.y); TRACE(" rcBox=%s, rcState=%s, rcIcon=%s. rcLabel=%s\n", - debugrect(&rcBox), debugrect(&rcState), debugrect(&rcIcon), debugrect(&rcLabel)); + wine_dbgstr_rect(&rcBox), wine_dbgstr_rect(&rcState), + wine_dbgstr_rect(&rcIcon), wine_dbgstr_rect(&rcLabel)); /* fill in the custom draw structure */ customdraw_fill(&nmlvcd, infoPtr, hdc, &rcBox, &lvItem); + hOldFont = GetCurrentObject(hdc, OBJ_FONT); if (nSubItem > 0) cdmode = infoPtr->cditemmode; if (cdmode & CDRF_NOTIFYITEMDRAW) cdsubitemmode = notify_customdraw(infoPtr, CDDS_PREPAINT, &nmlvcd); @@ -3823,6 +3813,8 @@ static BOOL LISTVIEW_DrawItem(LISTVIEW_INFO *infoPtr, HDC hdc, INT nItem, INT nS postpaint: if (cdsubitemmode & CDRF_NOTIFYPOSTPAINT) notify_postpaint(infoPtr, &nmlvcd); + if (cdsubitemmode & CDRF_NEWFONT) + SelectObject(hdc, hOldFont); return TRUE; } @@ -3878,7 +3870,7 @@ static void LISTVIEW_RefreshOwnerDraw(LISTVIEW_INFO *infoPtr, ITERATOR *i, HDC h dis.rcItem.bottom = dis.rcItem.top + infoPtr->nItemHeight; dis.itemData = item.lParam; - TRACE("item=%s, rcItem=%s\n", debuglvitem_t(&item, TRUE), debugrect(&dis.rcItem)); + TRACE("item=%s, rcItem=%s\n", debuglvitem_t(&item, TRUE), wine_dbgstr_rect(&dis.rcItem)); /* * Even if we do not send the CDRF_NOTIFYITEMDRAW we need to fill the nmlvcd @@ -4438,6 +4430,7 @@ static BOOL LISTVIEW_DeleteColumn(LISTVIEW_INFO *infoPtr, INT nColumn) } /* update the other column info */ + LISTVIEW_UpdateItemSize(infoPtr); if(DPA_GetPtrCount(infoPtr->hdpaColumns) == 0) LISTVIEW_InvalidateList(infoPtr); else @@ -4500,10 +4493,10 @@ static void LISTVIEW_ScrollOnInsert(LISTVIEW_INFO *infoPtr, INT nItem, INT dir) rcScroll.right = rcScroll.left + infoPtr->nItemWidth; rcScroll.bottom = nPerCol * infoPtr->nItemHeight; OffsetRect(&rcScroll, Origin.x, Origin.y); - TRACE("rcScroll=%s, dx=%d\n", debugrect(&rcScroll), dir * infoPtr->nItemHeight); + TRACE("rcScroll=%s, dx=%d\n", wine_dbgstr_rect(&rcScroll), dir * infoPtr->nItemHeight); if (IntersectRect(&rcScroll, &rcScroll, &infoPtr->rcList)) { - TRACE("Scrolling rcScroll=%s, rcList=%s\n", debugrect(&rcScroll), debugrect(&infoPtr->rcList)); + TRACE("Scrolling rcScroll=%s, rcList=%s\n", wine_dbgstr_rect(&rcScroll), wine_dbgstr_rect(&infoPtr->rcList)); ScrollWindowEx(infoPtr->hwndSelf, 0, dir * infoPtr->nItemHeight, &rcScroll, &rcScroll, 0, 0, SW_ERASE | SW_INVALIDATE); } @@ -5461,7 +5454,7 @@ static BOOL LISTVIEW_GetItemPosition(LISTVIEW_INFO *infoPtr, INT nItem, LPPOINT lpptPosition->x += Origin.x; lpptPosition->y += Origin.y; - TRACE (" lpptPosition=%s\n", debugpoint(lpptPosition)); + TRACE (" lpptPosition=%s\n", wine_dbgstr_point(lpptPosition)); return TRUE; } @@ -5597,7 +5590,7 @@ static BOOL LISTVIEW_GetItemRect(LISTVIEW_INFO *infoPtr, INT nItem, LPRECT lprc) OffsetRect(lprc, Position.x + Origin.x, Position.y + Origin.y); - TRACE(" rect=%s\n", debugrect(lprc)); + TRACE(" rect=%s\n", wine_dbgstr_rect(lprc)); return TRUE; } @@ -5848,7 +5841,7 @@ static INT LISTVIEW_GetNextItem(LISTVIEW_INFO *infoPtr, INT nItem, UINT uFlags) } lvFindInfo.flags = LVFI_NEARESTXY; lvFindInfo.vkDirection = VK_UP; - ListView_GetItemPosition(infoPtr->hwndSelf, nItem, &lvFindInfo.pt); + SendMessageW( infoPtr->hwndSelf, LVM_GETITEMPOSITION, nItem, (LPARAM)&lvFindInfo.pt ); while ((nItem = ListView_FindItemW(infoPtr->hwndSelf, nItem, &lvFindInfo)) != -1) { if ((ListView_GetItemState(infoPtr->hwndSelf, nItem, uMask) & uMask) == uMask) @@ -5883,7 +5876,7 @@ static INT LISTVIEW_GetNextItem(LISTVIEW_INFO *infoPtr, INT nItem, UINT uFlags) } lvFindInfo.flags = LVFI_NEARESTXY; lvFindInfo.vkDirection = VK_DOWN; - ListView_GetItemPosition(infoPtr->hwndSelf, nItem, &lvFindInfo.pt); + SendMessageW( infoPtr->hwndSelf, LVM_GETITEMPOSITION, nItem, (LPARAM)&lvFindInfo.pt ); while ((nItem = ListView_FindItemW(infoPtr->hwndSelf, nItem, &lvFindInfo)) != -1) { if ((LISTVIEW_GetItemState(infoPtr, nItem, uMask) & uMask) == uMask) @@ -5919,7 +5912,7 @@ static INT LISTVIEW_GetNextItem(LISTVIEW_INFO *infoPtr, INT nItem, UINT uFlags) } lvFindInfo.flags = LVFI_NEARESTXY; lvFindInfo.vkDirection = VK_LEFT; - ListView_GetItemPosition(infoPtr->hwndSelf, nItem, &lvFindInfo.pt); + SendMessageW( infoPtr->hwndSelf, LVM_GETITEMPOSITION, nItem, (LPARAM)&lvFindInfo.pt ); while ((nItem = ListView_FindItemW(infoPtr->hwndSelf, nItem, &lvFindInfo)) != -1) { if ((ListView_GetItemState(infoPtr->hwndSelf, nItem, uMask) & uMask) == uMask) @@ -5955,7 +5948,7 @@ static INT LISTVIEW_GetNextItem(LISTVIEW_INFO *infoPtr, INT nItem, UINT uFlags) } lvFindInfo.flags = LVFI_NEARESTXY; lvFindInfo.vkDirection = VK_RIGHT; - ListView_GetItemPosition(infoPtr->hwndSelf, nItem, &lvFindInfo.pt); + SendMessageW( infoPtr->hwndSelf, LVM_GETITEMPOSITION, nItem, (LPARAM)&lvFindInfo.pt ); while ((nItem = ListView_FindItemW(infoPtr->hwndSelf, nItem, &lvFindInfo)) != -1) { if ((LISTVIEW_GetItemState(infoPtr, nItem, uMask) & uMask) == uMask) @@ -6017,7 +6010,7 @@ static void LISTVIEW_GetOrigin(LISTVIEW_INFO *infoPtr, LPPOINT lpptOrigin) lpptOrigin->x -= nHorzPos; lpptOrigin->y -= nVertPos; - TRACE(" origin=%s\n", debugpoint(lpptOrigin)); + TRACE(" origin=%s\n", wine_dbgstr_point(lpptOrigin)); } /*** @@ -6083,7 +6076,7 @@ static INT LISTVIEW_HitTest(LISTVIEW_INFO *infoPtr, LPLVHITTESTINFO lpht, BOOL s ITERATOR i; INT iItem; - TRACE("(pt=%s, subitem=%d, select=%d)\n", debugpoint(&lpht->pt), subitem, select); + TRACE("(pt=%s, subitem=%d, select=%d)\n", wine_dbgstr_point(&lpht->pt), subitem, select); lpht->flags = 0; lpht->iItem = -1; @@ -6140,7 +6133,7 @@ static INT LISTVIEW_HitTest(LISTVIEW_INFO *infoPtr, LPLVHITTESTINFO lpht, BOOL s rcBounds = rcBox; else UnionRect(&rcBounds, &rcIcon, &rcLabel); - TRACE("rcBounds=%s\n", debugrect(&rcBounds)); + TRACE("rcBounds=%s\n", wine_dbgstr_rect(&rcBounds)); if (!PtInRect(&rcBounds, opt)) return -1; if (PtInRect(&rcIcon, opt)) @@ -6240,7 +6233,7 @@ static INT LISTVIEW_InsertItemT(LISTVIEW_INFO *infoPtr, const LVITEMW *lpLVItem, if (infoPtr->dwStyle & LVS_OWNERDATA) return infoPtr->nItemCount++; /* make sure it's an item, and not a subitem; cannot insert a subitem */ - if (!lpLVItem || lpLVItem->iItem < 0 || lpLVItem->iSubItem) return -1; + if (!lpLVItem || lpLVItem->iSubItem) return -1; if (!is_assignable_item(lpLVItem, infoPtr->dwStyle)) return -1; @@ -6253,6 +6246,8 @@ static INT LISTVIEW_InsertItemT(LISTVIEW_INFO *infoPtr, const LVITEMW *lpLVItem, is_sorted = (infoPtr->dwStyle & (LVS_SORTASCENDING | LVS_SORTDESCENDING)) && !(infoPtr->dwStyle & LVS_OWNERDRAWFIXED) && (LPSTR_TEXTCALLBACKW != lpLVItem->pszText); + if (lpLVItem->iItem < 0 && !is_sorted) return -1; + nItem = is_sorted ? infoPtr->nItemCount : min(lpLVItem->iItem, infoPtr->nItemCount); TRACE(" inserting at %d, sorted=%d, count=%d, iItem=%d\n", nItem, is_sorted, infoPtr->nItemCount, lpLVItem->iItem); nItem = DPA_InsertPtr( infoPtr->hdpaItems, nItem, hdpaSubItems ); @@ -6493,7 +6488,7 @@ static void column_fill_hditem(LISTVIEW_INFO *infoPtr, HDITEMW *lphdi, INT nColu /* retrieve the layout of the header */ GetClientRect(infoPtr->hwndSelf, &rcHeader); - TRACE("start cxy=%d rcHeader=%s\n", lphdi->cxy, debugrect(&rcHeader)); + TRACE("start cxy=%d rcHeader=%s\n", lphdi->cxy, wine_dbgstr_rect(&rcHeader)); lphdi->cxy = (rcHeader.right - rcHeader.left) - lphdi->cxy; } @@ -6551,6 +6546,16 @@ static INT LISTVIEW_InsertColumnT(LISTVIEW_INFO *infoPtr, INT nColumn, ZeroMemory(&hdi, sizeof(HDITEMW)); column_fill_hditem(infoPtr, &hdi, nColumn, lpColumn, isW); + + /* + * when the iSubItem is available Windows copies it to the header lParam. It seems + * to happen only in LVM_INSERTCOLUMN - not in LVM_SETCOLUMN + */ + if (lpColumn->mask & LVCF_SUBITEM) + { + hdi.mask |= HDI_LPARAM; + hdi.lParam = lpColumn->iSubItem; + } /* insert item in header control */ nNewColumn = SendMessageW(infoPtr->hwndHeader, @@ -6767,7 +6772,7 @@ static BOOL LISTVIEW_SetColumnWidth(LISTVIEW_INFO *infoPtr, INT nColumn, INT cx) hdi.mask = HDI_TEXT; hdi.cchTextMax = DISP_TEXT_SIZE; hdi.pszText = szDispText; - if (Header_GetItemW(infoPtr->hwndHeader, nColumn, (LPARAM)&hdi)) + if (Header_GetItemW(infoPtr->hwndHeader, nColumn, &hdi)) { HDC hdc = GetDC(infoPtr->hwndSelf); HFONT old_font = SelectObject(hdc, (HFONT)SendMessageW(infoPtr->hwndHeader, WM_GETFONT, 0, 0)); @@ -6789,7 +6794,7 @@ static BOOL LISTVIEW_SetColumnWidth(LISTVIEW_INFO *infoPtr, INT nColumn, INT cx) hdi.mask = HDI_WIDTH; hdi.cxy = cx; TRACE("hdi.cxy=%d\n", hdi.cxy); - return Header_SetItemW(infoPtr->hwndHeader, nColumn, (LPARAM)&hdi); + return Header_SetItemW(infoPtr->hwndHeader, nColumn, &hdi); } /*** @@ -6869,6 +6874,16 @@ static DWORD LISTVIEW_SetExtendedListViewStyle(LISTVIEW_INFO *infoPtr, DWORD dwM himl = LISTVIEW_CreateCheckBoxIL(infoPtr); LISTVIEW_SetImageList(infoPtr, LVSIL_STATE, himl); } + + if((infoPtr->dwLvExStyle ^ dwOldStyle) & LVS_EX_HEADERDRAGDROP) + { + DWORD dwStyle = GetWindowLongW(infoPtr->hwndHeader, GWL_STYLE); + if (infoPtr->dwLvExStyle & LVS_EX_HEADERDRAGDROP) + dwStyle |= HDS_DRAGDROP; + else + dwStyle &= ~HDS_DRAGDROP; + SetWindowLongW(infoPtr->hwndHeader, GWL_STYLE, dwStyle); + } return dwOldStyle; } @@ -6988,7 +7003,7 @@ static DWORD LISTVIEW_SetIconSpacing(LISTVIEW_INFO *infoPtr, INT cx, INT cy) return oldspacing; } -static inline void set_icon_size(SIZE *size, HIMAGELIST himl, BOOL _small) +static inline void set_icon_size(SIZE *size, HIMAGELIST himl, BOOL small) { INT cx, cy; @@ -6999,8 +7014,8 @@ static inline void set_icon_size(SIZE *size, HIMAGELIST himl, BOOL _small) } else { - size->cx = GetSystemMetrics(_small ? SM_CXSMICON : SM_CXICON); - size->cy = GetSystemMetrics(_small ? SM_CYSMICON : SM_CYICON); + size->cx = GetSystemMetrics(small ? SM_CXSMICON : SM_CXICON); + size->cy = GetSystemMetrics(small ? SM_CYSMICON : SM_CYICON); } } @@ -7177,7 +7192,7 @@ static BOOL LISTVIEW_SetItemPosition(LISTVIEW_INFO *infoPtr, INT nItem, POINT pt UINT uView = infoPtr->dwStyle & LVS_TYPEMASK; POINT Origin; - TRACE("(nItem=%d, &pt=%s\n", nItem, debugpoint(&pt)); + TRACE("(nItem=%d, &pt=%s\n", nItem, wine_dbgstr_point(&pt)); if (nItem < 0 || nItem >= infoPtr->nItemCount || !(uView == LVS_ICON || uView == LVS_SMALLICON)) return FALSE; @@ -7417,11 +7432,9 @@ static INT WINAPI LISTVIEW_CallBackCompare(LPVOID first, LPVOID second, LPARAM l LISTVIEW_INFO *infoPtr = (LISTVIEW_INFO *)lParam; ITEM_INFO* lv_first = (ITEM_INFO*) DPA_GetPtr( (HDPA)first, 0 ); ITEM_INFO* lv_second = (ITEM_INFO*) DPA_GetPtr( (HDPA)second, 0 ); - PFNLVCOMPARE CompareFunction = infoPtr->pfnCompare; /* Forward the call to the client defined callback */ - - return (CompareFunction)( lv_first->lParam , lv_second->lParam, infoPtr->lParamSort ); + return (infoPtr->pfnCompare)( lv_first->lParam , lv_second->lParam, infoPtr->lParamSort ); } /*** @@ -7550,6 +7563,40 @@ static BOOL LISTVIEW_Update(LISTVIEW_INFO *infoPtr, INT nItem) return TRUE; } +/*** + * DESCRIPTION: + * Draw the track line at the place defined in the infoPtr structure. + * The line is drawn with a XOR pen so drawing the line for the second time + * in the same place erases the line. + * + * PARAMETER(S): + * [I] infoPtr : valid pointer to the listview structure + * + * RETURN: + * SUCCESS : TRUE + * FAILURE : FALSE + */ +static BOOL LISTVIEW_DrawTrackLine(LISTVIEW_INFO *infoPtr) +{ + HPEN hOldPen; + HDC hdc; + INT oldROP; + + if (infoPtr->xTrackLine == -1) + return FALSE; + + if (!(hdc = GetDC(infoPtr->hwndSelf))) + return FALSE; + hOldPen = SelectObject(hdc, GetStockObject(BLACK_PEN)); + oldROP = SetROP2(hdc, R2_XORPEN); + MoveToEx(hdc, infoPtr->xTrackLine, infoPtr->rcList.top, NULL); + LineTo(hdc, infoPtr->xTrackLine, infoPtr->rcList.bottom); + SetROP2(hdc, oldROP); + SelectObject(hdc, hOldPen); + ReleaseDC(infoPtr->hwndSelf, hdc); + return TRUE; +} + /*** * DESCRIPTION: @@ -7602,6 +7649,7 @@ static LRESULT LISTVIEW_Create(HWND hwnd, const CREATESTRUCTW *lpcs) infoPtr->nEditLabelItem = -1; infoPtr->dwHoverTime = -1; /* default system hover time */ infoPtr->nMeasureItemHeight = 0; + infoPtr->xTrackLine = -1; /* no track line */ /* get default font (icon title) */ SystemParametersInfoW(SPI_GETICONTITLELOGFONT, 0, &logFont, 0); @@ -7611,7 +7659,7 @@ static LRESULT LISTVIEW_Create(HWND hwnd, const CREATESTRUCTW *lpcs) /* create header */ infoPtr->hwndHeader = CreateWindowW(WC_HEADERW, NULL, - WS_CHILD | HDS_HORZ | (DWORD)((LVS_NOSORTHEADER & lpcs->style)?0:HDS_BUTTONS), + WS_CHILD | HDS_HORZ | HDS_FULLDRAG | (DWORD)((LVS_NOSORTHEADER & lpcs->style)?0:HDS_BUTTONS), 0, 0, 0, 0, hwnd, NULL, lpcs->hInstance, NULL); if (!infoPtr->hwndHeader) goto fail; @@ -8205,7 +8253,7 @@ static LRESULT LISTVIEW_LButtonDown(LISTVIEW_INFO *infoPtr, WORD wKey, INT x, IN lvHitTestInfo.pt.y = y; nItem = LISTVIEW_HitTest(infoPtr, &lvHitTestInfo, TRUE, TRUE); - TRACE("at %s, nItem=%d\n", debugpoint(&pt), nItem); + TRACE("at %s, nItem=%d\n", wine_dbgstr_point(&pt), nItem); infoPtr->nEditLabelItem = -1; if ((nItem >= 0) && (nItem < infoPtr->nItemCount)) { @@ -8394,27 +8442,59 @@ static LRESULT LISTVIEW_HeaderNotification(LISTVIEW_INFO *infoPtr, const NMHEADE switch (lpnmh->hdr.code) { - case HDN_ITEMCHANGINGW: - case HDN_ITEMCHANGINGA: - return notify_forward_header(infoPtr, lpnmh); - case HDN_ITEMCHANGEDW: - case HDN_ITEMCHANGEDA: - notify_forward_header(infoPtr, lpnmh); - if (!IsWindow(hwndSelf)) - break; - /* Fall through */ case HDN_TRACKW: case HDN_TRACKA: + { + COLUMN_INFO *lpColumnInfo; + POINT ptOrigin; + INT x; + + if (!lpnmh->pitem || !(lpnmh->pitem->mask & HDI_WIDTH)) + break; + + /* remove the old line (if any) */ + LISTVIEW_DrawTrackLine(infoPtr); + + /* compute & draw the new line */ + lpColumnInfo = LISTVIEW_GetColumnInfo(infoPtr, lpnmh->iItem); + x = lpColumnInfo->rcHeader.left + lpnmh->pitem->cxy; + LISTVIEW_GetOrigin(infoPtr, &ptOrigin); + infoPtr->xTrackLine = x + ptOrigin.x; + LISTVIEW_DrawTrackLine(infoPtr); + break; + } + + case HDN_ENDTRACKA: + case HDN_ENDTRACKW: + /* remove the track line (if any) */ + LISTVIEW_DrawTrackLine(infoPtr); + infoPtr->xTrackLine = -1; + break; + + case HDN_ENDDRAG: + FIXME("Changing column order not implemented\n"); + return TRUE; + + case HDN_ITEMCHANGINGW: + case HDN_ITEMCHANGINGA: + return notify_forward_header(infoPtr, lpnmh); + + case HDN_ITEMCHANGEDW: + case HDN_ITEMCHANGEDA: { COLUMN_INFO *lpColumnInfo; INT dx, cxy; + + notify_forward_header(infoPtr, lpnmh); + if (!IsWindow(hwndSelf)) + break; if (!lpnmh->pitem || !(lpnmh->pitem->mask & HDI_WIDTH)) { HDITEMW hdi; hdi.mask = HDI_WIDTH; - if (!Header_GetItemW(infoPtr->hwndHeader, lpnmh->iItem, (LPARAM)&hdi)) return 0; + if (!Header_GetItemW(infoPtr->hwndHeader, lpnmh->iItem, &hdi)) return 0; cxy = hdi.cxy; } else @@ -8914,7 +8994,7 @@ static void LISTVIEW_UpdateSize(LISTVIEW_INFO *infoPtr) { UINT uView = infoPtr->dwStyle & LVS_TYPEMASK; - TRACE("uView=%d, rcList(old)=%s\n", uView, debugrect(&infoPtr->rcList)); + TRACE("uView=%d, rcList(old)=%s\n", uView, wine_dbgstr_rect(&infoPtr->rcList)); GetClientRect(infoPtr->hwndSelf, &infoPtr->rcList); @@ -8938,14 +9018,14 @@ static void LISTVIEW_UpdateSize(LISTVIEW_INFO *infoPtr) hl.prc = &infoPtr->rcList; hl.pwpos = ℘ - Header_Layout(infoPtr->hwndHeader, &hl); + SendMessageW( infoPtr->hwndHeader, HDM_LAYOUT, 0, (LPARAM)&hl ); SetWindowPos(wp.hwnd, wp.hwndInsertAfter, wp.x, wp.y, wp.cx, wp.cy, wp.flags); infoPtr->rcList.top = max(wp.cy, 0); } - TRACE(" rcList=%s\n", debugrect(&infoPtr->rcList)); + TRACE(" rcList=%s\n", wine_dbgstr_rect(&infoPtr->rcList)); } /*** @@ -9016,7 +9096,7 @@ static INT LISTVIEW_StyleChanged(LISTVIEW_INFO *infoPtr, WPARAM wStyleType, hl.prc = &infoPtr->rcList; hl.pwpos = ℘ - Header_Layout(infoPtr->hwndHeader, &hl); + SendMessageW( infoPtr->hwndHeader, HDM_LAYOUT, 0, (LPARAM)&hl ); SetWindowPos(infoPtr->hwndHeader, infoPtr->hwndSelf, wp.x, wp.y, wp.cx, wp.cy, wp.flags); } @@ -9820,8 +9900,7 @@ static HWND CreateEditLabelT(LISTVIEW_INFO *infoPtr, LPCWSTR text, DWORD style, hOldFont = SelectObject(hdc, infoPtr->hFont); /*Get String Length in pixels */ - if(!GetTextExtentPoint32W(hdc, text, lstrlenW(text), &sz)) - sz.cx = 0; + GetTextExtentPoint32W(hdc, text, lstrlenW(text), &sz); /*Add Extra spacing for the next character */ GetTextMetricsW(hdc, &textMetric); diff --git a/reactos/dll/win32/comctl32/monthcal.c b/reactos/dll/win32/comctl32/monthcal.c index 340b68142f2..908eb831fde 100644 --- a/reactos/dll/win32/comctl32/monthcal.c +++ b/reactos/dll/win32/comctl32/monthcal.c @@ -19,7 +19,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * NOTE * @@ -160,14 +160,10 @@ int MONTHCAL_MonthLength(int month, int year) /* make sure that time is valid */ static int MONTHCAL_ValidateTime(SYSTEMTIME time) { - if(time.wMonth > 12) return FALSE; + if(time.wMonth < 1 || time.wMonth > 12 ) return FALSE; if(time.wDayOfWeek > 6) return FALSE; if(time.wDay > MONTHCAL_MonthLength(time.wMonth, time.wYear)) return FALSE; - if(time.wHour > 23) return FALSE; - if(time.wMinute > 59) return FALSE; - if(time.wSecond > 59) return FALSE; - if(time.wMilliseconds > 999) return FALSE; return TRUE; } @@ -934,48 +930,54 @@ MONTHCAL_GetMaxTodayWidth(MONTHCAL_INFO *infoPtr) } -/* FIXME: are validated times taken from current date/time or simply - * copied? - * FIXME: check whether MCM_GETMONTHRANGE shows correct result after - * adjusting range with MCM_SETRANGE - */ - static LRESULT MONTHCAL_SetRange(MONTHCAL_INFO *infoPtr, WPARAM wParam, LPARAM lParam) { - SYSTEMTIME *lprgSysTimeArray=(SYSTEMTIME *)lParam; - int prev; + SYSTEMTIME *lprgSysTimeArray=(SYSTEMTIME *)lParam; + FILETIME ft_min, ft_max; - TRACE("%x %lx\n", wParam, lParam); + TRACE("%x %lx\n", wParam, lParam); - if(wParam & GDTR_MAX) { - if(MONTHCAL_ValidateTime(lprgSysTimeArray[1])){ - MONTHCAL_CopyTime(&lprgSysTimeArray[1], &infoPtr->maxDate); - infoPtr->rangeValid|=GDTR_MAX; - } else { - GetSystemTime(&infoPtr->todaysDate); - MONTHCAL_CopyTime(&infoPtr->todaysDate, &infoPtr->maxDate); + if ((wParam & GDTR_MIN && !MONTHCAL_ValidateTime(lprgSysTimeArray[0])) || + (wParam & GDTR_MAX && !MONTHCAL_ValidateTime(lprgSysTimeArray[1]))) + return FALSE; + + if (wParam & GDTR_MIN) + { + MONTHCAL_CopyTime(&lprgSysTimeArray[0], &infoPtr->minDate); + infoPtr->rangeValid |= GDTR_MIN; } - } - if(wParam & GDTR_MIN) { - if(MONTHCAL_ValidateTime(lprgSysTimeArray[0])) { - MONTHCAL_CopyTime(&lprgSysTimeArray[0], &infoPtr->minDate); - infoPtr->rangeValid|=GDTR_MIN; - } else { - GetSystemTime(&infoPtr->todaysDate); - MONTHCAL_CopyTime(&infoPtr->todaysDate, &infoPtr->minDate); + if (wParam & GDTR_MAX) + { + MONTHCAL_CopyTime(&lprgSysTimeArray[1], &infoPtr->maxDate); + infoPtr->rangeValid |= GDTR_MAX; } - } - prev = infoPtr->monthRange; - infoPtr->monthRange = infoPtr->maxDate.wMonth - infoPtr->minDate.wMonth; + /* Only one limit set - we are done */ + if ((infoPtr->rangeValid & (GDTR_MIN | GDTR_MAX)) != (GDTR_MIN | GDTR_MAX)) + return TRUE; + + SystemTimeToFileTime(&infoPtr->maxDate, &ft_max); + SystemTimeToFileTime(&infoPtr->minDate, &ft_min); - if(infoPtr->monthRange!=prev) { - infoPtr->monthdayState = ReAlloc(infoPtr->monthdayState, - infoPtr->monthRange * sizeof(MONTHDAYSTATE)); - } + if (CompareFileTime(&ft_min, &ft_max) > 0) + { + if ((wParam & (GDTR_MIN | GDTR_MAX)) == (GDTR_MIN | GDTR_MAX)) + { + /* Native swaps limits only when both limits are being set. */ + SYSTEMTIME st_tmp = infoPtr->minDate; + infoPtr->minDate = infoPtr->maxDate; + infoPtr->maxDate = st_tmp; + } + else + { + /* Reset the other limit. */ + /* FIXME: native sets date&time to 0. Should we do this too? */ + infoPtr->rangeValid &= wParam & GDTR_MIN ? ~GDTR_MAX : ~GDTR_MIN ; + } + } - return 1; + return TRUE; } diff --git a/reactos/dll/win32/comctl32/nativefont.c b/reactos/dll/win32/comctl32/nativefont.c index 4695e7fb8a4..54c8ac85f0f 100644 --- a/reactos/dll/win32/comctl32/nativefont.c +++ b/reactos/dll/win32/comctl32/nativefont.c @@ -15,7 +15,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * NOTES * This is just a dummy control. An author is needed! Any volunteers? diff --git a/reactos/dll/win32/comctl32/pager.c b/reactos/dll/win32/comctl32/pager.c index cd25159d16e..3c193e07c24 100644 --- a/reactos/dll/win32/comctl32/pager.c +++ b/reactos/dll/win32/comctl32/pager.c @@ -15,7 +15,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * NOTES * @@ -59,7 +59,6 @@ #include "wingdi.h" #include "winuser.h" #include "winnls.h" -#include "windowsx.h" #include "commctrl.h" #include "comctl32.h" #include "wine/debug.h" @@ -1315,7 +1314,7 @@ PAGER_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) return PAGER_Destroy (infoPtr); case WM_SIZE: - return PAGER_Size (infoPtr, (INT)wParam, GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)); + return PAGER_Size (infoPtr, (INT)wParam, (short)LOWORD(lParam), (short)HIWORD(lParam)); case WM_NCPAINT: return PAGER_NCPaint (infoPtr, (HRGN)wParam); @@ -1330,18 +1329,18 @@ PAGER_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) return PAGER_NCCalcSize (infoPtr, wParam, (LPRECT)lParam); case WM_NCHITTEST: - return PAGER_NCHitTest (infoPtr, GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)); + return PAGER_NCHitTest (infoPtr, (short)LOWORD(lParam), (short)HIWORD(lParam)); case WM_MOUSEMOVE: if (infoPtr->bForward && infoPtr->hwndChild) PostMessageW(infoPtr->hwndChild, WM_MOUSEMOVE, wParam, lParam); - return PAGER_MouseMove (infoPtr, (INT)wParam, GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)); + return PAGER_MouseMove (infoPtr, (INT)wParam, (short)LOWORD(lParam), (short)HIWORD(lParam)); case WM_LBUTTONDOWN: - return PAGER_LButtonDown (infoPtr, (INT)wParam, GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)); + return PAGER_LButtonDown (infoPtr, (INT)wParam, (short)LOWORD(lParam), (short)HIWORD(lParam)); case WM_LBUTTONUP: - return PAGER_LButtonUp (infoPtr, (INT)wParam, GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)); + return PAGER_LButtonUp (infoPtr, (INT)wParam, (short)LOWORD(lParam), (short)HIWORD(lParam)); case WM_ERASEBKGND: return PAGER_EraseBackground (infoPtr, (HDC)wParam); diff --git a/reactos/dll/win32/comctl32/progress.c b/reactos/dll/win32/comctl32/progress.c index eb0b11a4172..7acf71b66f3 100644 --- a/reactos/dll/win32/comctl32/progress.c +++ b/reactos/dll/win32/comctl32/progress.c @@ -16,7 +16,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * NOTE * @@ -131,35 +131,12 @@ static inline int get_bar_position( PROGRESS_INFO *infoPtr, LONG style, /*********************************************************************** * PROGRESS_Invalidate * - * Invalide the range between old and new pos. + * Don't be too clever about invalidating the progress bar. + * InstallShield depends on this simple behaviour. */ static void PROGRESS_Invalidate( PROGRESS_INFO *infoPtr, INT old, INT new ) { - LONG style = GetWindowLongW (infoPtr->Self, GWL_STYLE); - RECT rect; - int oldPos, newPos; - BOOL barSmooth = (style & PBS_SMOOTH) && !GetWindowTheme (infoPtr->Self); - - get_client_rect( infoPtr->Self, &rect ); - - oldPos = get_bar_position( infoPtr, style, &rect, old ); - newPos = get_bar_position( infoPtr, style, &rect, new ); - - if (style & PBS_VERTICAL) - { - rect.top = rect.bottom - max( oldPos, newPos ); - rect.bottom = rect.bottom - min( oldPos, newPos ); - if (!barSmooth) rect.top -= - get_led_size (infoPtr, style, &rect) + get_led_gap (infoPtr); - } - else - { - rect.left = min( oldPos, newPos ); - rect.right = max( oldPos, newPos ); - if (!barSmooth) rect.right += - get_led_size (infoPtr, style, &rect) + get_led_gap (infoPtr); - } - InvalidateRect( infoPtr->Self, &rect, oldPos > newPos ); + InvalidateRect( infoPtr->Self, NULL, old > new ); } /* Information for a progress bar drawing helper */ diff --git a/reactos/dll/win32/comctl32/propsheet.c b/reactos/dll/win32/comctl32/propsheet.c index 78fdc430a1d..9f3527d1a71 100644 --- a/reactos/dll/win32/comctl32/propsheet.c +++ b/reactos/dll/win32/comctl32/propsheet.c @@ -18,7 +18,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * This code was audited for completeness against the documented features * of Comctl32.dll version 6.0 on Sep. 12, 2004, by Filip Navara. @@ -144,7 +144,7 @@ typedef struct * Defines and global variables */ -const WCHAR PropSheetInfoStr[] = +static const WCHAR PropSheetInfoStr[] = {'P','r','o','p','e','r','t','y','S','h','e','e','t','I','n','f','o',0 }; #define PSP_INTERNAL_UNICODE 0x80000000 @@ -162,59 +162,18 @@ const WCHAR PropSheetInfoStr[] = /****************************************************************************** * Prototypes */ -static INT_PTR PROPSHEET_CreateDialog(PropSheetInfo* psInfo); -static BOOL PROPSHEET_SizeMismatch(HWND hwndDlg, PropSheetInfo* psInfo); -static BOOL PROPSHEET_AdjustSize(HWND hwndDlg, PropSheetInfo* psInfo); -static BOOL PROPSHEET_AdjustButtons(HWND hwndParent, PropSheetInfo* psInfo); -static BOOL PROPSHEET_CollectSheetInfoA(LPCPROPSHEETHEADERA lppsh, - PropSheetInfo * psInfo); -static BOOL PROPSHEET_CollectSheetInfoW(LPCPROPSHEETHEADERW lppsh, - PropSheetInfo * psInfo); -static BOOL PROPSHEET_CollectPageInfo(LPCPROPSHEETPAGEW lppsp, - PropSheetInfo * psInfo, - int index); -static BOOL PROPSHEET_CreateTabControl(HWND hwndParent, - PropSheetInfo * psInfo); -static BOOL PROPSHEET_CreatePage(HWND hwndParent, int index, - const PropSheetInfo * psInfo, - LPCPROPSHEETPAGEW ppshpage); -static BOOL PROPSHEET_ShowPage(HWND hwndDlg, int index, PropSheetInfo * psInfo); static PADDING_INFO PROPSHEET_GetPaddingInfo(HWND hwndDlg); -static BOOL PROPSHEET_Back(HWND hwndDlg); -static BOOL PROPSHEET_Next(HWND hwndDlg); -static BOOL PROPSHEET_Finish(HWND hwndDlg); -static BOOL PROPSHEET_Apply(HWND hwndDlg, LPARAM lParam); -static void PROPSHEET_Cancel(HWND hwndDlg, LPARAM lParam); -static void PROPSHEET_Help(HWND hwndDlg); -static void PROPSHEET_Changed(HWND hwndDlg, HWND hwndDirtyPage); -static void PROPSHEET_UnChanged(HWND hwndDlg, HWND hwndCleanPage); -static void PROPSHEET_PressButton(HWND hwndDlg, int buttonID); -static void PROPSHEET_SetFinishTextA(HWND hwndDlg, LPCSTR lpszText); -static void PROPSHEET_SetFinishTextW(HWND hwndDlg, LPCWSTR lpszText); -static void PROPSHEET_SetTitleA(HWND hwndDlg, DWORD dwStyle, LPCSTR lpszText); static void PROPSHEET_SetTitleW(HWND hwndDlg, DWORD dwStyle, LPCWSTR lpszText); static BOOL PROPSHEET_CanSetCurSel(HWND hwndDlg); static BOOL PROPSHEET_SetCurSel(HWND hwndDlg, int index, int skipdir, HPROPSHEETPAGE hpage); -static void PROPSHEET_SetCurSelId(HWND hwndDlg, int id); -static LRESULT PROPSHEET_QuerySiblings(HWND hwndDlg, - WPARAM wParam, LPARAM lParam); -static BOOL PROPSHEET_AddPage(HWND hwndDlg, - HPROPSHEETPAGE hpage); - -static BOOL PROPSHEET_RemovePage(HWND hwndDlg, - int index, - HPROPSHEETPAGE hpage); -static void PROPSHEET_CleanUp(HWND hwndDlg); static int PROPSHEET_GetPageIndex(HPROPSHEETPAGE hpage, PropSheetInfo* psInfo); -static void PROPSHEET_SetWizButtons(HWND hwndDlg, DWORD dwFlags); static PADDING_INFO PROPSHEET_GetPaddingInfoWizard(HWND hwndDlg, const PropSheetInfo* psInfo); -static BOOL PROPSHEET_IsDialogMessage(HWND hwnd, LPMSG lpMsg); static BOOL PROPSHEET_DoCommand(HWND hwnd, WORD wID); -INT_PTR CALLBACK +static INT_PTR CALLBACK PROPSHEET_DialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); WINE_DEFAULT_DEBUG_CHANNEL(propsheet); @@ -443,7 +402,7 @@ static BOOL PROPSHEET_CollectSheetInfoW(LPCPROPSHEETHEADERW lppsh, * Collect property sheet data. * With code taken from DIALOG_ParseTemplate32. */ -BOOL PROPSHEET_CollectPageInfo(LPCPROPSHEETPAGEW lppsp, +static BOOL PROPSHEET_CollectPageInfo(LPCPROPSHEETPAGEW lppsp, PropSheetInfo * psInfo, int index) { @@ -1606,8 +1565,7 @@ static BOOL PROPSHEET_ShowPage(HWND hwndDlg, int index, PropSheetInfo * psInfo) PROPSHEET_CreatePage(hwndDlg, index, psInfo, ppshpage); } - if ((psInfo->ppshheader.dwFlags & INTRNL_ANY_WIZARD) && - (ppshpage->dwFlags & PSP_USETITLE)) + if (psInfo->ppshheader.dwFlags & INTRNL_ANY_WIZARD) { PROPSHEET_SetTitleW(hwndDlg, psInfo->ppshheader.dwFlags, psInfo->proppage[index].pszText); @@ -2475,25 +2433,23 @@ static void PROPSHEET_SetWizButtons(HWND hwndDlg, DWORD dwFlags) EnableWindow(hwndNext, FALSE); EnableWindow(hwndFinish, FALSE); + /* set the default pushbutton to an enabled button */ + if (((dwFlags & PSWIZB_FINISH) || psInfo->hasFinish) && !(dwFlags & PSWIZB_DISABLEDFINISH)) + SendMessageW(hwndDlg, DM_SETDEFID, IDC_FINISH_BUTTON, 0); + else if (dwFlags & PSWIZB_NEXT) + SendMessageW(hwndDlg, DM_SETDEFID, IDC_NEXT_BUTTON, 0); + else if (dwFlags & PSWIZB_BACK) + SendMessageW(hwndDlg, DM_SETDEFID, IDC_BACK_BUTTON, 0); + else + SendMessageW(hwndDlg, DM_SETDEFID, IDCANCEL, 0); + + if (dwFlags & PSWIZB_BACK) EnableWindow(hwndBack, TRUE); if (dwFlags & PSWIZB_NEXT) - { - if (!psInfo->hasFinish) - { - /* Hide the Finish button */ - ShowWindow(hwndFinish, SW_HIDE); - } - - /* Show and enable the Next button */ - ShowWindow(hwndNext, SW_SHOW); EnableWindow(hwndNext, TRUE); - /* Set the Next button as the default pushbutton */ - SendMessageW(hwndDlg, DM_SETDEFID, IDC_NEXT_BUTTON, 0); - } - if (!psInfo->hasFinish) { if ((dwFlags & PSWIZB_FINISH) || (dwFlags & PSWIZB_DISABLEDFINISH)) @@ -2505,12 +2461,14 @@ static void PROPSHEET_SetWizButtons(HWND hwndDlg, DWORD dwFlags) ShowWindow(hwndFinish, SW_SHOW); if (!(dwFlags & PSWIZB_DISABLEDFINISH)) - { EnableWindow(hwndFinish, TRUE); - - /* Set the Finish button as the default pushbutton */ - SendMessageW(hwndDlg, DM_SETDEFID, IDC_FINISH_BUTTON, 0); - } + } + else + { + /* Hide the Finish button */ + ShowWindow(hwndFinish, SW_HIDE); + /* Show the Next button */ + ShowWindow(hwndNext, SW_SHOW); } } else if (!(dwFlags & PSWIZB_DISABLEDFINISH)) @@ -2926,26 +2884,72 @@ HPROPSHEETPAGE WINAPI CreatePropertySheetPageA( memcpy(ppsp,lpPropSheetPage,min(lpPropSheetPage->dwSize,sizeof(PROPSHEETPAGEA))); ppsp->dwFlags &= ~ PSP_INTERNAL_UNICODE; - if ( !(ppsp->dwFlags & PSP_DLGINDIRECT) && HIWORD( ppsp->u.pszTemplate ) ) - { - int len = strlen(lpPropSheetPage->u.pszTemplate); - ppsp->u.pszTemplate = Alloc( len+1 ); - strcpy( (LPSTR)ppsp->u.pszTemplate, lpPropSheetPage->u.pszTemplate ); - } - if ( (ppsp->dwFlags & PSP_USEICONID) && HIWORD( ppsp->u2.pszIcon ) ) - { - PROPSHEET_AtoW(&ppsp->u2.pszIcon, lpPropSheetPage->u2.pszIcon); - } + if ( !(ppsp->dwFlags & PSP_DLGINDIRECT) ) + { + if (HIWORD( ppsp->u.pszTemplate )) + { + int len = strlen(lpPropSheetPage->u.pszTemplate) + 1; + ppsp->u.pszTemplate = Alloc( len ); + strcpy( (LPSTR)ppsp->u.pszTemplate, lpPropSheetPage->u.pszTemplate ); + } + } - if ((ppsp->dwFlags & PSP_USETITLE) && HIWORD( ppsp->pszTitle )) - { - PROPSHEET_AtoW(&ppsp->pszTitle, lpPropSheetPage->pszTitle); - } - else if ( !(ppsp->dwFlags & PSP_USETITLE) ) - ppsp->pszTitle = NULL; + if (ppsp->dwFlags & PSP_USEICONID) + { + if (HIWORD( ppsp->u2.pszIcon )) + PROPSHEET_AtoW(&ppsp->u2.pszIcon, lpPropSheetPage->u2.pszIcon); + } - return (HPROPSHEETPAGE)ppsp; + if (ppsp->dwFlags & PSP_USETITLE) + { + if (HIWORD( ppsp->pszTitle )) + PROPSHEET_AtoW( &ppsp->pszTitle, lpPropSheetPage->pszTitle ); + else + { + UINT id = LOWORD(ppsp->pszTitle); + int len = LoadStringW( ppsp->hInstance, id, NULL, 0 ) + 1; + ppsp->pszTitle = Alloc( len * sizeof(WCHAR) ); + LoadStringW( ppsp->hInstance, id, (LPWSTR)ppsp->pszTitle, len ); + } + } + else + ppsp->pszTitle = NULL; + + if (ppsp->dwFlags & PSP_HIDEHEADER) + ppsp->dwFlags &= ~(PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE); + + if (ppsp->dwFlags & PSP_USEHEADERTITLE) + { + if (HIWORD( ppsp->pszHeaderTitle )) + PROPSHEET_AtoW(&ppsp->pszHeaderTitle, lpPropSheetPage->pszHeaderTitle); + else + { + UINT id = LOWORD(ppsp->pszHeaderTitle); + int len = LoadStringW( ppsp->hInstance, id, NULL, 0 ) + 1; + ppsp->pszHeaderTitle = Alloc( len * sizeof(WCHAR) ); + LoadStringW( ppsp->hInstance, id, (LPWSTR)ppsp->pszHeaderTitle, len ); + } + } + else + ppsp->pszHeaderTitle = NULL; + + if (ppsp->dwFlags & PSP_USEHEADERSUBTITLE) + { + if (HIWORD( ppsp->pszHeaderSubTitle )) + PROPSHEET_AtoW(&ppsp->pszHeaderSubTitle, lpPropSheetPage->pszHeaderSubTitle); + else + { + UINT id = LOWORD(ppsp->pszHeaderSubTitle); + int len = LoadStringW( ppsp->hInstance, id, NULL, 0 ) + 1; + ppsp->pszHeaderSubTitle = Alloc( len * sizeof(WCHAR) ); + LoadStringW( ppsp->hInstance, id, (LPWSTR)ppsp->pszHeaderSubTitle, len ); + } + } + else + ppsp->pszHeaderSubTitle = NULL; + + return (HPROPSHEETPAGE)ppsp; } /****************************************************************************** @@ -2961,30 +2965,87 @@ HPROPSHEETPAGE WINAPI CreatePropertySheetPageW(LPCPROPSHEETPAGEW lpPropSheetPage ppsp->dwFlags |= PSP_INTERNAL_UNICODE; - if ( !(ppsp->dwFlags & PSP_DLGINDIRECT) && HIWORD( ppsp->u.pszTemplate ) ) - { - int len = strlenW(lpPropSheetPage->u.pszTemplate); + if ( !(ppsp->dwFlags & PSP_DLGINDIRECT) ) + { + if (HIWORD( ppsp->u.pszTemplate )) + { + int len = strlenW(lpPropSheetPage->u.pszTemplate) + 1; + ppsp->u.pszTemplate = Alloc( len * sizeof (WCHAR) ); + strcpyW( (WCHAR *)ppsp->u.pszTemplate, lpPropSheetPage->u.pszTemplate ); + } + } - ppsp->u.pszTemplate = Alloc( (len+1)*sizeof (WCHAR) ); - strcpyW( (WCHAR *)ppsp->u.pszTemplate, lpPropSheetPage->u.pszTemplate ); - } - if ( (ppsp->dwFlags & PSP_USEICONID) && HIWORD( ppsp->u2.pszIcon ) ) - { - int len = strlenW(lpPropSheetPage->u2.pszIcon); - ppsp->u2.pszIcon = Alloc( (len+1)*sizeof (WCHAR) ); - strcpyW( (WCHAR *)ppsp->u2.pszIcon, lpPropSheetPage->u2.pszIcon ); - } + if ( ppsp->dwFlags & PSP_USEICONID ) + { + if (HIWORD( ppsp->u2.pszIcon )) + { + int len = strlenW(lpPropSheetPage->u2.pszIcon) + 1; + ppsp->u2.pszIcon = Alloc( len * sizeof (WCHAR) ); + strcpyW( (WCHAR *)ppsp->u2.pszIcon, lpPropSheetPage->u2.pszIcon ); + } + } - if ((ppsp->dwFlags & PSP_USETITLE) && HIWORD( ppsp->pszTitle )) - { - int len = strlenW(lpPropSheetPage->pszTitle); - ppsp->pszTitle = Alloc( (len+1)*sizeof (WCHAR) ); - strcpyW( (WCHAR *)ppsp->pszTitle, lpPropSheetPage->pszTitle ); - } - else if ( !(ppsp->dwFlags & PSP_USETITLE) ) - ppsp->pszTitle = NULL; + if (ppsp->dwFlags & PSP_USETITLE) + { + if (HIWORD( ppsp->pszTitle )) + { + int len = strlenW(lpPropSheetPage->pszTitle) + 1; + ppsp->pszTitle = Alloc( len * sizeof (WCHAR) ); + strcpyW( (WCHAR *)ppsp->pszTitle, lpPropSheetPage->pszTitle ); + } + else + { + UINT id = LOWORD(ppsp->pszTitle); + int len = LoadStringW( ppsp->hInstance, id, NULL, 0 ) + 1; + ppsp->pszTitle = Alloc( len * sizeof(WCHAR) ); + LoadStringW( ppsp->hInstance, id, (LPWSTR)ppsp->pszTitle, len ); + } + } + else + ppsp->pszTitle = NULL; - return (HPROPSHEETPAGE)ppsp; + if (ppsp->dwFlags & PSP_HIDEHEADER) + ppsp->dwFlags &= ~(PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE); + + if (ppsp->dwFlags & PSP_USEHEADERTITLE) + { + if (HIWORD( ppsp->pszHeaderTitle )) + { + int len = strlenW(lpPropSheetPage->pszHeaderTitle) + 1; + ppsp->pszHeaderTitle = Alloc( len * sizeof (WCHAR) ); + strcpyW( (WCHAR *)ppsp->pszHeaderTitle, lpPropSheetPage->pszHeaderTitle ); + } + else + { + UINT id = LOWORD(ppsp->pszHeaderTitle); + int len = LoadStringW( ppsp->hInstance, id, NULL, 0 ) + 1; + ppsp->pszHeaderTitle = Alloc( len * sizeof(WCHAR) ); + LoadStringW( ppsp->hInstance, id, (LPWSTR)ppsp->pszHeaderTitle, len ); + } + } + else + ppsp->pszHeaderTitle = NULL; + + if (ppsp->dwFlags & PSP_USEHEADERSUBTITLE) + { + if (HIWORD( ppsp->pszHeaderSubTitle )) + { + int len = strlenW(lpPropSheetPage->pszHeaderSubTitle) + 1; + ppsp->pszHeaderSubTitle = Alloc( len * sizeof (WCHAR) ); + strcpyW( (WCHAR *)ppsp->pszHeaderSubTitle, lpPropSheetPage->pszHeaderSubTitle ); + } + else + { + UINT id = LOWORD(ppsp->pszHeaderSubTitle); + int len = LoadStringW( ppsp->hInstance, id, NULL, 0 ) + 1; + ppsp->pszHeaderSubTitle = Alloc( len * sizeof(WCHAR) ); + LoadStringW( ppsp->hInstance, id, (LPWSTR)ppsp->pszHeaderSubTitle, len ); + } + } + else + ppsp->pszHeaderSubTitle = NULL; + + return (HPROPSHEETPAGE)ppsp; } /****************************************************************************** @@ -3339,7 +3400,7 @@ static LRESULT PROPSHEET_Paint(HWND hwnd, HDC hdcParam) /****************************************************************************** * PROPSHEET_DialogProc */ -INT_PTR CALLBACK +static INT_PTR CALLBACK PROPSHEET_DialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { TRACE("hwnd=%p msg=0x%04x wparam=%x lparam=%lx\n", @@ -3427,21 +3488,6 @@ PROPSHEET_DialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) } } - if (psInfo->useCallback) - (*(psInfo->ppshheader.pfnCallback))(hwnd, - PSCB_INITIALIZED, (LPARAM)0); - - idx = psInfo->active_page; - ppshpage = (LPCPROPSHEETPAGEW)psInfo->proppage[idx].hpage; - psInfo->active_page = -1; - - PROPSHEET_SetCurSel(hwnd, idx, 1, psInfo->proppage[idx].hpage); - - /* doing TCM_SETCURSEL seems to be needed even in case of PSH_WIZARD, - * as some programs call TCM_GETCURSEL to get the current selection - * from which to switch to the next page */ - SendMessageW(hwndTabCtrl, TCM_SETCURSEL, psInfo->active_page, 0); - if (!HIWORD(psInfo->ppshheader.pszCaption) && psInfo->ppshheader.hInstance) { @@ -3457,6 +3503,22 @@ PROPSHEET_DialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) psInfo->ppshheader.pszCaption); } + + if (psInfo->useCallback) + (*(psInfo->ppshheader.pfnCallback))(hwnd, + PSCB_INITIALIZED, (LPARAM)0); + + idx = psInfo->active_page; + ppshpage = (LPCPROPSHEETPAGEW)psInfo->proppage[idx].hpage; + psInfo->active_page = -1; + + PROPSHEET_SetCurSel(hwnd, idx, 1, psInfo->proppage[idx].hpage); + + /* doing TCM_SETCURSEL seems to be needed even in case of PSH_WIZARD, + * as some programs call TCM_GETCURSEL to get the current selection + * from which to switch to the next page */ + SendMessageW(hwndTabCtrl, TCM_SETCURSEL, psInfo->active_page, 0); + return TRUE; } @@ -3490,17 +3552,6 @@ PROPSHEET_DialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) } return TRUE; - case WM_SYSCOMMAND: - switch(wParam & 0xfff0) - { - case SC_CLOSE: - PROPSHEET_Cancel(hwnd, 1); - return TRUE; - - default: - return FALSE; - } - case WM_NOTIFY: { NMHDR* pnmh = (LPNMHDR) lParam; diff --git a/reactos/dll/win32/comctl32/rebar.c b/reactos/dll/win32/comctl32/rebar.c index 27f038c434d..df6ef19f901 100644 --- a/reactos/dll/win32/comctl32/rebar.c +++ b/reactos/dll/win32/comctl32/rebar.c @@ -15,7 +15,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * NOTES * @@ -1492,10 +1492,11 @@ REBAR_Layout (REBAR_INFO *infoPtr, LPRECT lpRect, BOOL notify, BOOL resetclient) cxsep = (cntonrow == 0) ? 0 : SEP_WIDTH; cx = lpBand->lcx; + /* In native, 0 as one of the coordinates means no limit */ if (infoPtr->dwStyle & CCS_VERT) - dobreak = (y + cx + cxsep > adjcy); + dobreak = (adjcy && (y + cx + cxsep > adjcy)); else - dobreak = (x + cx + cxsep > adjcx); + dobreak = (adjcx && (x + cx + cxsep > adjcx)); /* This is the check for whether we need to start a new row */ if ( ( (lpBand->fStyle & RBBS_BREAK) && (i != 0) ) || @@ -1537,14 +1538,14 @@ REBAR_Layout (REBAR_INFO *infoPtr, LPRECT lpRect, BOOL notify, BOOL resetclient) /* if boundary rect specified then limit mcy */ if (lpRect) { if (infoPtr->dwStyle & CCS_VERT) { - if (x+mcy > adjcx) { + if (adjcx && (x+mcy > adjcx)) { mcy = adjcx - x; TRACE("P1 row %u limiting mcy=%d, adjcx=%d, x=%d\n", i, mcy, adjcx, x); } } else { - if (y+mcy > adjcy) { + if (adjcy && (y+mcy > adjcy)) { mcy = adjcy - y; TRACE("P1 row %u limiting mcy=%d, adjcy=%d, y=%d\n", i, mcy, adjcy, y); @@ -1656,8 +1657,9 @@ REBAR_Layout (REBAR_INFO *infoPtr, LPRECT lpRect, BOOL notify, BOOL resetclient) /* ******* Start Phase 2 - split rows till adjustment height full ******* */ /* assumes that the following variables contain: */ - /* y/x current height/width of all rows */ - if (lpRect) { + /* y/x current height/width of all rows */ + /* adjcy/adjcx adjustment height/width or 0 (as small as possible) */ + if (lpRect && ((infoPtr->dwStyle & CCS_VERT) ? adjcx : adjcy)) { INT i, prev_rh, new_rh, adj_rh, prev_idx, current_idx; REBAR_BAND *prev, *current, *walk; UINT j; @@ -4501,9 +4503,14 @@ REBAR_Size (REBAR_INFO *infoPtr, WPARAM wParam, LPARAM lParam) if ((lParam == 0) && (rcClient.right + rcClient.bottom != 0) && (infoPtr->dwStyle & RBS_AUTOSIZE)) { /* on a WM_SIZE to zero and current client not zero and AUTOSIZE */ - /* native seems to use the current client rect for the size */ + /* native seems to use the current parent width for the size */ infoPtr->fStatus |= BAND_NEEDS_LAYOUT; - TRACE("sizing rebar to client (%ld,%ld) size is zero but AUTOSIZE set\n", + GetClientRect (GetParent(infoPtr->hwndSelf), &rcClient); + if (infoPtr->dwStyle & CCS_VERT) + rcClient.right = 0; + else + rcClient.bottom = 0; + TRACE("sizing rebar to parent (%ld,%ld) size is zero but AUTOSIZE set\n", rcClient.right, rcClient.bottom); } else { diff --git a/reactos/dll/win32/comctl32/rsrc.rc b/reactos/dll/win32/comctl32/rsrc.rc index 80861cff1b9..e76912352c8 100644 --- a/reactos/dll/win32/comctl32/rsrc.rc +++ b/reactos/dll/win32/comctl32/rsrc.rc @@ -16,7 +16,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ #include "windef.h" @@ -1109,555 +1109,78 @@ IDI_DRAGARROW ICON LOADONCALL DISCARDABLE idi_dragarrow.ico /* BINRES idi_tt_info_sm.ico */ IDI_TT_INFO_SM ICON LOADONCALL DISCARDABLE idi_tt_info_sm.ico /* { - '00 00 01 00 03 00 10 10 10 00 01 00 04 00 28 01' - '00 00 36 00 00 00 10 10 00 00 01 00 08 00 68 05' - '00 00 5E 01 00 00 10 10 00 00 01 00 20 00 68 04' - '00 00 C6 06 00 00 28 00 00 00 10 00 00 00 20 00' - '00 00 01 00 04 00 00 00 00 00 80 00 00 00 00 00' + '00 00 01 00 01 00 10 10 10 00 00 00 00 00 28 01' + '00 00 16 00 00 00 28 00 00 00 10 00 00 00 20 00' + '00 00 01 00 04 00 00 00 00 00 C0 00 00 00 00 00' '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' '00 00 00 00 80 00 00 80 00 00 00 80 80 00 80 00' - '00 00 80 00 80 00 80 80 00 00 80 80 80 00 C0 C0' - 'C0 00 00 00 FF 00 00 FF 00 00 00 FF FF 00 FF 00' + '00 00 80 00 80 00 80 80 00 00 C0 C0 C0 00 80 80' + '80 00 00 00 FF 00 00 FF 00 00 00 FF FF 00 FF 00' '00 00 FF 00 FF 00 FF FF 00 00 FF FF FF 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 77 00 00 00 00 00 00 08 70 00 00 00 00 00 00' - '08 77 70 00 00 00 00 00 8F FF F7 77 00 00 00 88' - 'FF 84 7F FF 77 00 08 FF FF 84 7F FF FF 70 08 FF' - 'F8 44 7F FF FF 70 08 FF FF 88 FF FF FF 70 08 FF' - 'FF F7 8F FF FF 80 00 88 FF F7 8F FF 88 00 00 00' - '88 88 88 88 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF' - '00 00 FF FF 00 00 FC FF 00 00 F9 FF 00 00 F8 7F' - '00 00 F0 0F 00 00 C0 03 00 00 80 01 00 00 80 01' - '00 00 80 01 00 00 80 01 00 00 C0 03 00 00 F0 0F' - '00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 28 00' - '00 00 10 00 00 00 20 00 00 00 01 00 08 00 00 00' - '00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01' - '00 00 00 01 00 00 00 00 00 00 00 00 80 00 00 80' - '00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80' - '00 00 C0 C0 C0 00 C0 DC C0 00 F0 CA A6 00 B9 01' - '01 00 BB 00 00 00 B6 1F 1F 00 A7 2F 2F 00 BB 5A' - '5A 00 BE 7B 7B 00 C1 7B 7B 00 DD 75 75 00 FF 00' - 'FF 00 82 82 82 00 88 88 88 00 8D 8D 8D 00 8E 8E' - '8E 00 90 90 90 00 91 91 91 00 95 95 95 00 96 96' - '96 00 9D 9D 9D 00 9F 9F 9F 00 BB 8A 8A 00 A2 A2' - 'A2 00 A3 A3 A3 00 A7 A7 A7 00 B5 B5 B5 00 B9 B9' - 'B9 00 BD BD BD 00 E2 9F 9F 00 D1 A9 A9 00 E5 B9' - 'B9 00 EE BF BF 00 C3 C3 C3 00 C6 C6 C6 00 C7 C7' - 'C7 00 C9 C9 C9 00 CD CD CD 00 D1 D1 D1 00 D3 D3' - 'D3 00 D7 D7 D7 00 D8 D8 D8 00 DB DB DB 00 DC DC' - 'DC 00 EA C8 C8 00 F0 C1 C1 00 F1 C1 C1 00 F3 D8' - 'D8 00 F6 DD DD 00 F4 DF DF 00 E4 E4 E4 00 E8 E8' - 'E8 00 E9 E9 E9 00 EB EB EB 00 EC EC EC 00 ED ED' - 'ED 00 EE EE EE 00 F8 E2 E2 00 F1 F1 F1 00 F6 F6' - 'F6 00 F8 F8 F8 00 FA FA FA 00 FB FB FB 00 FC FC' - 'FC 00 FD FD FD 00 FE FE FE 00 FF FF FF 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 F0 FB' - 'FF 00 A4 A0 A0 00 80 80 80 00 00 00 FF 00 00 FF' - '00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF' - '00 00 FF FF FF 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 21 21 00 00' - '00 00 00 00 00 00 00 00 00 00 00 21 18 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 2B 15 21 00 00' - '00 00 00 00 00 00 00 00 00 00 20 2B 28 20 1B 18' - '15 15 00 00 00 00 00 00 28 23 2D 3F 33 0D 1D 3F' - '30 23 15 18 00 00 00 39 3F 41 44 44 27 0A 0F 44' - '44 41 30 18 20 00 00 3F 44 44 44 24 0C 0A 10 44' - '44 44 44 28 13 00 00 3F 44 44 44 40 35 35 38 44' - '44 44 44 2D 1B 00 00 3F 44 44 44 44 38 0E 25 44' - '44 44 44 2D 30 00 00 00 3F 41 44 44 38 11 26 44' - '44 44 3F 3F 00 00 00 00 00 00 3F 3F 3F 3F 3F 3F' - '3F 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 FF FF 00 00 FF FF 00 00 FC FF' - '00 00 F9 FF 00 00 F8 FF 00 00 F0 0F 00 00 C0 03' - '00 00 80 01 00 00 80 01 00 00 80 01 00 00 80 01' - '00 00 C0 03 00 00 F0 0F 00 00 FF FF 00 00 FF FF' - '00 00 FF FF 00 00 28 00 00 00 10 00 00 00 20 00' - '00 00 01 00 20 00 00 00 00 00 40 04 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 87 87 87 44 73 73 73 42 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 99 99 99 4B 90 90 90 FB 2A 2A 2A 12 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 B9 B9 B9 C3 8D 8D 8D FE 63 63 63 78 6F 6F' - '6F 6E 6A 6A 6A 59 53 53 53 2B 00 00 00 01 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 2A 2A 2A 06 8A 8A 8A 72 9A 9A' - '9A DC CD CD CD FE C3 C3 C3 FF A3 A3 A3 FF 9D 9D' - '9D FF 95 95 95 FF 88 88 88 FE 77 77 77 DE 6C 6C' - '6C 73 2A 2A 2A 06 00 00 00 00 00 00 00 00 00 00' - '00 00 8D 8D 8D 12 B9 B9 B9 CB BD BD BD FF D1 D1' - 'D1 FF EE EE EE FF EA C8 C8 FF A7 2F 2F FF BB 8A' - '8A FF E8 E8 E8 FF D8 D8 D8 FF B9 B9 B9 FF 8E 8E' - '8E FF 74 74 74 CB 50 50 50 13 00 00 00 00 00 00' - '00 00 D5 D5 D5 A1 E9 E9 E9 FF F1 F1 F1 FF FA FA' - 'FA FF FC FC FC FF EE BF BF FF B9 01 01 FF BE 7B' - '7B FF FD FD FD FF FC FC FC FF F6 F6 F6 FF DB DB' - 'DB FF 96 96 96 FF 72 72 72 A7 00 00 00 00 00 00' - '00 00 EB EB EB E9 FC FC FC FF FD FD FD FF FE FE' - 'FE FF E2 9F 9F FF B6 1F 1F FF BB 00 00 FF C1 7B' - '7B FF FE FE FE FF FE FE FE FF FE FE FE FF FA FA' - 'FA FF C6 C6 C6 FF 7D 7D 7D F5 00 00 00 00 00 00' - '00 00 E8 E8 E8 CE FE FE FE FF FE FE FE FF FE FE' - 'FE FF F8 E2 E2 FF F1 C1 C1 FF F0 C1 C1 FF F4 DF' - 'DF FF FF FF FF FF FE FE FE FF FE FE FE FF FB FB' - 'FB FF D3 D3 D3 FF 90 90 90 DB 00 00 00 00 00 00' - '00 00 C7 C7 C7 49 FA FA FA FB FF FF FF FF FF FF' - 'FF FF FF FF FF FF F3 D8 D8 FF BB 5A 5A FF D1 A9' - 'A9 FF FF FF FF FF FE FE FE FF FD FD FD FF F8 F8' - 'F8 FF D7 D7 D7 FD 97 97 97 54 00 00 00 00 00 00' - '00 00 00 00 00 00 C7 C7 C7 49 F0 F0 F0 E2 FF FF' - 'FF FF FF FF FF FF F6 DD DD FF DD 75 75 FF E5 B9' - 'B9 FF FF FF FF FF FE FE FE FF FD FD FD FF EC EC' - 'EC E6 BA BA BA 52 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 48 48 48 07 CB CB' - 'CB 59 E3 E3 E3 A5 E9 E9 E9 D5 EB EB EB EC EB EB' - 'EB EC E9 E9 E9 D6 E2 E2 E2 A9 CD CD CD 5D 55 55' - '55 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF' - '00 00 FF FF 00 00 FC FF 00 00 F8 FF 00 00 F8 0F' - '00 00 C0 03 00 00 80 01 00 00 80 01 00 00 80 01' - '00 00 80 01 00 00 80 01 00 00 C0 03 00 00 E0 07' - '00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00' + '00 00 08 80 00 00 00 00 00 08 00 80 00 00 00 00' + '08 80 F0 80 00 00 00 00 80 0F F0 88 00 00 00 00' + '0F FF FF 00 80 00 00 0F FF FF FF FF 08 00 08 FF' + 'FC CC CC FF F0 80 8F FF FF 8C CF FF FF 08 8F FF' + 'FF 8C CF FF FF 08 8F FF FF 8C CF FF FF 08 8F FF' + 'F8 CC CF FF FF 00 8F FF FF FF FF FF FF 00 08 FF' + 'FF 8C CF FF F0 00 00 8F FF CC CF FF 00 00 00 08' + '8F FF FF 00 00 00 00 00 08 88 88 00 00 00 FF 9F' + '00 00 FE 1F 00 00 F8 1F 00 00 F0 0F 00 00 E0 07' + '00 00 C0 03 00 00 80 01 00 00 00 00 00 00 00 00' + '00 00 00 00 00 00 00 01 00 00 00 01 00 00 80 03' + '00 00 C0 07 00 00 E0 0F 00 00 F8 3F 00 00' } */ /* BINRES idi_tt_warn_sm.ico */ IDI_TT_WARN_SM ICON LOADONCALL DISCARDABLE idi_tt_warn_sm.ico /* { - '00 00 01 00 03 00 10 10 10 00 01 00 04 00 28 01' - '00 00 36 00 00 00 10 10 00 00 01 00 08 00 68 05' - '00 00 5E 01 00 00 10 10 00 00 01 00 20 00 68 04' - '00 00 C6 06 00 00 28 00 00 00 10 00 00 00 20 00' - '00 00 01 00 04 00 00 00 00 00 80 00 00 00 00 00' + '00 00 01 00 01 00 10 10 10 00 00 00 00 00 28 01' + '00 00 16 00 00 00 28 00 00 00 10 00 00 00 20 00' + '00 00 01 00 04 00 00 00 00 00 C0 00 00 00 00 00' '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' '00 00 00 00 80 00 00 80 00 00 00 80 80 00 80 00' - '00 00 80 00 80 00 80 80 00 00 80 80 80 00 C0 C0' - 'C0 00 00 00 FF 00 00 FF 00 00 00 FF FF 00 FF 00' - '00 00 FF 00 FF 00 FF FF 00 00 FF FF FF 00 F3 33' - '33 33 33 33 33 33 FB BB BB BB BB BB BB B3 0F BB' - 'BB B3 3B BB BB 30 0F BB BB B0 0B BB BB 30 00 FB' - 'BB BB BB BB B3 00 00 FB BB B3 3B BB B3 00 00 0F' - 'BB B0 0B BB 30 00 00 0F BB B0 0B BB 30 00 00 00' - 'FB B0 0B B3 00 00 00 00 FB B0 0B B3 00 00 00 00' - '0F B0 0B 30 00 00 00 00 0F B3 3B 30 00 00 00 00' - '00 FB B3 00 00 00 00 00 00 FB B3 00 00 00 00 00' - '00 0F 30 00 00 00 00 00 00 0F 30 00 00 00 00 00' - '00 00 00 00 00 00 80 01 00 00 80 01 00 00 C0 03' - '00 00 C0 03 00 00 E0 07 00 00 E0 07 00 00 F0 0F' - '00 00 F0 0F 00 00 F8 1F 00 00 F8 1F 00 00 FC 3F' - '00 00 FC 3F 00 00 FE 7F 00 00 FE 7F 00 00 28 00' - '00 00 10 00 00 00 20 00 00 00 01 00 08 00 00 00' - '00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01' - '00 00 00 01 00 00 00 00 00 00 00 00 80 00 00 80' - '00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80' - '00 00 C0 C0 C0 00 C0 DC C0 00 F0 CA A6 00 00 10' - '12 00 00 19 1C 00 00 1A 1E 00 00 22 27 00 00 24' - '29 00 00 25 2C 00 00 2C 32 00 00 2C 33 00 00 2D' - '34 00 00 35 3D 00 00 37 3F 00 00 40 4A 00 00 42' - '4D 00 00 47 53 00 00 4E 5A 00 00 58 66 00 00 6E' - '84 00 FF 00 FF 00 00 84 9E 00 00 89 9B 00 00 8D' - 'A0 00 00 89 A5 00 00 8A A5 00 01 8A A5 00 01 8B' - 'A6 00 00 8C A6 00 00 8D A7 00 00 8E A7 00 00 8F' - 'A8 00 00 90 A8 00 00 92 A9 00 00 93 A9 00 01 93' - 'AA 00 00 91 AD 00 01 96 AE 00 00 9F BF 00 00 A2' - 'BF 00 00 A6 C0 00 01 A7 C3 00 03 A9 C6 00 03 AC' - 'C6 00 00 B5 D8 00 00 B8 D9 00 00 BB DB 00 00 C0' - 'DE 00 00 C3 E0 00 00 C6 E1 00 00 C0 E6 00 00 CD' - 'E6 00 06 CC E4 00 00 C5 EA 00 00 C5 EB 00 00 C6' - 'EC 00 00 C7 EC 00 00 C7 ED 00 00 C9 EC 00 00 C9' - 'ED 00 00 C8 EE 00 00 CA EE 00 00 CB EE 00 00 CB' - 'EF 00 00 CD EE 00 00 CC EF 00 00 CD EF 00 00 CF' - 'EF 00 02 D1 E3 00 00 CD F0 00 00 CE F0 00 00 CF' - 'F0 00 00 CF F1 00 00 D1 F0 00 00 D0 F1 00 00 D1' - 'F2 00 00 D2 F2 00 00 D3 F2 00 00 D2 F3 00 00 D3' - 'F3 00 00 D5 F2 00 00 D4 F3 00 00 D5 F4 00 00 D6' - 'F5 00 01 D6 F5 00 01 D7 F5 00 00 D9 F4 00 01 D8' - 'F5 00 01 D9 F6 00 00 DA F7 00 01 DA F7 00 00 DB' - 'F7 00 01 DB F7 00 01 DD F8 00 01 DE F9 00 01 DF' - 'F9 00 01 E0 F9 00 01 E1 FA 00 01 E2 FA 00 01 F0' - 'FD 00 01 F1 FD 00 01 F2 FD 00 01 F3 FD 00 00 FB' - 'FC 00 00 FC FF 00 00 FD FF 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 F0 FB' - 'FF 00 A4 A0 A0 00 80 80 80 00 00 00 FF 00 00 FF' - '00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF' - '00 00 FF FF FF 00 3B 2C 2C 2C 2C 2C 26 25 25 25' - '25 25 25 25 1C 1A 6F 62 54 54 54 4E 4E 49 49 49' - '49 3F 3F 3F 39 2C 00 6A 54 54 54 54 54 17 16 49' - '49 49 49 3F 33 00 00 6F 64 54 54 54 54 11 0F 4E' - '49 49 49 3F 2D 00 00 00 6A 54 54 54 54 49 49 4E' - '4E 49 49 34 00 00 00 00 6F 64 54 54 54 18 19 54' - '4E 4E 49 2E 00 00 00 00 00 6A 62 54 54 13 16 54' - '54 4E 34 00 00 00 00 00 00 6F 64 62 54 11 13 54' - '54 49 2F 00 00 00 00 00 00 00 6A 62 62 0D 11 54' - '54 36 00 00 00 00 00 00 00 00 6F 67 62 0B 0F 54' - '54 2F 00 00 00 00 00 00 00 00 00 6A 62 0A 0B 54' - '39 00 00 00 00 00 00 00 00 00 00 6F 67 1D 25 54' - '31 00 00 00 00 00 00 00 00 00 00 00 6A 62 62 39' - '00 00 00 00 00 00 00 00 00 00 00 00 6F 67 62 31' - '00 00 00 00 00 00 00 00 00 00 00 00 00 6A 3B 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 6F 4B 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 01' - '00 00 80 01 00 00 C0 03 00 00 C0 03 00 00 E0 07' - '00 00 E0 07 00 00 F0 0F 00 00 F0 0F 00 00 F8 1F' - '00 00 F8 1F 00 00 FC 3F 00 00 FC 3F 00 00 FE 7F' - '00 00 FE 7F 00 00 28 00 00 00 10 00 00 00 20 00' - '00 00 01 00 20 00 00 00 00 00 40 04 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CD' - 'E3 B0 00 97 AE F9 00 94 AA F8 00 93 A9 F8 00 92' - 'A9 F8 00 90 A8 F8 00 8F A8 F8 00 8E A7 F8 00 8D' - 'A7 F8 00 8C A6 F8 00 8C A6 F8 00 8B A5 F8 00 8A' - 'A5 F8 00 89 A5 F8 00 84 9E F9 00 60 75 AE 00 FC' - 'FF D9 00 DB F7 FF 00 D3 F2 FF 00 D2 F2 FF 00 D0' - 'F1 FF 00 CF F0 FF 00 CE F0 FF 00 CD EF FF 00 CB' - 'EE FF 00 CA EE FF 00 C9 ED FF 00 C7 EC FF 00 C6' - 'EC FF 00 C5 EB FF 00 C0 E6 FF 00 92 AF D8 00 FF' - 'FF 5D 01 F0 FD FF 00 D5 F4 FF 00 D4 F3 FF 00 D3' - 'F3 FF 00 D1 F2 FF 00 D0 F1 FF 00 47 53 FF 00 42' - '4D FF 00 CC EF FF 00 CB EF FF 00 CA EE FF 00 C8' - 'EE FF 00 C7 ED FF 00 B5 D8 FF 00 98 B6 5C 00 FF' - 'FF 03 00 FD FF D9 01 DD F8 FF 00 D5 F4 FF 00 D4' - 'F3 FF 00 D3 F3 FF 00 D1 F2 FF 00 2C 33 FF 00 25' - '2C FF 00 CD F0 FF 00 CC EF FF 00 CB EF FF 00 CA' - 'EE FF 00 C5 EA FF 00 A3 C3 D9 00 AA AA 03 00 00' - '00 00 00 FF FF 5E 01 F0 FD FF 01 D7 F5 FF 00 D5' - 'F4 FF 00 D4 F3 FF 00 D3 F3 FF 00 CF EF FF 00 CD' - 'EE FF 00 CF F1 FF 00 CD F0 FF 00 CC EF FF 00 CB' - 'EF FF 00 B8 D9 FF 00 9A B5 5E 00 00 00 00 00 00' - '00 00 00 FF FF 04 00 FD FF DA 01 DE F9 FF 01 D6' - 'F5 FF 00 D5 F4 FF 00 D4 F3 FF 00 4E 5A FF 00 58' - '66 FF 00 D0 F1 FF 00 CF F1 FF 00 CD F0 FF 00 C9' - 'EC FF 00 A6 C3 DA 00 7F BF 04 00 00 00 00 00 00' - '00 00 00 00 00 00 00 FF FF 5F 01 F1 FD FF 01 D8' - 'F5 FF 01 D6 F5 FF 00 D5 F4 FF 00 35 3D FF 00 40' - '4A FF 00 D1 F2 FF 00 D0 F1 FF 00 CF F1 FF 00 BB' - 'DB FF 00 9B B6 5F 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 FF FF 04 00 FD FF DB 01 DF' - 'F9 FF 01 D8 F5 FF 01 D6 F5 FF 00 2C 32 FF 00 37' - '3F FF 00 D2 F3 FF 00 D1 F2 FF 00 CD EE FF 00 AA' - 'C5 DB 00 7F BF 04 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 FF FF 61 01 F1' - 'FD FF 01 D9 F6 FF 01 D8 F5 FF 00 22 27 FF 00 2D' - '34 FF 00 D4 F3 FF 00 D2 F3 FF 00 C0 DE FF 00 A2' - 'B9 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 FF FF 04 00 FD' - 'FF DC 01 E0 F9 FF 01 D9 F6 FF 00 19 1C FF 00 24' - '29 FF 00 D5 F4 FF 00 D1 F0 FF 00 AD C8 DC 00 7F' - 'BF 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF' - 'FF 62 01 F2 FD FF 01 DA F7 FF 00 10 12 FF 00 1A' - '1E FF 00 D6 F5 FF 00 C3 E0 FF 00 A5 BD 61 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF' - 'FF 04 00 FD FF DD 01 E1 FA FF 00 89 9B FF 00 8D' - 'A0 FF 00 D5 F2 FF 00 B0 C9 DD 00 BF BF 04 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 FF FF 63 01 F3 FD FF 01 DB F7 FF 00 DA' - 'F7 FF 00 C6 E1 FF 00 A7 BE 63 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 FF FF 05 00 FD FF DE 01 E2 FA FF 00 D9' - 'F4 FF 00 B2 C9 DE 00 99 CC 05 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 FF FF 64 01 F3 FD FF 00 CD' - 'E6 FF 00 AA BF 64 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 FF FF 06 00 FF FF C8 00 E0' - 'EF C7 00 CC CC 05 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 01' - '00 00 80 01 00 00 C0 03 00 00 C0 03 00 00 E0 07' - '00 00 E0 07 00 00 F0 0F 00 00 F0 0F 00 00 F8 1F' - '00 00 F8 1F 00 00 FC 3F 00 00 FC 3F 00 00' + '00 00 80 00 80 00 80 80 00 00 C0 C0 C0 00 80 80' + '80 00 00 00 FF 00 00 FF 00 00 00 FF FF 00 FF 00' + '00 00 FF 00 FF 00 FF FF 00 00 FF FF FF 00 03 33' + '33 33 33 33 33 33 00 00 00 00 00 00 00 03 0B BB' + 'BB BB BB BB BB 03 00 BB BB 30 3B BB B0 30 00 BB' + 'BB 30 3B BB B0 30 00 0B BB BB BB BB 03 00 00 0B' + 'BB B0 BB BB 03 00 00 00 BB 30 3B B0 30 00 00 00' + 'BB 00 0B B0 30 00 00 00 0B 00 0B 03 00 00 00 00' + '0B B0 BB 03 00 00 00 00 00 BB B0 30 00 00 00 00' + '00 BB B0 30 00 00 00 00 00 0B 03 00 00 00 00 00' + '00 0B 03 00 00 00 00 00 00 00 30 00 00 00 80 00' + '00 00 00 00 00 00 00 00 00 00 80 01 00 00 80 01' + '00 00 C0 03 00 00 C0 03 00 00 E0 07 00 00 E0 07' + '00 00 F0 0F 00 00 F0 0F 00 00 F8 1F 00 00 F8 1F' + '00 00 FC 3F 00 00 FC 3F 00 00 FE 7F 00 00' } */ /* BINRES idi_tt_error_sm.ico */ IDI_TT_ERROR_SM ICON LOADONCALL DISCARDABLE idi_tt_error_sm.ico /* { - '00 00 01 00 03 00 10 10 10 00 01 00 04 00 28 01' - '00 00 36 00 00 00 10 10 00 00 01 00 08 00 68 05' - '00 00 5E 01 00 00 10 10 00 00 01 00 20 00 68 04' - '00 00 C6 06 00 00 28 00 00 00 10 00 00 00 20 00' - '00 00 01 00 04 00 00 00 00 00 80 00 00 00 00 00' + '00 00 01 00 01 00 10 10 10 00 00 00 00 00 28 01' + '00 00 16 00 00 00 28 00 00 00 10 00 00 00 20 00' + '00 00 01 00 04 00 00 00 00 00 C0 00 00 00 00 00' '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' '00 00 00 00 80 00 00 80 00 00 00 80 80 00 80 00' - '00 00 80 00 80 00 80 80 00 00 80 80 80 00 C0 C0' - 'C0 00 00 00 FF 00 00 FF 00 00 00 FF FF 00 FF 00' + '00 00 80 00 80 00 80 80 00 00 C0 C0 C0 00 80 80' + '80 00 00 00 FF 00 00 FF 00 00 00 FF FF 00 FF 00' '00 00 FF 00 FF 00 FF FF 00 00 FF FF FF 00 00 00' - '00 11 11 00 00 00 00 00 11 99 99 11 00 00 00 01' - '99 99 99 99 10 00 00 F9 F9 99 99 9F 91 00 0F 9F' - 'FF 99 99 FF F9 10 0F 99 FF F9 9F FF 99 10 F9 99' - '9F FF FF F9 99 91 F9 99 99 FF FF 99 99 91 F9 99' - '99 FF FF 99 99 91 F9 99 9F FF FF F9 99 91 0F 99' - 'FF F9 9F FF 99 10 0F 9F FF 99 99 FF F9 10 00 F9' - 'F9 99 99 9F 91 00 00 0F 99 99 99 99 F0 00 00 00' - 'FF 99 99 FF 00 00 00 00 00 FF FF 00 00 00 FC 3F' - '00 00 F0 0F 00 00 E0 07 00 00 C0 03 00 00 80 01' - '00 00 80 01 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 80 01 00 00 80 01 00 00 C0 03' - '00 00 E0 07 00 00 F0 0F 00 00 FC 3F 00 00 28 00' - '00 00 10 00 00 00 20 00 00 00 01 00 08 00 00 00' - '00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01' - '00 00 00 01 00 00 00 00 00 00 00 00 80 00 00 80' - '00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80' - '00 00 C0 C0 C0 00 C0 DC C0 00 F0 CA A6 00 00 00' - '68 00 00 00 6B 00 00 00 76 00 00 00 7B 00 00 00' - '7F 00 FF FF 00 00 00 00 8A 00 00 00 8B 00 00 00' - '8C 00 00 00 8E 00 00 00 96 00 00 00 AA 00 00 00' - 'AB 00 00 00 B7 00 00 00 B8 00 00 00 C5 00 01 01' - 'C9 00 03 03 C9 00 00 00 CD 00 00 00 CE 00 00 00' - 'CF 00 00 00 D0 00 00 00 D1 00 00 00 D3 00 00 00' - 'D5 00 00 00 D7 00 00 00 D9 00 03 03 DA 00 17 17' - 'D5 00 17 17 D9 00 17 17 DC 00 19 19 DE 00 20 20' - 'D7 00 20 20 DA 00 20 20 DE 00 00 00 E2 00 00 00' - 'E5 00 00 00 E7 00 05 05 E4 00 00 00 E9 00 00 00' - 'EB 00 00 00 ED 00 00 00 EE 00 00 00 EF 00 17 17' - 'E7 00 1E 1E E6 00 17 17 EB 00 17 17 EE 00 00 00' - 'F0 00 00 00 F2 00 00 00 F4 00 00 00 F5 00 00 00' - 'F6 00 05 05 F4 00 08 08 F4 00 00 00 FA 00 00 00' - 'FD 00 00 00 FE 00 00 00 FF 00 20 20 E8 00 20 20' - 'EC 00 20 20 EF 00 45 45 D9 00 51 51 E9 00 5E 5E' - 'F7 00 CC CC F5 00 D4 D4 F7 00 D7 D7 F7 00 D2 D2' - 'F8 00 D4 D4 F8 00 D4 D4 F9 00 D7 D7 F9 00 D5 D5' - 'FA 00 D4 D4 FB 00 D2 D2 FC 00 D8 D8 FA 00 DD DD' - 'FB 00 DD DD FC 00 E0 E0 F9 00 E0 E0 FA 00 E0 E0' - 'FB 00 E0 E0 FC 00 FF FF FF 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 F0 FB' - 'FF 00 A4 A0 A0 00 80 80 80 00 00 00 FF 00 00 FF' - '00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF' - '00 00 FF FF FF 00 00 00 00 00 00 00 13 11 0E 0B' - '00 00 00 00 00 00 00 00 00 00 18 19 1D 1F 1D 19' - '16 0C 00 00 00 00 00 00 00 21 25 24 23 22 21 20' - '1E 1B 14 00 00 00 00 00 2D 49 4E 29 24 23 22 21' - '2A 4D 48 14 00 00 00 3D 30 55 5C 51 29 24 23 2B' - '58 5C 4B 1A 0C 00 00 3B 2E 37 56 5C 51 29 2C 59' - '5C 4C 26 1E 15 00 43 34 2F 2E 37 56 5C 51 59 5C' - '4F 27 21 20 19 0A 43 34 31 2F 2E 37 56 5C 5C 50' - '28 23 22 21 1C 0D 44 3A 32 31 2F 45 5A 5C 5C 51' - '29 24 23 22 1F 10 44 3C 33 32 46 5B 5C 52 56 5C' - '51 29 24 23 1D 12 00 41 35 47 5B 5C 53 36 37 56' - '5C 51 29 24 19 00 00 43 40 57 5C 53 38 2F 2E 37' - '56 5C 4E 25 17 00 00 00 42 4A 54 39 32 31 2F 2E' - '37 55 49 21 00 00 00 00 00 42 3F 35 33 32 31 2F' - '2E 30 2D 00 00 00 00 00 00 00 43 41 3D 3A 34 34' - '3B 3E 00 00 00 00 00 00 00 00 00 00 44 44 43 43' - '00 00 00 00 00 00 FC 3F 00 00 F0 0F 00 00 E0 07' - '00 00 C0 03 00 00 80 01 00 00 80 01 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 01' - '00 00 80 01 00 00 C0 03 00 00 E0 07 00 00 F0 0F' - '00 00 FC 3F 00 00 28 00 00 00 10 00 00 00 20 00' - '00 00 01 00 20 00 00 00 00 00 40 04 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - 'A1 29 00 00 99 8D 00 00 97 CF 00 00 94 F0 00 00' - '8A F0 00 00 79 CF 00 00 61 8D 00 00 52 28 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 D4 06 00 00 BB 8F 00 00' - 'BE FC 00 00 CB FF 00 00 D1 FF 00 00 D2 FF 00 00' - 'D0 FF 00 00 CA FF 00 00 B6 FF 00 00 85 FB 00 00' - '58 8D 00 00 33 05 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 D4 06 00 00 D4 B6 00 00 D6 FF 0A 0A' - 'DC FF 00 00 D9 FF 00 00 D7 FF 00 00 D5 FF 00 00' - 'D3 FF 00 00 D1 FF 00 00 CF FF 0A 0A CD FF 00 00' - 'A4 FF 00 00 5D B4 00 00 33 05 00 00 00 00 00 00' - '00 00 00 00 ED 8F 00 00 E2 FF 70 70 ED FF D9 D9' - 'F9 FF 1B 1B DF FF 00 00 D9 FF 00 00 D7 FF 00 00' - 'D5 FF 00 00 D3 FF 24 24 D8 FF E0 E0 F9 FF 61 61' - 'DF FF 00 00 A4 FF 00 00 59 8C 00 00 00 00 00 00' - 'FF 29 00 00 F3 FC 0D 0D E5 FF E0 E0 FB FF FF FF' - 'FF FF DA DA FA FF 1B 1B DF FF 00 00 D9 FF 00 00' - 'D7 FF 24 24 DB FF E2 E2 FA FF FF FF FF FF D6 D6' - 'F7 FF 06 06 CD FF 00 00 84 FB 00 00 55 27 00 00' - 'FF 8E 00 00 EF FF 00 00 E5 FF 21 21 E7 FF E0 E0' - 'FB FF FF FF FF FF DA DA FA FF 1B 1B DF FF 24 24' - 'DE FF E2 E2 FA FF FF FF FF FF D8 D8 F8 FF 19 19' - 'D6 FF 00 00 CF FF 00 00 B6 FF 00 00 61 8B 00 00' - 'FF D0 00 00 EC FF 00 00 E7 FF 00 00 E5 FF 21 21' - 'E7 FF E0 E0 FB FF FF FF FF FF DA DA FA FF E2 E2' - 'FB FF FF FF FF FF D7 D7 F8 FF 19 19 D9 FF 00 00' - 'D3 FF 00 00 D1 FF 00 00 CA FF 00 00 79 CD 00 00' - 'FD F0 00 00 EC FF 00 00 E9 FF 00 00 E7 FF 00 00' - 'E5 FF 21 21 E7 FF E0 E0 FB FF FF FF FF FF FF FF' - 'FF FF D8 D8 F9 FF 19 19 DD FF 00 00 D7 FF 00 00' - 'D5 FF 00 00 D3 FF 00 00 D0 FF 00 00 89 EE 00 00' - 'FF F0 00 00 EE FF 00 00 EB FF 00 00 E9 FF 00 00' - 'E7 FF 24 24 E8 FF E2 E2 FB FF FF FF FF FF FF FF' - 'FF FF DA DA FA FF 1B 1B DF FF 00 00 D9 FF 00 00' - 'D7 FF 00 00 D5 FF 00 00 D2 FF 00 00 94 EE 00 00' - 'FF D0 00 00 F2 FF 00 00 ED FF 00 00 EB FF 24 24' - 'EC FF E2 E2 FC FF FF FF FF FF D8 D8 FA FF E0 E0' - 'FB FF FF FF FF FF DA DA FA FF 1B 1B DF FF 00 00' - 'D9 FF 00 00 D7 FF 00 00 D2 FF 00 00 96 CD 00 00' - 'FF 8E 00 00 F8 FF 00 00 EF FF 24 24 EF FF E2 E2' - 'FC FF FF FF FF FF D7 D7 FB FF 19 19 E7 FF 21 21' - 'E7 FF E0 E0 FB FF FF FF FF FF DA DA FA FF 1B 1B' - 'DF FF 00 00 D9 FF 00 00 CB FF 00 00 9A 8B 00 00' - 'FF 29 00 00 FD FC 12 12 F3 FF E2 E2 FD FF FF FF' - 'FF FF D8 D8 FB FF 19 19 EB FF 00 00 E7 FF 00 00' - 'E5 FF 21 21 E7 FF E0 E0 FB FF FF FF FF FF D9 D9' - 'F9 FF 0A 0A DC FF 00 00 BC FB 00 00 A3 27 00 00' - '00 00 00 00 FF 8F 00 00 FB FF 80 80 F8 FF D8 D8' - 'FC FF 19 19 EE FF 00 00 EB FF 00 00 E9 FF 00 00' - 'E7 FF 00 00 E5 FF 21 21 E7 FF E0 E0 FB FF 70 70' - 'ED FF 00 00 D6 FF 00 00 BC 8D 00 00 00 00 00 00' - '00 00 00 00 FF 06 00 00 FF B7 00 00 FB FF 0D 0D' - 'F3 FF 00 00 EF FF 00 00 ED FF 00 00 EB FF 00 00' - 'E9 FF 00 00 E7 FF 00 00 E5 FF 0D 0D E5 FF 00 00' - 'E2 FF 00 00 D4 B5 00 00 CC 05 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 FF 06 00 00 FF 8F 00 00' - 'FD FC 00 00 F8 FF 00 00 F3 FF 00 00 EE FF 00 00' - 'EC FF 00 00 EC FF 00 00 EF FF 00 00 F4 FB 00 00' - 'EB 8E 00 00 D4 06 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - 'FF 29 00 00 FF 8E 00 00 FF D0 00 00 FF F0 00 00' - 'FD F0 00 00 FD D0 00 00 FF 8D 00 00 FF 28 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 F0 0F' - '00 00 C0 03 00 00 80 01 00 00 80 01 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' - '00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 01' - '00 00 80 01 00 00 C0 03 00 00 F0 0F 00 00' + '08 88 88 80 00 00 00 08 81 11 11 88 80 00 00 01' + '19 99 99 11 88 00 00 19 99 99 99 99 18 80 01 99' + 'F9 99 99 F9 91 80 01 9F FF 99 9F FF 91 88 19 99' + 'FF F9 FF F9 99 18 19 99 9F FF FF 99 99 18 19 99' + '99 FF F9 99 99 18 19 99 9F FF FF 99 99 10 19 99' + 'FF F9 FF F9 99 10 01 9F FF 99 9F FF 91 00 01 99' + 'F9 99 99 F9 91 00 00 19 99 99 99 99 10 00 00 01' + '19 99 99 11 00 00 00 00 01 11 11 00 00 00 F8 1F' + '00 00 E0 07 00 00 E0 03 00 00 C0 01 00 00 80 01' + '00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00' + '00 00 00 01 00 00 00 01 00 00 80 03 00 00 80 03' + '00 00 C0 07 00 00 E0 0F 00 00 F8 3F 00 00' } */ @@ -1674,6 +1197,7 @@ IDI_TT_ERROR_SM ICON LOADONCALL DISCARDABLE idi_tt_error_sm.ico #include "comctl_Cs.rc" #include "comctl_De.rc" #include "comctl_En.rc" +#include "comctl_Eo.rc" #include "comctl_Es.rc" #include "comctl_Fr.rc" #include "comctl_Hu.rc" @@ -1688,4 +1212,5 @@ IDI_TT_ERROR_SM ICON LOADONCALL DISCARDABLE idi_tt_error_sm.ico #include "comctl_Si.rc" #include "comctl_Sv.rc" #include "comctl_Th.rc" +#include "comctl_Tr.rc" #include "comctl_Uk.rc" diff --git a/reactos/dll/win32/comctl32/smoothscroll.c b/reactos/dll/win32/comctl32/smoothscroll.c index f70c664f450..37e08cdb3cf 100644 --- a/reactos/dll/win32/comctl32/smoothscroll.c +++ b/reactos/dll/win32/comctl32/smoothscroll.c @@ -15,7 +15,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * TODO * - actually add smooth scrolling diff --git a/reactos/dll/win32/comctl32/status.c b/reactos/dll/win32/comctl32/status.c index 7c86815a484..9e7efbfdb5c 100644 --- a/reactos/dll/win32/comctl32/status.c +++ b/reactos/dll/win32/comctl32/status.c @@ -17,7 +17,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * NOTE * @@ -786,6 +786,7 @@ STATUSBAR_SetTextT (STATUS_INFO *infoPtr, INT nPart, WORD style, part->text = ntext; } InvalidateRect(infoPtr->Self, &part->bound, FALSE); + UpdateWindow(infoPtr->Self); return TRUE; } diff --git a/reactos/dll/win32/comctl32/string.c b/reactos/dll/win32/comctl32/string.c index 35b05fa7fc3..82bfa5edc56 100644 --- a/reactos/dll/win32/comctl32/string.c +++ b/reactos/dll/win32/comctl32/string.c @@ -18,7 +18,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * */ diff --git a/reactos/dll/win32/comctl32/syslink.c b/reactos/dll/win32/comctl32/syslink.c index 7459bc3eecc..0baaa9a0252 100644 --- a/reactos/dll/win32/comctl32/syslink.c +++ b/reactos/dll/win32/comctl32/syslink.c @@ -1,7 +1,7 @@ /* * SysLink control * - * Copyright 2004, 2005 Thomas Weidenmueller + * Copyright 2004 - 2006 Thomas Weidenmueller * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -15,7 +15,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * NOTES * @@ -62,7 +62,6 @@ typedef enum typedef struct _DOC_ITEM { struct _DOC_ITEM *Next; /* Address to the next item */ - LPWSTR Text; /* Text of the document item */ UINT nText; /* Number of characters of the text */ SL_ITEM_TYPE Type; /* type of the item */ PDOC_TEXTBLOCK Blocks; /* Array of text blocks */ @@ -79,6 +78,7 @@ typedef struct _DOC_ITEM UINT Dummy; } Text; } u; + WCHAR Text[1]; /* Text of the document item */ } DOC_ITEM, *PDOC_ITEM; typedef struct @@ -117,8 +117,14 @@ static VOID SYSLINK_FreeDocItem (PDOC_ITEM DocItem) { if(DocItem->Type == slLink) { - Free(DocItem->u.Link.szID); - Free(DocItem->u.Link.szUrl); + if (DocItem->u.Link.szID != NULL) + { + Free(DocItem->u.Link.szID); + } + if (DocItem->u.Link.szUrl != NULL) + { + Free(DocItem->u.Link.szUrl); + } } /* we don't free Text because it's just a pointer to a character in the @@ -135,16 +141,16 @@ static PDOC_ITEM SYSLINK_AppendDocItem (SYSLINK_INFO *infoPtr, LPCWSTR Text, UIN SL_ITEM_TYPE type, PDOC_ITEM LastItem) { PDOC_ITEM Item; - Item = Alloc(sizeof(DOC_ITEM) + ((textlen + 1) * sizeof(WCHAR))); + + textlen = min(textlen, lstrlenW(Text)); + Item = Alloc(FIELD_OFFSET(DOC_ITEM, Text[textlen + 1])); if(Item == NULL) { ERR("Failed to alloc DOC_ITEM structure!\n"); return NULL; } - textlen = min(textlen, lstrlenW(Text)); Item->Next = NULL; - Item->Text = (LPWSTR)(Item + 1); Item->nText = textlen; Item->Type = type; Item->Blocks = NULL; @@ -159,7 +165,6 @@ static PDOC_ITEM SYSLINK_AppendDocItem (SYSLINK_INFO *infoPtr, LPCWSTR Text, UIN } lstrcpynW(Item->Text, Text, textlen + 1); - Item->Text[textlen] = 0; return Item; } @@ -351,12 +356,11 @@ CheckParameter: if(lpID != NULL) { nc = min(lenId, strlenW(lpID)); - nc = min(nc, MAX_LINKID_TEXT); - Last->u.Link.szID = Alloc((MAX_LINKID_TEXT + 1) * sizeof(WCHAR)); + nc = min(nc, MAX_LINKID_TEXT - 1); + Last->u.Link.szID = Alloc((nc + 1) * sizeof(WCHAR)); if(Last->u.Link.szID != NULL) { lstrcpynW(Last->u.Link.szID, lpID, nc + 1); - Last->u.Link.szID[nc] = 0; } } else @@ -364,12 +368,11 @@ CheckParameter: if(lpUrl != NULL) { nc = min(lenUrl, strlenW(lpUrl)); - nc = min(nc, L_MAX_URL_LENGTH); - Last->u.Link.szUrl = Alloc((L_MAX_URL_LENGTH + 1) * sizeof(WCHAR)); + nc = min(nc, L_MAX_URL_LENGTH - 1); + Last->u.Link.szUrl = Alloc((nc + 1) * sizeof(WCHAR)); if(Last->u.Link.szUrl != NULL) { lstrcpynW(Last->u.Link.szUrl, lpUrl, nc + 1); - Last->u.Link.szUrl[nc] = 0; } } else @@ -431,12 +434,11 @@ CheckParameter: if(lpID != NULL) { nc = min(lenId, strlenW(lpID)); - nc = min(nc, MAX_LINKID_TEXT); - Last->u.Link.szID = Alloc((MAX_LINKID_TEXT + 1) * sizeof(WCHAR)); + nc = min(nc, MAX_LINKID_TEXT - 1); + Last->u.Link.szID = Alloc((nc + 1) * sizeof(WCHAR)); if(Last->u.Link.szID != NULL) { lstrcpynW(Last->u.Link.szID, lpID, nc + 1); - Last->u.Link.szID[nc] = 0; } } else @@ -444,12 +446,11 @@ CheckParameter: if(lpUrl != NULL) { nc = min(lenUrl, strlenW(lpUrl)); - nc = min(nc, L_MAX_URL_LENGTH); - Last->u.Link.szUrl = Alloc((L_MAX_URL_LENGTH + 1) * sizeof(WCHAR)); + nc = min(nc, L_MAX_URL_LENGTH - 1); + Last->u.Link.szUrl = Alloc((nc + 1) * sizeof(WCHAR)); if(Last->u.Link.szUrl != NULL) { lstrcpynW(Last->u.Link.szUrl, lpUrl, nc + 1); - Last->u.Link.szUrl[nc] = 0; } } else @@ -751,6 +752,7 @@ static VOID SYSLINK_Render (SYSLINK_INFO *infoPtr, HDC hdc) { Free(bl); bl = NULL; + nBlocks = 0; } break; } @@ -769,11 +771,12 @@ static VOID SYSLINK_Render (SYSLINK_INFO *infoPtr, HDC hdc) { Free(bl); bl = NULL; + nBlocks = 0; } } else { - bl = Alloc((nBlocks + 1) * sizeof(DOC_TEXTBLOCK)); + bl = Alloc(sizeof(DOC_TEXTBLOCK)); if (bl != NULL) nBlocks++; } @@ -820,8 +823,6 @@ static VOID SYSLINK_Render (SYSLINK_INFO *infoPtr, HDC hdc) { Current->Blocks = bl; } - else - Current->Blocks = NULL; } SelectObject(hdc, hOldFont); @@ -877,10 +878,10 @@ static LRESULT SYSLINK_Draw (SYSLINK_INFO *infoPtr, HDC hdc) ExtTextOutW(hdc, bl->rc.left, bl->rc.top, ETO_OPAQUE | ETO_CLIPPED, &bl->rc, tx, bl->nChars, NULL); if((Current->Type == slLink) && (Current->u.Link.state & LIS_FOCUSED) && infoPtr->HasFocus) { - COLORREF PrevColor; - PrevColor = SetBkColor(hdc, OldBkColor); + COLORREF PrevTextColor; + PrevTextColor = SetTextColor(hdc, infoPtr->TextColor); DrawFocusRect(hdc, &bl->rc); - SetBkColor(hdc, PrevColor); + SetTextColor(hdc, PrevTextColor); } tx += bl->nChars; n -= bl->nChars + bl->nSkip; @@ -907,8 +908,11 @@ static LRESULT SYSLINK_Paint (SYSLINK_INFO *infoPtr, HDC hdcParam) PAINTSTRUCT ps; hdc = hdcParam ? hdcParam : BeginPaint (infoPtr->Self, &ps); - SYSLINK_Draw (infoPtr, hdc); - if (!hdcParam) EndPaint (infoPtr->Self, &ps); + if (hdc) + { + SYSLINK_Draw (infoPtr, hdc); + if (!hdcParam) EndPaint (infoPtr->Self, &ps); + } return 0; } @@ -972,8 +976,7 @@ static LRESULT SYSLINK_SetText (SYSLINK_INFO *infoPtr, LPCWSTR Text) /* clear the document */ SYSLINK_ClearDoc(infoPtr); - textlen = lstrlenW(Text); - if(Text == NULL || textlen == 0) + if(Text == NULL || (textlen = lstrlenW(Text)) == 0) { return TRUE; } @@ -983,9 +986,13 @@ static LRESULT SYSLINK_SetText (SYSLINK_INFO *infoPtr, LPCWSTR Text) { /* Render text position and word wrapping in memory */ HDC hdc = GetDC(infoPtr->Self); - SYSLINK_Render(infoPtr, hdc); - SYSLINK_Draw(infoPtr, hdc); - ReleaseDC(infoPtr->Self, hdc); + if (hdc != NULL) + { + SYSLINK_Render(infoPtr, hdc); + ReleaseDC(infoPtr->Self, hdc); + + InvalidateRect(infoPtr->Self, NULL, TRUE); + } } return TRUE; @@ -1031,8 +1038,10 @@ static PDOC_ITEM SYSLINK_SetFocusLink (SYSLINK_INFO *infoPtr, PDOC_ITEM DocItem) static LRESULT SYSLINK_SetItem (SYSLINK_INFO *infoPtr, PLITEM Item) { PDOC_ITEM di; + int nc; + PWSTR szId = NULL; + PWSTR szUrl = NULL; BOOL Repaint = FALSE; - BOOL Ret = TRUE; if(!(Item->mask & LIF_ITEMINDEX) || !(Item->mask & (LIF_FLAGSMASK))) { @@ -1046,7 +1055,60 @@ static LRESULT SYSLINK_SetItem (SYSLINK_INFO *infoPtr, PLITEM Item) ERR("Link %d couldn't be found\n", Item->iLink); return FALSE; } - + + if(Item->mask & LIF_ITEMID) + { + nc = min(lstrlenW(Item->szID), MAX_LINKID_TEXT - 1); + szId = Alloc((nc + 1) * sizeof(WCHAR)); + if(szId) + { + lstrcpynW(szId, Item->szID, nc + 1); + } + else + { + ERR("Unable to allocate memory for link id\n"); + return FALSE; + } + } + + if(Item->mask & LIF_URL) + { + nc = min(lstrlenW(Item->szUrl), L_MAX_URL_LENGTH - 1); + szUrl = Alloc((nc + 1) * sizeof(WCHAR)); + if(szUrl) + { + lstrcpynW(szUrl, Item->szUrl, nc + 1); + } + else + { + if (szId) + { + Free(szId); + } + + ERR("Unable to allocate memory for link url\n"); + return FALSE; + } + } + + if(Item->mask & LIF_ITEMID) + { + if(di->u.Link.szID) + { + Free(di->u.Link.szID); + } + di->u.Link.szID = szId; + } + + if(Item->mask & LIF_URL) + { + if(di->u.Link.szUrl) + { + Free(di->u.Link.szUrl); + } + di->u.Link.szUrl = szUrl; + } + if(Item->mask & LIF_STATE) { UINT oldstate = di->u.Link.state; @@ -1059,47 +1121,13 @@ static LRESULT SYSLINK_SetItem (SYSLINK_INFO *infoPtr, PLITEM Item) /* update the focus */ SYSLINK_SetFocusLink(infoPtr, ((di->u.Link.state & LIS_FOCUSED) ? di : NULL)); } - - if(Item->mask & LIF_ITEMID) - { - if(!di->u.Link.szID) - { - di->u.Link.szID = Alloc((MAX_LINKID_TEXT + 1) * sizeof(WCHAR)); - if(!Item->szID) - { - ERR("Unable to allocate memory for link id\n"); - Ret = FALSE; - } - } - if(di->u.Link.szID) - { - lstrcpynW(di->u.Link.szID, Item->szID, MAX_LINKID_TEXT + 1); - } - } - - if(Item->mask & LIF_URL) - { - if(!di->u.Link.szUrl) - { - di->u.Link.szUrl = Alloc((MAX_LINKID_TEXT + 1) * sizeof(WCHAR)); - if(!Item->szUrl) - { - ERR("Unable to allocate memory for link url\n"); - Ret = FALSE; - } - } - if(di->u.Link.szUrl) - { - lstrcpynW(di->u.Link.szUrl, Item->szUrl, MAX_LINKID_TEXT + 1); - } - } if(Repaint) { SYSLINK_RepaintLink(infoPtr, di); } - return Ret; + return TRUE; } /*********************************************************************** @@ -1137,7 +1165,7 @@ static LRESULT SYSLINK_GetItem (SYSLINK_INFO *infoPtr, PLITEM Item) { if(di->u.Link.szID) { - lstrcpynW(Item->szID, di->u.Link.szID, MAX_LINKID_TEXT + 1); + lstrcpyW(Item->szID, di->u.Link.szID); } else { @@ -1149,7 +1177,7 @@ static LRESULT SYSLINK_GetItem (SYSLINK_INFO *infoPtr, PLITEM Item) { if(di->u.Link.szUrl) { - lstrcpynW(Item->szUrl, di->u.Link.szUrl, L_MAX_URL_LENGTH + 1); + lstrcpyW(Item->szUrl, di->u.Link.szUrl); } else { @@ -1209,7 +1237,7 @@ static LRESULT SYSLINK_HitTest (SYSLINK_INFO *infoPtr, PLHITTESTINFO HitTest) HitTest->item.stateMask = 0; if(Current->u.Link.szID) { - lstrcpynW(HitTest->item.szID, Current->u.Link.szID, MAX_LINKID_TEXT + 1); + lstrcpyW(HitTest->item.szID, Current->u.Link.szID); } else { @@ -1217,7 +1245,7 @@ static LRESULT SYSLINK_HitTest (SYSLINK_INFO *infoPtr, PLHITTESTINFO HitTest) } if(Current->u.Link.szUrl) { - lstrcpynW(HitTest->item.szUrl, Current->u.Link.szUrl, L_MAX_URL_LENGTH + 1); + lstrcpyW(HitTest->item.szUrl, Current->u.Link.szUrl); } else { @@ -1279,7 +1307,7 @@ static LRESULT SYSLINK_SendParentNotify (SYSLINK_INFO *infoPtr, UINT code, PDOC_ nml.item.stateMask = 0; if(Link->u.Link.szID) { - lstrcpynW(nml.item.szID, Link->u.Link.szID, MAX_LINKID_TEXT + 1); + lstrcpyW(nml.item.szID, Link->u.Link.szID); } else { @@ -1287,7 +1315,7 @@ static LRESULT SYSLINK_SendParentNotify (SYSLINK_INFO *infoPtr, UINT code, PDOC_ } if(Link->u.Link.szUrl) { - lstrcpynW(nml.item.szUrl, Link->u.Link.szUrl, L_MAX_URL_LENGTH + 1); + lstrcpyW(nml.item.szUrl, Link->u.Link.szUrl); } else { diff --git a/reactos/dll/win32/comctl32/tab.c b/reactos/dll/win32/comctl32/tab.c index dd9dbe51dc2..4d022b08901 100644 --- a/reactos/dll/win32/comctl32/tab.c +++ b/reactos/dll/win32/comctl32/tab.c @@ -18,7 +18,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * NOTES * @@ -261,9 +261,11 @@ static inline LRESULT TAB_SetCurSel (TAB_INFO *infoPtr, INT iItem) if (iItem >= 0 && iItem < infoPtr->uNumItem) { prevItem=infoPtr->iSelected; - infoPtr->iSelected=iItem; - TAB_EnsureSelectionVisible(infoPtr); - TAB_InvalidateTabArea(infoPtr); + if (infoPtr->iSelected != iItem) { + infoPtr->iSelected=iItem; + TAB_EnsureSelectionVisible(infoPtr); + TAB_InvalidateTabArea(infoPtr); + } } return prevItem; } @@ -1745,14 +1747,20 @@ TAB_DrawItemInterior if(lStyle & TCS_VERTICAL) { center_offset_h = ((drawRect->bottom - drawRect->top) - (cy + infoPtr->uHItemPadding + (rcText.right - rcText.left))) / 2; - center_offset_v = ((drawRect->right - drawRect->left) - (cx + infoPtr->uVItemPadding)) / 2; + center_offset_v = (drawRect->left + (drawRect->right - drawRect->left) - cx) / 2; } else { center_offset_h = ((drawRect->right - drawRect->left) - (cx + infoPtr->uHItemPadding + (rcText.right - rcText.left))) / 2; - center_offset_v = ((drawRect->bottom - drawRect->top) - (cy + infoPtr->uVItemPadding)) / 2; + center_offset_v = (drawRect->top + (drawRect->bottom - drawRect->top) - cy) / 2; } + /* if an item is selected, the icon is shifted up instead of down */ + if (iItem == infoPtr->iSelected) + center_offset_v -= infoPtr->uVItemPadding / 2; + else + center_offset_v += infoPtr->uVItemPadding / 2; + if (lStyle & TCS_FIXEDWIDTH && lStyle & (TCS_FORCELABELLEFT | TCS_FORCEICONLEFT)) center_offset_h = infoPtr->uHItemPadding; diff --git a/reactos/dll/win32/comctl32/theme_combo.c b/reactos/dll/win32/comctl32/theme_combo.c index fd6f75718af..d3d563ec252 100644 --- a/reactos/dll/win32/comctl32/theme_combo.c +++ b/reactos/dll/win32/comctl32/theme_combo.c @@ -15,7 +15,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * */ diff --git a/reactos/dll/win32/comctl32/theme_dialog.c b/reactos/dll/win32/comctl32/theme_dialog.c index fe390242c72..cfcb56f937b 100644 --- a/reactos/dll/win32/comctl32/theme_dialog.c +++ b/reactos/dll/win32/comctl32/theme_dialog.c @@ -15,7 +15,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * */ @@ -74,8 +74,8 @@ LRESULT CALLBACK THEMING_DialogSubclassProc (HWND hWnd, UINT msg, if (!doTheming) return THEMING_CallOriginalClass (hWnd, msg, wParam, lParam); { RECT rc; - DLGPROC dlgp = (DLGPROC)GetWindowLongPtrW (hWnd, DWLP_DLGPROC); - if (!dlgp (hWnd, msg, wParam, lParam)) + WNDPROC dlgp = (WNDPROC)GetWindowLongPtrW (hWnd, DWLP_DLGPROC); + if (!CallWindowProcW(dlgp, hWnd, msg, wParam, lParam)) { /* Draw background*/ GetClientRect (hWnd, &rc); @@ -104,8 +104,8 @@ LRESULT CALLBACK THEMING_DialogSubclassProc (HWND hWnd, UINT msg, case WM_CTLCOLORSTATIC: if (!doTheming) return THEMING_CallOriginalClass (hWnd, msg, wParam, lParam); { - DLGPROC dlgp = (DLGPROC)GetWindowLongPtrW (hWnd, DWLP_DLGPROC); - LRESULT result = (LRESULT)dlgp (hWnd, msg, wParam, lParam); + WNDPROC dlgp = (WNDPROC)GetWindowLongPtrW (hWnd, DWLP_DLGPROC); + LRESULT result = CallWindowProcW(dlgp, hWnd, msg, wParam, lParam); if (!result) { /* Override defaults with more suitable values when themed */ diff --git a/reactos/dll/win32/comctl32/theme_edit.c b/reactos/dll/win32/comctl32/theme_edit.c index 36141a14ee3..3cbf7608121 100644 --- a/reactos/dll/win32/comctl32/theme_edit.c +++ b/reactos/dll/win32/comctl32/theme_edit.c @@ -15,7 +15,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * */ diff --git a/reactos/dll/win32/comctl32/theme_listbox.c b/reactos/dll/win32/comctl32/theme_listbox.c index aec9c5585e2..93e9ac7d926 100644 --- a/reactos/dll/win32/comctl32/theme_listbox.c +++ b/reactos/dll/win32/comctl32/theme_listbox.c @@ -15,7 +15,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * */ diff --git a/reactos/dll/win32/comctl32/theming.c b/reactos/dll/win32/comctl32/theming.c index d59672f66cf..87b4db30650 100644 --- a/reactos/dll/win32/comctl32/theming.c +++ b/reactos/dll/win32/comctl32/theming.c @@ -15,7 +15,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * */ diff --git a/reactos/dll/win32/comctl32/toolbar.c b/reactos/dll/win32/comctl32/toolbar.c index 64be7ec9289..e84150ebe1c 100644 --- a/reactos/dll/win32/comctl32/toolbar.c +++ b/reactos/dll/win32/comctl32/toolbar.c @@ -17,7 +17,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * NOTES * @@ -6167,7 +6167,7 @@ TOOLBAR_LButtonUp (HWND hwnd, WPARAM wParam, LPARAM lParam) * NM_CLICK with the NMMOUSE structure. */ nmmouse.dwHitInfo = nHit; - if (nmmouse.dwHitInfo < 0) + if (nHit < 0) nmmouse.dwItemSpec = -1; else { diff --git a/reactos/dll/win32/comctl32/tooltips.c b/reactos/dll/win32/comctl32/tooltips.c index c16fd7e6f02..83064f26795 100644 --- a/reactos/dll/win32/comctl32/tooltips.c +++ b/reactos/dll/win32/comctl32/tooltips.c @@ -16,7 +16,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * NOTES * @@ -2025,7 +2025,8 @@ TOOLTIPS_SetToolInfoA (HWND hwnd, WPARAM wParam, LPARAM lParam) else { if ( (toolPtr->lpszText) && !IS_INTRESOURCE(toolPtr->lpszText) ) { - Free (toolPtr->lpszText); + if( toolPtr->lpszText != LPSTR_TEXTCALLBACKW) + Free (toolPtr->lpszText); toolPtr->lpszText = NULL; } if (lpToolInfo->lpszText) { @@ -2082,7 +2083,8 @@ TOOLTIPS_SetToolInfoW (HWND hwnd, WPARAM wParam, LPARAM lParam) else { if ( (toolPtr->lpszText) && !IS_INTRESOURCE(toolPtr->lpszText) ) { - Free (toolPtr->lpszText); + if( toolPtr->lpszText != LPSTR_TEXTCALLBACKW) + Free (toolPtr->lpszText); toolPtr->lpszText = NULL; } if (lpToolInfo->lpszText) { @@ -2208,7 +2210,8 @@ TOOLTIPS_UpdateTipTextA (HWND hwnd, WPARAM wParam, LPARAM lParam) else { if ( (toolPtr->lpszText) && !IS_INTRESOURCE(toolPtr->lpszText) ) { - Free (toolPtr->lpszText); + if( toolPtr->lpszText != LPSTR_TEXTCALLBACKW) + Free (toolPtr->lpszText); toolPtr->lpszText = NULL; } if (lpToolInfo->lpszText) { @@ -2265,7 +2268,8 @@ TOOLTIPS_UpdateTipTextW (HWND hwnd, WPARAM wParam, LPARAM lParam) else { if ( (toolPtr->lpszText) && !IS_INTRESOURCE(toolPtr->lpszText) ) { - Free (toolPtr->lpszText); + if( toolPtr->lpszText != LPSTR_TEXTCALLBACKW) + Free (toolPtr->lpszText); toolPtr->lpszText = NULL; } if (lpToolInfo->lpszText) { diff --git a/reactos/dll/win32/comctl32/trackbar.c b/reactos/dll/win32/comctl32/trackbar.c index 7094e049994..aecde79a17b 100644 --- a/reactos/dll/win32/comctl32/trackbar.c +++ b/reactos/dll/win32/comctl32/trackbar.c @@ -17,7 +17,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * NOTE * diff --git a/reactos/dll/win32/comctl32/treeview.c b/reactos/dll/win32/comctl32/treeview.c index 2aaf41e2a4e..499faa2eeb4 100644 --- a/reactos/dll/win32/comctl32/treeview.c +++ b/reactos/dll/win32/comctl32/treeview.c @@ -17,7 +17,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * NOTES * @@ -1299,6 +1299,7 @@ TREEVIEW_InsertItemT(TREEVIEW_INFO *infoPtr, const TVINSERTSTRUCTW *ptdi, BOOL i { TREEVIEW_ITEM *aChild; TREEVIEW_ITEM *previousChild = NULL; + TREEVIEW_ITEM *originalFirst = parentItem->firstChild; BOOL bItemInserted = FALSE; aChild = parentItem->firstChild; @@ -1317,6 +1318,9 @@ TREEVIEW_InsertItemT(TREEVIEW_INFO *infoPtr, const TVINSERTSTRUCTW *ptdi, BOOL i if (comp < 0) /* we are smaller than the current one */ { TREEVIEW_InsertBefore(newItem, aChild, parentItem); + if (infoPtr->firstVisible == originalFirst && + aChild == originalFirst) + TREEVIEW_SetFirstVisible(infoPtr, newItem, TRUE); bItemInserted = TRUE; break; } @@ -2316,11 +2320,14 @@ TREEVIEW_DrawItemLines(TREEVIEW_INFO *infoPtr, HDC hdc, TREEVIEW_ITEM *item) { HPEN hOldPen, hNewPen; HTREEITEM parent; + LOGBRUSH lb; /* * Get a dotted grey pen */ - hNewPen = CreatePen(PS_ALTERNATE, 0, infoPtr->clrLine); + lb.lbStyle = BS_SOLID; + lb.lbColor = infoPtr->clrLine; + hNewPen = ExtCreatePen(PS_COSMETIC|PS_ALTERNATE, 1, &lb, 0, NULL); hOldPen = SelectObject(hdc, hNewPen); MoveToEx(hdc, item->stateOffset, centery, NULL); @@ -2821,6 +2828,8 @@ TREEVIEW_Refresh(TREEVIEW_INFO *infoPtr, HDC hdc, RECT *rc) } } + TREEVIEW_UpdateScrollBars(infoPtr); + if (infoPtr->cdmode & CDRF_NOTIFYPOSTPAINT) infoPtr->cdmode = TREEVIEW_SendCustomDrawNotify(infoPtr, CDDS_POSTPAINT, hdc, rect); @@ -3325,7 +3334,6 @@ TREEVIEW_Expand(TREEVIEW_INFO *infoPtr, TREEVIEW_ITEM *wineItem, } } } - TREEVIEW_UpdateScrollBars(infoPtr); return TRUE; } diff --git a/reactos/dll/win32/comctl32/updown.c b/reactos/dll/win32/comctl32/updown.c index cda2668d953..7fbe3c934d5 100644 --- a/reactos/dll/win32/comctl32/updown.c +++ b/reactos/dll/win32/comctl32/updown.c @@ -15,7 +15,7 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * * NOTE *