mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 10:04:49 +00:00
- Updated comctl32.dll to latest WineHQ release.
svn path=/trunk/; revision=6742
This commit is contained in:
parent
ba0efcb546
commit
348f231f03
26 changed files with 2067 additions and 1281 deletions
|
@ -1,8 +1,8 @@
|
||||||
*.coff
|
*.coff
|
||||||
*.dll
|
*.dll
|
||||||
*.d
|
*.d
|
||||||
*.a
|
*.a
|
||||||
*.o
|
*.o
|
||||||
*.sym
|
*.sym
|
||||||
*.map
|
*.map
|
||||||
*.tmp
|
*.tmp
|
||||||
|
|
|
@ -191,6 +191,12 @@ BOOL WINAPI DPA_Merge (const HDPA, const HDPA, DWORD, PFNDPACOMPARE, PFNDPAMERGE
|
||||||
#define TB_UNKWN463 (WM_USER+99)
|
#define TB_UNKWN463 (WM_USER+99)
|
||||||
#define TB_UNKWN464 (WM_USER+100)
|
#define TB_UNKWN464 (WM_USER+100)
|
||||||
|
|
||||||
|
#define FLATSB_CLASSA "flatsb_class32"
|
||||||
|
|
||||||
|
/* FIXME: Rebar definition hack, should be patched in Wine */
|
||||||
|
#undef RB_GETBANDINFO
|
||||||
|
#define RB_GETBANDINFO (WM_USER+5) /* just for compatibility */
|
||||||
|
|
||||||
#define Header_GetItemA(w,i,d) (BOOL)SendMessageA((w),HDM_GETITEMA,(WPARAM)(i),(LPARAM)(HDITEMA*)(d))
|
#define Header_GetItemA(w,i,d) (BOOL)SendMessageA((w),HDM_GETITEMA,(WPARAM)(i),(LPARAM)(HDITEMA*)(d))
|
||||||
#define Header_GetItemW(w,i,d) (BOOL)SendMessageW((w),HDM_GETITEMW,(WPARAM)(i),(LPARAM)(HDITEMW*)(d))
|
#define Header_GetItemW(w,i,d) (BOOL)SendMessageW((w),HDM_GETITEMW,(WPARAM)(i),(LPARAM)(HDITEMW*)(d))
|
||||||
#define Header_SetItemA(w,i,d) (BOOL)SendMessageA((w),HDM_SETITEMA,(WPARAM)(i),(LPARAM)(const HDITEMA*)(d))
|
#define Header_SetItemA(w,i,d) (BOOL)SendMessageA((w),HDM_SETITEMA,(WPARAM)(i),(LPARAM)(const HDITEMA*)(d))
|
||||||
|
@ -198,15 +204,30 @@ BOOL WINAPI DPA_Merge (const HDPA, const HDPA, DWORD, PFNDPACOMPARE, PFNDPAMERGE
|
||||||
#define ListView_FindItemA(w,p,i) (INT)SendMessageA((w),LVM_FINDITEMA,(WPARAM)(p),(LPARAM)(LVFINDINFOA*)(i))
|
#define ListView_FindItemA(w,p,i) (INT)SendMessageA((w),LVM_FINDITEMA,(WPARAM)(p),(LPARAM)(LVFINDINFOA*)(i))
|
||||||
#define ListView_FindItemW(w,p,i) (INT)SendMessageW((w),LVM_FINDITEMW,(WPARAM)(p),(LPARAM)(LVFINDINFOW*)(i))
|
#define ListView_FindItemW(w,p,i) (INT)SendMessageW((w),LVM_FINDITEMW,(WPARAM)(p),(LPARAM)(LVFINDINFOW*)(i))
|
||||||
|
|
||||||
#define FLATSB_CLASSA "flatsb_class32"
|
|
||||||
|
|
||||||
/* FIXME: Rebar definition hack, should be patched in Wine */
|
|
||||||
#undef RB_GETBANDINFO
|
|
||||||
#define RB_GETBANDINFO (WM_USER+5) /* just for compatibility */
|
|
||||||
|
|
||||||
/* Property sheet Wizard 97 styles */
|
/* Property sheet Wizard 97 styles */
|
||||||
#define PSH_WIZARD97_OLD 0x2000
|
#define PSH_WIZARD97_OLD 0x2000
|
||||||
#define PSH_WIZARD97_NEW 0x1000000
|
#define PSH_WIZARD97_NEW 0x1000000
|
||||||
|
|
||||||
|
/* FIXME: Submit to W32API */
|
||||||
|
#ifndef HDM_SETBITMAPMARGIN
|
||||||
|
#define HDM_SETBITMAPMARGIN (HDM_FIRST+20)
|
||||||
|
#endif
|
||||||
|
#ifndef HDM_GETBITMAPMARGIN
|
||||||
|
#define HDM_GETBITMAPMARGIN (HDM_FIRST+21)
|
||||||
|
#endif
|
||||||
|
#ifndef RBBS_USECHEVRON
|
||||||
|
#define RBBS_USECHEVRON 0x00000200
|
||||||
|
#endif
|
||||||
|
#ifndef RBHT_CHEVRON
|
||||||
|
#define RBHT_CHEVRON 0x0008
|
||||||
|
#endif
|
||||||
|
#ifndef RB_PUSHCHEVRON
|
||||||
|
#define RB_PUSHCHEVRON (WM_USER+43)
|
||||||
|
#endif
|
||||||
|
#ifndef RBN_CHEVRONPUSHED
|
||||||
|
#define RBN_CHEVRONPUSHED (RBN_FIRST-10)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#endif /* __REACTOS__ */
|
||||||
|
|
||||||
#endif /* __WINE_COMCTL32_H */
|
#endif /* __WINE_COMCTL32_H */
|
||||||
|
|
|
@ -32,9 +32,11 @@ IDI_DRAGARROW ICON "res/idi_dragarrow.ico"
|
||||||
#include "res/comctl_En.rc"
|
#include "res/comctl_En.rc"
|
||||||
#include "res/comctl_Cn.rc"
|
#include "res/comctl_Cn.rc"
|
||||||
#include "res/comctl_De.rc"
|
#include "res/comctl_De.rc"
|
||||||
#include "res/comctl_Fr.rc"
|
|
||||||
#include "res/comctl_Es.rc"
|
#include "res/comctl_Es.rc"
|
||||||
|
#include "res/comctl_Fr.rc"
|
||||||
|
#include "res/comctl_It.rc"
|
||||||
#include "res/comctl_Ko.rc"
|
#include "res/comctl_Ko.rc"
|
||||||
|
#include "res/comctl_Nl.rc"
|
||||||
#include "res/comctl_Pl.rc"
|
#include "res/comctl_Pl.rc"
|
||||||
#include "res/comctl_Pt.rc"
|
#include "res/comctl_Pt.rc"
|
||||||
#include "res/comctl_Ru.rc"
|
#include "res/comctl_Ru.rc"
|
||||||
|
|
|
@ -38,8 +38,8 @@
|
||||||
#include "winuser.h"
|
#include "winuser.h"
|
||||||
#include "winnls.h"
|
#include "winnls.h"
|
||||||
#include "commctrl.h"
|
#include "commctrl.h"
|
||||||
#include "comctl32.h"
|
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
|
#include "comctl32.h"
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(commctrl);
|
WINE_DEFAULT_DEBUG_CHANNEL(commctrl);
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
*
|
*
|
||||||
* Copyright 1998 Eric Kohl
|
* Copyright 1998 Eric Kohl
|
||||||
* Copyright 2000 Eric Kohl for CodeWeavers
|
* Copyright 2000 Eric Kohl for CodeWeavers
|
||||||
|
* Copyright 2003 Maxime Bellenge
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
@ -28,8 +29,6 @@
|
||||||
* - Use notification format
|
* - Use notification format
|
||||||
* - Correct the order maintenance code to preserve valid order
|
* - Correct the order maintenance code to preserve valid order
|
||||||
*
|
*
|
||||||
* FIXME:
|
|
||||||
* - Little flaw when drawing a bitmap on the right side of the text.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
@ -82,6 +81,7 @@ typedef struct
|
||||||
INT xOldTrack; /* track offset (see above) after the last WM_MOUSEMOVE */
|
INT xOldTrack; /* track offset (see above) after the last WM_MOUSEMOVE */
|
||||||
INT nOldWidth; /* width of a sizing item 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 iHotItem; /* index of hot item (cursor is over this item) */
|
||||||
|
INT iMargin; /* width of the margin that surrounds a bitmap */
|
||||||
|
|
||||||
HIMAGELIST himl; /* handle to a image list (may be 0) */
|
HIMAGELIST himl; /* handle to a image list (may be 0) */
|
||||||
HEADER_ITEM *items; /* pointer to array of HEADER_ITEM's */
|
HEADER_ITEM *items; /* pointer to array of HEADER_ITEM's */
|
||||||
|
@ -234,19 +234,19 @@ HEADER_DrawItem (HWND hwnd, HDC hdc, INT iItem, BOOL bHotTrack)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rx >= bmp.bmWidth + 6) {
|
if (rx >= bmp.bmWidth + infoPtr->iMargin) {
|
||||||
cx = bmp.bmWidth;
|
cx = bmp.bmWidth;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
cx = rx - 6;
|
cx = rx - infoPtr->iMargin;
|
||||||
}
|
}
|
||||||
|
|
||||||
hdcBitmap = CreateCompatibleDC (hdc);
|
hdcBitmap = CreateCompatibleDC (hdc);
|
||||||
SelectObject (hdcBitmap, phdi->hbm);
|
SelectObject (hdcBitmap, phdi->hbm);
|
||||||
BitBlt (hdc, r.left + 3, yD, cx, cy, hdcBitmap, 0, yS, SRCCOPY);
|
BitBlt (hdc, r.left + infoPtr->iMargin, yD, cx, cy, hdcBitmap, 0, yS, SRCCOPY);
|
||||||
DeleteDC (hdcBitmap);
|
DeleteDC (hdcBitmap);
|
||||||
|
|
||||||
r.left += (bmp.bmWidth + 3);
|
r.left += (bmp.bmWidth + infoPtr->iMargin);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -259,9 +259,13 @@ HEADER_DrawItem (HWND hwnd, HDC hdc, INT iItem, BOOL bHotTrack)
|
||||||
GetObjectA (phdi->hbm, sizeof(BITMAP), (LPVOID)&bmp);
|
GetObjectA (phdi->hbm, sizeof(BITMAP), (LPVOID)&bmp);
|
||||||
|
|
||||||
textRect = r;
|
textRect = r;
|
||||||
DrawTextW (hdc, phdi->pszText, -1,
|
if (phdi->fmt & HDF_STRING) {
|
||||||
&textRect, DT_LEFT|DT_VCENTER|DT_SINGLELINE|DT_CALCRECT);
|
DrawTextW (hdc, phdi->pszText, -1,
|
||||||
tx = textRect.right - textRect.left;
|
&textRect, DT_LEFT|DT_VCENTER|DT_SINGLELINE|DT_CALCRECT);
|
||||||
|
tx = textRect.right - textRect.left;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
tx = 0;
|
||||||
ry = r.bottom - r.top;
|
ry = r.bottom - r.top;
|
||||||
rx = r.right - r.left;
|
rx = r.right - r.left;
|
||||||
|
|
||||||
|
@ -277,18 +281,18 @@ HEADER_DrawItem (HWND hwnd, HDC hdc, INT iItem, BOOL bHotTrack)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (r.left + tx + bmp.bmWidth + 9 <= r.right) {
|
if (r.left + tx + bmp.bmWidth + 2*infoPtr->iMargin <= r.right) {
|
||||||
cx = bmp.bmWidth;
|
cx = bmp.bmWidth;
|
||||||
xD = r.left + tx + 6;
|
xD = r.left + tx + infoPtr->iMargin;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (rx >= bmp.bmWidth + 6) {
|
if (rx >= bmp.bmWidth + infoPtr->iMargin ) {
|
||||||
cx = bmp.bmWidth;
|
cx = bmp.bmWidth;
|
||||||
xD = r.right - bmp.bmWidth - 3;
|
xD = r.right - bmp.bmWidth - infoPtr->iMargin;
|
||||||
r.right = xD - 3;
|
r.right = xD - infoPtr->iMargin;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
cx = rx - 3;
|
cx = rx - infoPtr->iMargin;
|
||||||
xD = r.left;
|
xD = r.left;
|
||||||
r.right = r.left;
|
r.right = r.left;
|
||||||
}
|
}
|
||||||
|
@ -300,21 +304,37 @@ HEADER_DrawItem (HWND hwnd, HDC hdc, INT iItem, BOOL bHotTrack)
|
||||||
DeleteDC (hdcBitmap);
|
DeleteDC (hdcBitmap);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((phdi->fmt & HDF_IMAGE) && (infoPtr->himl)) {
|
if ((phdi->fmt & HDF_IMAGE) && !(phdi->fmt & HDF_BITMAP_ON_RIGHT) && (infoPtr->himl)) {
|
||||||
r.left +=3;
|
r.left += infoPtr->iMargin;
|
||||||
/* FIXME: (r.bottom- (infoPtr->himl->cy))/2 should horicontal center the image
|
ImageList_DrawEx(infoPtr->himl, phdi->iImage, hdc, r.left, r.top + (r.bottom-r.top- infoPtr->himl->cy)/2,
|
||||||
It looks like it doesn't work as expected*/
|
infoPtr->himl->cx, r.bottom-r.top, CLR_DEFAULT, CLR_DEFAULT, 0);
|
||||||
ImageList_Draw (infoPtr->himl, phdi->iImage,hdc,r.left, (r.bottom- (infoPtr->himl->cy))/2,0);
|
r.left += infoPtr->himl->cx;
|
||||||
r.left += infoPtr->himl->cx;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((phdi->fmt & HDF_IMAGE) && (phdi->fmt & HDF_BITMAP_ON_RIGHT) && (infoPtr->himl)) {
|
||||||
|
RECT textRect;
|
||||||
|
INT tx;
|
||||||
|
|
||||||
|
textRect = r;
|
||||||
|
if (phdi->fmt & HDF_STRING) {
|
||||||
|
DrawTextW (hdc, phdi->pszText, -1,
|
||||||
|
&textRect, DT_LEFT|DT_VCENTER|DT_SINGLELINE|DT_CALCRECT);
|
||||||
|
tx = textRect.right - textRect.left;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
tx = 0;
|
||||||
|
ImageList_DrawEx(infoPtr->himl, phdi->iImage, hdc, r.left + tx + 2*infoPtr->iMargin,
|
||||||
|
r.top + (r.bottom-r.top-infoPtr->himl->cy)/2, infoPtr->himl->cx, r.bottom-r.top,
|
||||||
|
CLR_DEFAULT, CLR_DEFAULT, 0);
|
||||||
|
}
|
||||||
|
|
||||||
if (((phdi->fmt & HDF_STRING)
|
if (((phdi->fmt & HDF_STRING)
|
||||||
|| (!(phdi->fmt & (HDF_OWNERDRAW|HDF_STRING|HDF_BITMAP|
|
|| (!(phdi->fmt & (HDF_OWNERDRAW|HDF_STRING|HDF_BITMAP|
|
||||||
HDF_BITMAP_ON_RIGHT|HDF_IMAGE)))) /* no explicit format specified? */
|
HDF_BITMAP_ON_RIGHT|HDF_IMAGE)))) /* no explicit format specified? */
|
||||||
&& (phdi->pszText)) {
|
&& (phdi->pszText)) {
|
||||||
oldBkMode = SetBkMode(hdc, TRANSPARENT);
|
oldBkMode = SetBkMode(hdc, TRANSPARENT);
|
||||||
r.left += 3 ;
|
r.left += infoPtr->iMargin;
|
||||||
r.right -= 3;
|
r.right -= infoPtr->iMargin;
|
||||||
SetTextColor (hdc, (bHotTrack) ? COLOR_HIGHLIGHT : COLOR_BTNTEXT);
|
SetTextColor (hdc, (bHotTrack) ? COLOR_HIGHLIGHT : COLOR_BTNTEXT);
|
||||||
DrawTextW (hdc, phdi->pszText, -1,
|
DrawTextW (hdc, phdi->pszText, -1,
|
||||||
&r, uTextJustify|DT_END_ELLIPSIS|DT_VCENTER|DT_SINGLELINE);
|
&r, uTextJustify|DT_END_ELLIPSIS|DT_VCENTER|DT_SINGLELINE);
|
||||||
|
@ -904,8 +924,9 @@ HEADER_InsertItemA (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||||
lpItem->cxy = phdi->cxy;
|
lpItem->cxy = phdi->cxy;
|
||||||
|
|
||||||
if (phdi->mask & HDI_TEXT) {
|
if (phdi->mask & HDI_TEXT) {
|
||||||
|
static char empty[] = "";
|
||||||
if (!phdi->pszText) /* null pointer check */
|
if (!phdi->pszText) /* null pointer check */
|
||||||
phdi->pszText = "";
|
phdi->pszText = empty;
|
||||||
if (phdi->pszText != LPSTR_TEXTCALLBACKA) {
|
if (phdi->pszText != LPSTR_TEXTCALLBACKA) {
|
||||||
len = MultiByteToWideChar(CP_ACP, 0, phdi->pszText, -1, NULL, 0);
|
len = MultiByteToWideChar(CP_ACP, 0, phdi->pszText, -1, NULL, 0);
|
||||||
lpItem->pszText = Alloc( len*sizeof(WCHAR) );
|
lpItem->pszText = Alloc( len*sizeof(WCHAR) );
|
||||||
|
@ -1091,6 +1112,25 @@ HEADER_SetImageList (HWND hwnd, HIMAGELIST himl)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static LRESULT
|
||||||
|
HEADER_GetBitmapMargin(HWND hwnd)
|
||||||
|
{
|
||||||
|
HEADER_INFO *infoPtr = HEADER_GetInfoPtr(hwnd);
|
||||||
|
|
||||||
|
return infoPtr->iMargin;
|
||||||
|
}
|
||||||
|
|
||||||
|
static LRESULT
|
||||||
|
HEADER_SetBitmapMargin(HWND hwnd, WPARAM wParam)
|
||||||
|
{
|
||||||
|
HEADER_INFO *infoPtr = HEADER_GetInfoPtr (hwnd);
|
||||||
|
INT oldMargin = infoPtr->iMargin;
|
||||||
|
|
||||||
|
infoPtr->iMargin = (INT)wParam;
|
||||||
|
|
||||||
|
return oldMargin;
|
||||||
|
}
|
||||||
|
|
||||||
static LRESULT
|
static LRESULT
|
||||||
HEADER_SetItemA (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
HEADER_SetItemA (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
|
@ -1261,6 +1301,7 @@ HEADER_Create (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||||
infoPtr->himl = 0;
|
infoPtr->himl = 0;
|
||||||
infoPtr->iHotItem = -1;
|
infoPtr->iHotItem = -1;
|
||||||
infoPtr->bUnicode = IsWindowUnicode (hwnd);
|
infoPtr->bUnicode = IsWindowUnicode (hwnd);
|
||||||
|
infoPtr->iMargin = 3*GetSystemMetrics(SM_CXEDGE);
|
||||||
infoPtr->nNotifyFormat =
|
infoPtr->nNotifyFormat =
|
||||||
SendMessageA (infoPtr->hwndNotify, WM_NOTIFYFORMAT, (WPARAM)hwnd, NF_QUERY);
|
SendMessageA (infoPtr->hwndNotify, WM_NOTIFYFORMAT, (WPARAM)hwnd, NF_QUERY);
|
||||||
|
|
||||||
|
@ -1675,7 +1716,8 @@ HEADER_WindowProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||||
|
|
||||||
/* case HDM_EDITFILTER: */
|
/* case HDM_EDITFILTER: */
|
||||||
|
|
||||||
/* case HDM_GETBITMAPMARGIN: */
|
case HDM_GETBITMAPMARGIN:
|
||||||
|
return HEADER_GetBitmapMargin(hwnd);
|
||||||
|
|
||||||
case HDM_GETIMAGELIST:
|
case HDM_GETIMAGELIST:
|
||||||
return HEADER_GetImageList (hwnd);
|
return HEADER_GetImageList (hwnd);
|
||||||
|
@ -1713,7 +1755,8 @@ HEADER_WindowProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||||
case HDM_ORDERTOINDEX:
|
case HDM_ORDERTOINDEX:
|
||||||
return HEADER_OrderToIndex(hwnd, wParam);
|
return HEADER_OrderToIndex(hwnd, wParam);
|
||||||
|
|
||||||
/* case HDM_SETBITMAPMARGIN: */
|
case HDM_SETBITMAPMARGIN:
|
||||||
|
return HEADER_SetBitmapMargin(hwnd, wParam);
|
||||||
|
|
||||||
/* case HDM_SETFILTERCHANGETIMEOUT: */
|
/* case HDM_SETFILTERCHANGETIMEOUT: */
|
||||||
|
|
||||||
|
|
|
@ -450,7 +450,7 @@ BOOL WINAPI
|
||||||
ImageList_Copy (HIMAGELIST himlDst, INT iDst, HIMAGELIST himlSrc,
|
ImageList_Copy (HIMAGELIST himlDst, INT iDst, HIMAGELIST himlSrc,
|
||||||
INT iSrc, UINT uFlags)
|
INT iSrc, UINT uFlags)
|
||||||
{
|
{
|
||||||
TRACE("iDst=%d iSrc=%d\n", iDst, iSrc);
|
TRACE("himlDst=%p iDst=%d himlSrc=%p iSrc=%d\n", himlDst, iDst, himlSrc, iSrc);
|
||||||
|
|
||||||
if (!is_valid(himlSrc) || !is_valid(himlDst))
|
if (!is_valid(himlSrc) || !is_valid(himlDst))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -1165,7 +1165,7 @@ ImageList_DrawIndirect (IMAGELISTDRAWPARAMS *pimldp)
|
||||||
if (fState & ILS_SATURATE) FIXME("ILS_SATURATE: unimplemented!\n");
|
if (fState & ILS_SATURATE) FIXME("ILS_SATURATE: unimplemented!\n");
|
||||||
if (fState & ILS_GLOW) FIXME("ILS_GLOW: unimplemented!\n");
|
if (fState & ILS_GLOW) FIXME("ILS_GLOW: unimplemented!\n");
|
||||||
if (fState & ILS_SHADOW) FIXME("ILS_SHADOW: unimplemented!\n");
|
if (fState & ILS_SHADOW) FIXME("ILS_SHADOW: unimplemented!\n");
|
||||||
if (fState & ILS_ALPHA) FIXME("ILS_SHADOW: unimplemented!\n");
|
if (fState & ILS_ALPHA) FIXME("ILS_ALPHA: unimplemented!\n");
|
||||||
|
|
||||||
if (fStyle & ILD_PRESERVEALPHA) FIXME("ILD_PRESERVEALPHA: unimplemented!\n");
|
if (fStyle & ILD_PRESERVEALPHA) FIXME("ILD_PRESERVEALPHA: unimplemented!\n");
|
||||||
if (fStyle & ILD_SCALE) FIXME("ILD_SCALE: unimplemented!\n");
|
if (fStyle & ILD_SCALE) FIXME("ILD_SCALE: unimplemented!\n");
|
||||||
|
@ -2650,8 +2650,8 @@ _write_bitmap(HBITMAP hBitmap, LPSTREAM pstm, int cx, int cy)
|
||||||
|
|
||||||
/* XXX is this always correct? */
|
/* XXX is this always correct? */
|
||||||
icount = bm.bmWidth / cx;
|
icount = bm.bmWidth / cx;
|
||||||
nwidth = cx << 2;
|
nwidth = cx;
|
||||||
nheight = cy * ((icount+3)>>2);
|
nheight = cy * icount;
|
||||||
|
|
||||||
bitCount = bm.bmBitsPixel == 1 ? 1 : 24;
|
bitCount = bm.bmBitsPixel == 1 ? 1 : 24;
|
||||||
sizeImage = ((((bm.bmWidth * bitCount)+31) & ~31) >> 3) * bm.bmHeight;
|
sizeImage = ((((bm.bmWidth * bitCount)+31) & ~31) >> 3) * bm.bmHeight;
|
||||||
|
@ -2682,13 +2682,13 @@ _write_bitmap(HBITMAP hBitmap, LPSTREAM pstm, int cx, int cy)
|
||||||
bmih->biPlanes = 1;
|
bmih->biPlanes = 1;
|
||||||
bmih->biBitCount = bitCount;
|
bmih->biBitCount = bitCount;
|
||||||
bmih->biCompression = BI_RGB;
|
bmih->biCompression = BI_RGB;
|
||||||
bmih->biSizeImage = nsizeImage;
|
bmih->biSizeImage = sizeImage;
|
||||||
bmih->biXPelsPerMeter = 0;
|
bmih->biXPelsPerMeter = 0;
|
||||||
bmih->biYPelsPerMeter = 0;
|
bmih->biYPelsPerMeter = 0;
|
||||||
bmih->biClrUsed = 0;
|
bmih->biClrUsed = 0;
|
||||||
bmih->biClrImportant = 0;
|
bmih->biClrImportant = 0;
|
||||||
|
|
||||||
lpBitsOrg = (LPBYTE)LocalAlloc(LMEM_ZEROINIT, nsizeImage);
|
lpBitsOrg = (LPBYTE)LocalAlloc(LMEM_ZEROINIT, sizeImage);
|
||||||
if(!GetDIBits(xdc, hBitmap, 0, bm.bmHeight, lpBitsOrg,
|
if(!GetDIBits(xdc, hBitmap, 0, bm.bmHeight, lpBitsOrg,
|
||||||
(BITMAPINFO *)bmih, DIB_RGB_COLORS))
|
(BITMAPINFO *)bmih, DIB_RGB_COLORS))
|
||||||
goto failed;
|
goto failed;
|
||||||
|
@ -2706,6 +2706,7 @@ _write_bitmap(HBITMAP hBitmap, LPSTREAM pstm, int cx, int cy)
|
||||||
|
|
||||||
bmih->biWidth = nwidth;
|
bmih->biWidth = nwidth;
|
||||||
bmih->biHeight = nheight;
|
bmih->biHeight = nheight;
|
||||||
|
bmih->biSizeImage = nsizeImage;
|
||||||
|
|
||||||
if(bitCount == 1) {
|
if(bitCount == 1) {
|
||||||
/* Hack. */
|
/* Hack. */
|
||||||
|
|
|
@ -78,7 +78,6 @@
|
||||||
*
|
*
|
||||||
* Extended Styles
|
* Extended Styles
|
||||||
* -- LVS_EX_BORDERSELECT
|
* -- LVS_EX_BORDERSELECT
|
||||||
* -- LVS_EX_CHECKBOXES
|
|
||||||
* -- LVS_EX_FLATSB
|
* -- LVS_EX_FLATSB
|
||||||
* -- LVS_EX_GRIDLINES
|
* -- LVS_EX_GRIDLINES
|
||||||
* -- LVS_EX_HEADERDRAGDROP
|
* -- LVS_EX_HEADERDRAGDROP
|
||||||
|
@ -88,14 +87,13 @@
|
||||||
* -- LVS_EX_ONECLICKACTIVATE
|
* -- LVS_EX_ONECLICKACTIVATE
|
||||||
* -- LVS_EX_REGIONAL
|
* -- LVS_EX_REGIONAL
|
||||||
* -- LVS_EX_SIMPLESELECT
|
* -- LVS_EX_SIMPLESELECT
|
||||||
* -- LVS_EX_SUBITEMIMAGES
|
|
||||||
* -- LVS_EX_TRACKSELECT
|
* -- LVS_EX_TRACKSELECT
|
||||||
* -- LVS_EX_TWOCLICKACTIVATE
|
* -- LVS_EX_TWOCLICKACTIVATE
|
||||||
* -- LVS_EX_UNDERLINECOLD
|
* -- LVS_EX_UNDERLINECOLD
|
||||||
* -- LVS_EX_UNDERLINEHOT
|
* -- LVS_EX_UNDERLINEHOT
|
||||||
*
|
*
|
||||||
* Notifications:
|
* Notifications:
|
||||||
* -- LVN_BEGINDRAG, LVN_BEGINRDRAG
|
* -- LVN_BEGINRDRAG
|
||||||
* -- LVN_BEGINSCROLL, LVN_ENDSCROLL
|
* -- LVN_BEGINSCROLL, LVN_ENDSCROLL
|
||||||
* -- LVN_GETINFOTIP
|
* -- LVN_GETINFOTIP
|
||||||
* -- LVN_HOTTRACK
|
* -- LVN_HOTTRACK
|
||||||
|
@ -107,7 +105,6 @@
|
||||||
*
|
*
|
||||||
* Messages:
|
* Messages:
|
||||||
* -- LVM_CANCELEDITLABEL
|
* -- LVM_CANCELEDITLABEL
|
||||||
* -- LVM_CREATEDRAGIMAGE
|
|
||||||
* -- LVM_ENABLEGROUPVIEW
|
* -- LVM_ENABLEGROUPVIEW
|
||||||
* -- LVM_GETBKIMAGE, LVM_SETBKIMAGE
|
* -- LVM_GETBKIMAGE, LVM_SETBKIMAGE
|
||||||
* -- LVM_GETGROUPINFO, LVM_SETGROUPINFO
|
* -- LVM_GETGROUPINFO, LVM_SETGROUPINFO
|
||||||
|
@ -238,6 +235,7 @@ typedef struct tagLISTVIEW_INFO
|
||||||
INT nSelectionMark;
|
INT nSelectionMark;
|
||||||
INT nHotItem;
|
INT nHotItem;
|
||||||
SHORT notifyFormat;
|
SHORT notifyFormat;
|
||||||
|
HWND hwndNotify;
|
||||||
RECT rcList; /* This rectangle is really the window
|
RECT rcList; /* This rectangle is really the window
|
||||||
* client rectangle possibly reduced by the
|
* client rectangle possibly reduced by the
|
||||||
* horizontal scroll bar and/or header - see
|
* horizontal scroll bar and/or header - see
|
||||||
|
@ -398,6 +396,7 @@ static LRESULT LISTVIEW_HScroll(LISTVIEW_INFO *, INT, INT, HWND);
|
||||||
static INT LISTVIEW_GetTopIndex(LISTVIEW_INFO *);
|
static INT LISTVIEW_GetTopIndex(LISTVIEW_INFO *);
|
||||||
static BOOL LISTVIEW_EnsureVisible(LISTVIEW_INFO *, INT, BOOL);
|
static BOOL LISTVIEW_EnsureVisible(LISTVIEW_INFO *, INT, BOOL);
|
||||||
static HWND CreateEditLabelT(LISTVIEW_INFO *, LPCWSTR, DWORD, INT, INT, INT, INT, BOOL);
|
static HWND CreateEditLabelT(LISTVIEW_INFO *, LPCWSTR, DWORD, INT, INT, INT, INT, BOOL);
|
||||||
|
static HIMAGELIST LISTVIEW_SetImageList(LISTVIEW_INFO *, INT, HIMAGELIST);
|
||||||
|
|
||||||
/******** Text handling functions *************************************/
|
/******** Text handling functions *************************************/
|
||||||
|
|
||||||
|
@ -529,7 +528,7 @@ static char* debug_getbuf()
|
||||||
return buffers[index++ % DEBUG_BUFFERS];
|
return buffers[index++ % DEBUG_BUFFERS];
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline char* debugrange(const RANGE *lprng)
|
static inline const char* debugrange(const RANGE *lprng)
|
||||||
{
|
{
|
||||||
if (lprng)
|
if (lprng)
|
||||||
{
|
{
|
||||||
|
@ -539,7 +538,7 @@ static inline char* debugrange(const RANGE *lprng)
|
||||||
} else return "(null)";
|
} else return "(null)";
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline char* debugpoint(const POINT *lppt)
|
static inline const char* debugpoint(const POINT *lppt)
|
||||||
{
|
{
|
||||||
if (lppt)
|
if (lppt)
|
||||||
{
|
{
|
||||||
|
@ -549,7 +548,7 @@ static inline char* debugpoint(const POINT *lppt)
|
||||||
} else return "(null)";
|
} else return "(null)";
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline char* debugrect(const RECT *rect)
|
static inline const char* debugrect(const RECT *rect)
|
||||||
{
|
{
|
||||||
if (rect)
|
if (rect)
|
||||||
{
|
{
|
||||||
|
@ -560,7 +559,7 @@ static inline char* debugrect(const RECT *rect)
|
||||||
} else return "(null)";
|
} else return "(null)";
|
||||||
}
|
}
|
||||||
|
|
||||||
static char * debugscrollinfo(const SCROLLINFO *pScrollInfo)
|
static const char * debugscrollinfo(const SCROLLINFO *pScrollInfo)
|
||||||
{
|
{
|
||||||
char* buf = debug_getbuf(), *text = buf;
|
char* buf = debug_getbuf(), *text = buf;
|
||||||
int len, size = DEBUG_BUFFER_SIZE;
|
int len, size = DEBUG_BUFFER_SIZE;
|
||||||
|
@ -592,7 +591,7 @@ undo:
|
||||||
return text;
|
return text;
|
||||||
}
|
}
|
||||||
|
|
||||||
static char* debugnmlistview(const NMLISTVIEW *plvnm)
|
static const char* debugnmlistview(const NMLISTVIEW *plvnm)
|
||||||
{
|
{
|
||||||
if (plvnm)
|
if (plvnm)
|
||||||
{
|
{
|
||||||
|
@ -605,7 +604,7 @@ static char* debugnmlistview(const NMLISTVIEW *plvnm)
|
||||||
} else return "(null)";
|
} else return "(null)";
|
||||||
}
|
}
|
||||||
|
|
||||||
static char* debuglvitem_t(const LVITEMW *lpLVItem, BOOL isW)
|
static const char* debuglvitem_t(const LVITEMW *lpLVItem, BOOL isW)
|
||||||
{
|
{
|
||||||
char* buf = debug_getbuf(), *text = buf;
|
char* buf = debug_getbuf(), *text = buf;
|
||||||
int len, size = DEBUG_BUFFER_SIZE;
|
int len, size = DEBUG_BUFFER_SIZE;
|
||||||
|
@ -641,7 +640,7 @@ undo:
|
||||||
return text;
|
return text;
|
||||||
}
|
}
|
||||||
|
|
||||||
static char* debuglvcolumn_t(const LVCOLUMNW *lpColumn, BOOL isW)
|
static const char* debuglvcolumn_t(const LVCOLUMNW *lpColumn, BOOL isW)
|
||||||
{
|
{
|
||||||
char* buf = debug_getbuf(), *text = buf;
|
char* buf = debug_getbuf(), *text = buf;
|
||||||
int len, size = DEBUG_BUFFER_SIZE;
|
int len, size = DEBUG_BUFFER_SIZE;
|
||||||
|
@ -681,7 +680,7 @@ undo:
|
||||||
return text;
|
return text;
|
||||||
}
|
}
|
||||||
|
|
||||||
static char* debuglvhittestinfo(const LVHITTESTINFO *lpht)
|
static const char* debuglvhittestinfo(const LVHITTESTINFO *lpht)
|
||||||
{
|
{
|
||||||
if (lpht)
|
if (lpht)
|
||||||
{
|
{
|
||||||
|
@ -721,7 +720,7 @@ static LRESULT notify_hdr(LISTVIEW_INFO *infoPtr, INT code, LPNMHDR pnmh)
|
||||||
pnmh->hwndFrom = infoPtr->hwndSelf;
|
pnmh->hwndFrom = infoPtr->hwndSelf;
|
||||||
pnmh->idFrom = GetWindowLongW(infoPtr->hwndSelf, GWL_ID);
|
pnmh->idFrom = GetWindowLongW(infoPtr->hwndSelf, GWL_ID);
|
||||||
pnmh->code = code;
|
pnmh->code = code;
|
||||||
result = SendMessageW(GetParent(infoPtr->hwndSelf), WM_NOTIFY,
|
result = SendMessageW(infoPtr->hwndNotify, WM_NOTIFY,
|
||||||
(WPARAM)pnmh->idFrom, (LPARAM)pnmh);
|
(WPARAM)pnmh->idFrom, (LPARAM)pnmh);
|
||||||
|
|
||||||
TRACE(" <= %ld\n", result);
|
TRACE(" <= %ld\n", result);
|
||||||
|
@ -1738,7 +1737,7 @@ static void LISTVIEW_ShowFocusRect(LISTVIEW_INFO *infoPtr, BOOL fShow)
|
||||||
LISTVIEW_GetItemBox(infoPtr, dis.itemID, &dis.rcItem);
|
LISTVIEW_GetItemBox(infoPtr, dis.itemID, &dis.rcItem);
|
||||||
dis.itemData = item.lParam;
|
dis.itemData = item.lParam;
|
||||||
|
|
||||||
SendMessageW(GetParent(infoPtr->hwndSelf), WM_DRAWITEM, dis.CtlID, (LPARAM)&dis);
|
SendMessageW(infoPtr->hwndNotify, WM_DRAWITEM, dis.CtlID, (LPARAM)&dis);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1949,7 +1948,9 @@ static void LISTVIEW_GetItemMetrics(LISTVIEW_INFO *infoPtr, const LVITEMW *lpLVI
|
||||||
Icon.left = State.right;
|
Icon.left = State.right;
|
||||||
Icon.top = Box.top;
|
Icon.top = Box.top;
|
||||||
Icon.right = Icon.left;
|
Icon.right = Icon.left;
|
||||||
if (infoPtr->himlSmall && (!lpColumnInfo || lpLVItem->iSubItem == 0 || (lpColumnInfo->fmt & LVCFMT_IMAGE)))
|
if (infoPtr->himlSmall &&
|
||||||
|
(!lpColumnInfo || lpLVItem->iSubItem == 0 || (lpColumnInfo->fmt & LVCFMT_IMAGE) ||
|
||||||
|
((infoPtr->dwLvExStyle & LVS_EX_SUBITEMIMAGES) && lpLVItem->iImage != I_IMAGECALLBACK)))
|
||||||
Icon.right += infoPtr->iconSize.cx;
|
Icon.right += infoPtr->iconSize.cx;
|
||||||
Icon.bottom = Icon.top + infoPtr->nItemHeight;
|
Icon.bottom = Icon.top + infoPtr->nItemHeight;
|
||||||
}
|
}
|
||||||
|
@ -3388,6 +3389,7 @@ static BOOL set_sub_item(LISTVIEW_INFO *infoPtr, const LVITEMW *lpLVItem, BOOL i
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
lpSubItem->iSubItem = lpLVItem->iSubItem;
|
lpSubItem->iSubItem = lpLVItem->iSubItem;
|
||||||
|
lpSubItem->hdr.iImage = I_IMAGECALLBACK;
|
||||||
*bChanged = TRUE;
|
*bChanged = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3597,6 +3599,12 @@ static BOOL LISTVIEW_DrawItem(LISTVIEW_INFO *infoPtr, HDC hdc, INT nItem, INT nS
|
||||||
cdsubitemmode = notify_customdraw(infoPtr, CDDS_PREPAINT, &nmlvcd);
|
cdsubitemmode = notify_customdraw(infoPtr, CDDS_PREPAINT, &nmlvcd);
|
||||||
if (nSubItem == 0) infoPtr->cditemmode = cdsubitemmode;
|
if (nSubItem == 0) infoPtr->cditemmode = cdsubitemmode;
|
||||||
if (cdsubitemmode & CDRF_SKIPDEFAULT) goto postpaint;
|
if (cdsubitemmode & CDRF_SKIPDEFAULT) goto postpaint;
|
||||||
|
/* we have to send a CDDS_SUBITEM customdraw explicitly for subitem 0 */
|
||||||
|
if (nSubItem == 0 && cdsubitemmode == CDRF_NOTIFYITEMDRAW)
|
||||||
|
{
|
||||||
|
cdsubitemmode = notify_customdraw(infoPtr, CDDS_SUBITEM | CDDS_ITEMPREPAINT, &nmlvcd);
|
||||||
|
if (cdsubitemmode & CDRF_SKIPDEFAULT) goto postpaint;
|
||||||
|
}
|
||||||
if (nSubItem == 0 || (cdmode & CDRF_NOTIFYITEMDRAW))
|
if (nSubItem == 0 || (cdmode & CDRF_NOTIFYITEMDRAW))
|
||||||
prepaint_setup(infoPtr, hdc, &nmlvcd);
|
prepaint_setup(infoPtr, hdc, &nmlvcd);
|
||||||
|
|
||||||
|
@ -3680,7 +3688,6 @@ postpaint:
|
||||||
static void LISTVIEW_RefreshOwnerDraw(LISTVIEW_INFO *infoPtr, ITERATOR *i, HDC hdc, DWORD cdmode)
|
static void LISTVIEW_RefreshOwnerDraw(LISTVIEW_INFO *infoPtr, ITERATOR *i, HDC hdc, DWORD cdmode)
|
||||||
{
|
{
|
||||||
UINT uID = GetWindowLongW(infoPtr->hwndSelf, GWL_ID);
|
UINT uID = GetWindowLongW(infoPtr->hwndSelf, GWL_ID);
|
||||||
HWND hwndParent = GetParent(infoPtr->hwndSelf);
|
|
||||||
DWORD cditemmode = CDRF_DODEFAULT;
|
DWORD cditemmode = CDRF_DODEFAULT;
|
||||||
NMLVCUSTOMDRAW nmlvcd;
|
NMLVCUSTOMDRAW nmlvcd;
|
||||||
POINT Origin, Position;
|
POINT Origin, Position;
|
||||||
|
@ -3721,16 +3728,18 @@ static void LISTVIEW_RefreshOwnerDraw(LISTVIEW_INFO *infoPtr, ITERATOR *i, HDC h
|
||||||
|
|
||||||
TRACE("item=%s, rcItem=%s\n", debuglvitem_t(&item, TRUE), debugrect(&dis.rcItem));
|
TRACE("item=%s, rcItem=%s\n", debuglvitem_t(&item, TRUE), debugrect(&dis.rcItem));
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Even if we do not send the CDRF_NOTIFYITEMDRAW we need to fill the nmlvcd
|
||||||
|
* structure for the rest. of the paint cycle
|
||||||
|
*/
|
||||||
|
customdraw_fill(&nmlvcd, infoPtr, hdc, &dis.rcItem, &item);
|
||||||
if (cdmode & CDRF_NOTIFYITEMDRAW)
|
if (cdmode & CDRF_NOTIFYITEMDRAW)
|
||||||
{
|
|
||||||
customdraw_fill(&nmlvcd, infoPtr, hdc, &dis.rcItem, &item);
|
|
||||||
cditemmode = notify_customdraw(infoPtr, CDDS_PREPAINT, &nmlvcd);
|
cditemmode = notify_customdraw(infoPtr, CDDS_PREPAINT, &nmlvcd);
|
||||||
}
|
|
||||||
|
|
||||||
if (!(cditemmode & CDRF_SKIPDEFAULT))
|
if (!(cditemmode & CDRF_SKIPDEFAULT))
|
||||||
{
|
{
|
||||||
prepaint_setup (infoPtr, hdc, &nmlvcd);
|
prepaint_setup (infoPtr, hdc, &nmlvcd);
|
||||||
SendMessageW(hwndParent, WM_DRAWITEM, dis.CtlID, (LPARAM)&dis);
|
SendMessageW(infoPtr->hwndNotify, WM_DRAWITEM, dis.CtlID, (LPARAM)&dis);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cditemmode & CDRF_NOTIFYPOSTPAINT)
|
if (cditemmode & CDRF_NOTIFYPOSTPAINT)
|
||||||
|
@ -4000,7 +4009,70 @@ static DWORD LISTVIEW_ApproximateViewRect(LISTVIEW_INFO *infoPtr, INT nItemCount
|
||||||
return dwViewRect;
|
return dwViewRect;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* << LISTVIEW_CreateDragImage >> */
|
|
||||||
|
/***
|
||||||
|
* DESCRIPTION:
|
||||||
|
* Create a drag image list for the specified item.
|
||||||
|
*
|
||||||
|
* PARAMETER(S):
|
||||||
|
* [I] infoPtr : valid pointer to the listview structure
|
||||||
|
* [I] iItem : index of item
|
||||||
|
* [O] lppt : Upperr-left corner of the image
|
||||||
|
*
|
||||||
|
* RETURN:
|
||||||
|
* Returns a handle to the image list if successful, NULL otherwise.
|
||||||
|
*/
|
||||||
|
static HIMAGELIST LISTVIEW_CreateDragImage(LISTVIEW_INFO *infoPtr, INT iItem, LPPOINT lppt)
|
||||||
|
{
|
||||||
|
RECT rcItem;
|
||||||
|
SIZE size;
|
||||||
|
POINT pos;
|
||||||
|
HDC hdc, hdcOrig;
|
||||||
|
HBITMAP hbmp, hOldbmp;
|
||||||
|
HIMAGELIST dragList = 0;
|
||||||
|
TRACE("iItem=%d Count=%d \n", iItem, infoPtr->nItemCount);
|
||||||
|
|
||||||
|
if (iItem < 0 || iItem >= infoPtr->nItemCount)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
rcItem.left = LVIR_BOUNDS;
|
||||||
|
if (!LISTVIEW_GetItemRect(infoPtr, iItem, &rcItem))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
lppt->x = rcItem.left;
|
||||||
|
lppt->y = rcItem.top;
|
||||||
|
|
||||||
|
size.cx = rcItem.right - rcItem.left;
|
||||||
|
size.cy = rcItem.bottom - rcItem.top;
|
||||||
|
|
||||||
|
hdcOrig = GetDC(infoPtr->hwndSelf);
|
||||||
|
hdc = CreateCompatibleDC(hdcOrig);
|
||||||
|
hbmp = CreateCompatibleBitmap(hdcOrig, size.cx, size.cy);
|
||||||
|
hOldbmp = SelectObject(hdc, hbmp);
|
||||||
|
|
||||||
|
rcItem.left = rcItem.top = 0;
|
||||||
|
rcItem.right = size.cx;
|
||||||
|
rcItem.bottom = size.cy;
|
||||||
|
FillRect(hdc, &rcItem, infoPtr->hBkBrush);
|
||||||
|
|
||||||
|
pos.x = pos.y = 0;
|
||||||
|
if (LISTVIEW_DrawItem(infoPtr, hdc, iItem, 0, pos, infoPtr->cditemmode))
|
||||||
|
{
|
||||||
|
dragList = ImageList_Create(size.cx, size.cy, ILC_COLOR, 10, 10);
|
||||||
|
SelectObject(hdc, hOldbmp);
|
||||||
|
ImageList_Add(dragList, hbmp, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
SelectObject(hdc, hOldbmp);
|
||||||
|
|
||||||
|
DeleteObject(hbmp);
|
||||||
|
DeleteDC(hdc);
|
||||||
|
ReleaseDC(infoPtr->hwndSelf, hdcOrig);
|
||||||
|
|
||||||
|
TRACE("ret=%p\n", dragList);
|
||||||
|
|
||||||
|
return dragList;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/***
|
/***
|
||||||
|
@ -4912,6 +4984,7 @@ static BOOL LISTVIEW_GetItemT(LISTVIEW_INFO *infoPtr, LPLVITEMW lpLVItem, BOOL i
|
||||||
ITEM_INFO *lpItem;
|
ITEM_INFO *lpItem;
|
||||||
ITEMHDR* pItemHdr;
|
ITEMHDR* pItemHdr;
|
||||||
HDPA hdpaSubItems;
|
HDPA hdpaSubItems;
|
||||||
|
INT isubitem;
|
||||||
|
|
||||||
TRACE("(lpLVItem=%s, isW=%d)\n", debuglvitem_t(lpLVItem, isW), isW);
|
TRACE("(lpLVItem=%s, isW=%d)\n", debuglvitem_t(lpLVItem, isW), isW);
|
||||||
|
|
||||||
|
@ -4920,6 +4993,9 @@ static BOOL LISTVIEW_GetItemT(LISTVIEW_INFO *infoPtr, LPLVITEMW lpLVItem, BOOL i
|
||||||
|
|
||||||
if (lpLVItem->mask == 0) return TRUE;
|
if (lpLVItem->mask == 0) return TRUE;
|
||||||
|
|
||||||
|
/* make a local copy */
|
||||||
|
isubitem = lpLVItem->iSubItem;
|
||||||
|
|
||||||
/* a quick optimization if all we're asked is the focus state
|
/* a quick optimization if all we're asked is the focus state
|
||||||
* these queries are worth optimising since they are common,
|
* these queries are worth optimising since they are common,
|
||||||
* and can be answered in constant time, without the heavy accesses */
|
* and can be answered in constant time, without the heavy accesses */
|
||||||
|
@ -4946,7 +5022,7 @@ static BOOL LISTVIEW_GetItemT(LISTVIEW_INFO *infoPtr, LPLVITEMW lpLVItem, BOOL i
|
||||||
* depend on the uninitialized fields being 0 */
|
* depend on the uninitialized fields being 0 */
|
||||||
dispInfo.item.mask = lpLVItem->mask & ~LVIF_PARAM;
|
dispInfo.item.mask = lpLVItem->mask & ~LVIF_PARAM;
|
||||||
dispInfo.item.iItem = lpLVItem->iItem;
|
dispInfo.item.iItem = lpLVItem->iItem;
|
||||||
dispInfo.item.iSubItem = lpLVItem->iSubItem;
|
dispInfo.item.iSubItem = isubitem;
|
||||||
if (lpLVItem->mask & LVIF_TEXT)
|
if (lpLVItem->mask & LVIF_TEXT)
|
||||||
{
|
{
|
||||||
dispInfo.item.pszText = lpLVItem->pszText;
|
dispInfo.item.pszText = lpLVItem->pszText;
|
||||||
|
@ -4978,7 +5054,7 @@ static BOOL LISTVIEW_GetItemT(LISTVIEW_INFO *infoPtr, LPLVITEMW lpLVItem, BOOL i
|
||||||
if (lpLVItem->mask & LVIF_PARAM) lpLVItem->lParam = 0;
|
if (lpLVItem->mask & LVIF_PARAM) lpLVItem->lParam = 0;
|
||||||
|
|
||||||
/* we store only a little state, so if we're not asked, we're done */
|
/* we store only a little state, so if we're not asked, we're done */
|
||||||
if (!(lpLVItem->mask & LVIF_STATE) || lpLVItem->iSubItem) return TRUE;
|
if (!(lpLVItem->mask & LVIF_STATE) || isubitem) return TRUE;
|
||||||
|
|
||||||
/* if focus is handled by us, report it */
|
/* if focus is handled by us, report it */
|
||||||
if ( lpLVItem->stateMask & ~infoPtr->uCallbackMask & LVIS_FOCUSED )
|
if ( lpLVItem->stateMask & ~infoPtr->uCallbackMask & LVIS_FOCUSED )
|
||||||
|
@ -5004,24 +5080,33 @@ static BOOL LISTVIEW_GetItemT(LISTVIEW_INFO *infoPtr, LPLVITEMW lpLVItem, BOOL i
|
||||||
lpItem = (ITEM_INFO *)DPA_GetPtr(hdpaSubItems, 0);
|
lpItem = (ITEM_INFO *)DPA_GetPtr(hdpaSubItems, 0);
|
||||||
assert (lpItem);
|
assert (lpItem);
|
||||||
|
|
||||||
if (lpLVItem->iSubItem)
|
if (isubitem)
|
||||||
{
|
{
|
||||||
SUBITEM_INFO *lpSubItem = LISTVIEW_GetSubItemPtr(hdpaSubItems, lpLVItem->iSubItem);
|
SUBITEM_INFO *lpSubItem = LISTVIEW_GetSubItemPtr(hdpaSubItems, isubitem);
|
||||||
pItemHdr = lpSubItem ? &lpSubItem->hdr : &callbackHdr;
|
pItemHdr = lpSubItem ? &lpSubItem->hdr : &callbackHdr;
|
||||||
|
if (!lpSubItem)
|
||||||
|
{
|
||||||
|
WARN(" iSubItem invalid (%08x), ignored.\n", isubitem);
|
||||||
|
isubitem = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
pItemHdr = &lpItem->hdr;
|
pItemHdr = &lpItem->hdr;
|
||||||
|
|
||||||
/* Do we need to query the state from the app? */
|
/* Do we need to query the state from the app? */
|
||||||
if ((lpLVItem->mask & LVIF_STATE) && infoPtr->uCallbackMask && lpLVItem->iSubItem == 0)
|
if ((lpLVItem->mask & LVIF_STATE) && infoPtr->uCallbackMask && isubitem == 0)
|
||||||
{
|
{
|
||||||
dispInfo.item.mask |= LVIF_STATE;
|
dispInfo.item.mask |= LVIF_STATE;
|
||||||
dispInfo.item.stateMask = infoPtr->uCallbackMask;
|
dispInfo.item.stateMask = infoPtr->uCallbackMask;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Do we need to enquire about the image? */
|
/* Do we need to enquire about the image? */
|
||||||
if ((lpLVItem->mask & LVIF_IMAGE) && pItemHdr->iImage == I_IMAGECALLBACK)
|
if ((lpLVItem->mask & LVIF_IMAGE) && pItemHdr->iImage == I_IMAGECALLBACK &&
|
||||||
|
(isubitem == 0 || (infoPtr->dwLvExStyle & LVS_EX_SUBITEMIMAGES)))
|
||||||
|
{
|
||||||
dispInfo.item.mask |= LVIF_IMAGE;
|
dispInfo.item.mask |= LVIF_IMAGE;
|
||||||
|
dispInfo.item.iImage = I_IMAGECALLBACK;
|
||||||
|
}
|
||||||
|
|
||||||
/* Apps depend on calling back for text if it is NULL or LPSTR_TEXTCALLBACKW */
|
/* Apps depend on calling back for text if it is NULL or LPSTR_TEXTCALLBACKW */
|
||||||
if ((lpLVItem->mask & LVIF_TEXT) && !is_textW(pItemHdr->pszText))
|
if ((lpLVItem->mask & LVIF_TEXT) && !is_textW(pItemHdr->pszText))
|
||||||
|
@ -5037,14 +5122,14 @@ static BOOL LISTVIEW_GetItemT(LISTVIEW_INFO *infoPtr, LPLVITEMW lpLVItem, BOOL i
|
||||||
if (dispInfo.item.mask != 0)
|
if (dispInfo.item.mask != 0)
|
||||||
{
|
{
|
||||||
dispInfo.item.iItem = lpLVItem->iItem;
|
dispInfo.item.iItem = lpLVItem->iItem;
|
||||||
dispInfo.item.iSubItem = lpLVItem->iSubItem;
|
dispInfo.item.iSubItem = lpLVItem->iSubItem; /* yes: the original subitem */
|
||||||
dispInfo.item.lParam = lpItem->lParam;
|
dispInfo.item.lParam = lpItem->lParam;
|
||||||
notify_dispinfoT(infoPtr, LVN_GETDISPINFOW, &dispInfo, isW);
|
notify_dispinfoT(infoPtr, LVN_GETDISPINFOW, &dispInfo, isW);
|
||||||
TRACE(" getdispinfo(2):item=%s\n", debuglvitem_t(&dispInfo.item, isW));
|
TRACE(" getdispinfo(2):item=%s\n", debuglvitem_t(&dispInfo.item, isW));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* we should not store values for subitems */
|
/* we should not store values for subitems */
|
||||||
if (lpLVItem->iSubItem) dispInfo.item.mask &= ~LVIF_DI_SETITEM;
|
if (isubitem) dispInfo.item.mask &= ~LVIF_DI_SETITEM;
|
||||||
|
|
||||||
/* Now, handle the iImage field */
|
/* Now, handle the iImage field */
|
||||||
if (dispInfo.item.mask & LVIF_IMAGE)
|
if (dispInfo.item.mask & LVIF_IMAGE)
|
||||||
|
@ -5054,7 +5139,12 @@ static BOOL LISTVIEW_GetItemT(LISTVIEW_INFO *infoPtr, LPLVITEMW lpLVItem, BOOL i
|
||||||
pItemHdr->iImage = dispInfo.item.iImage;
|
pItemHdr->iImage = dispInfo.item.iImage;
|
||||||
}
|
}
|
||||||
else if (lpLVItem->mask & LVIF_IMAGE)
|
else if (lpLVItem->mask & LVIF_IMAGE)
|
||||||
lpLVItem->iImage = pItemHdr->iImage;
|
{
|
||||||
|
if(isubitem == 0 || (infoPtr->dwLvExStyle & LVS_EX_SUBITEMIMAGES))
|
||||||
|
lpLVItem->iImage = pItemHdr->iImage;
|
||||||
|
else
|
||||||
|
lpLVItem->iImage = 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* The pszText field */
|
/* The pszText field */
|
||||||
if (dispInfo.item.mask & LVIF_TEXT)
|
if (dispInfo.item.mask & LVIF_TEXT)
|
||||||
|
@ -5071,7 +5161,7 @@ static BOOL LISTVIEW_GetItemT(LISTVIEW_INFO *infoPtr, LPLVITEMW lpLVItem, BOOL i
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if this is a subitem, we're done */
|
/* if this is a subitem, we're done */
|
||||||
if (lpLVItem->iSubItem) return TRUE;
|
if (isubitem) return TRUE;
|
||||||
|
|
||||||
/* Next is the lParam field */
|
/* Next is the lParam field */
|
||||||
if (dispInfo.item.mask & LVIF_PARAM)
|
if (dispInfo.item.mask & LVIF_PARAM)
|
||||||
|
@ -5348,16 +5438,18 @@ static BOOL LISTVIEW_GetSubItemRect(LISTVIEW_INFO *infoPtr, INT nItem, LPRECT lp
|
||||||
POINT Position;
|
POINT Position;
|
||||||
LVITEMW lvItem;
|
LVITEMW lvItem;
|
||||||
|
|
||||||
if (!lprc || (infoPtr->dwStyle & LVS_TYPEMASK) != LVS_REPORT) return FALSE;
|
if (!lprc) return FALSE;
|
||||||
|
|
||||||
TRACE("(nItem=%d, nSubItem=%ld)\n", nItem, lprc->top);
|
TRACE("(nItem=%d, nSubItem=%ld)\n", nItem, lprc->top);
|
||||||
/* On WinNT, a subitem of '0' calls LISTVIEW_GetItemRect */
|
/* On WinNT, a subitem of '0' calls LISTVIEW_GetItemRect */
|
||||||
if (lprc->top == 0)
|
if (lprc->top == 0)
|
||||||
return LISTVIEW_GetItemRect(infoPtr, nItem, lprc);
|
return LISTVIEW_GetItemRect(infoPtr, nItem, lprc);
|
||||||
|
|
||||||
|
if ((infoPtr->dwStyle & LVS_TYPEMASK) != LVS_REPORT) return FALSE;
|
||||||
|
|
||||||
if (!LISTVIEW_GetItemPosition(infoPtr, nItem, &Position)) return FALSE;
|
if (!LISTVIEW_GetItemPosition(infoPtr, nItem, &Position)) return FALSE;
|
||||||
|
|
||||||
lvItem.mask = lprc->top == 0 ? LVIF_INDENT : 0;
|
lvItem.mask = 0;
|
||||||
lvItem.iItem = nItem;
|
lvItem.iItem = nItem;
|
||||||
lvItem.iSubItem = lprc->top;
|
lvItem.iSubItem = lprc->top;
|
||||||
|
|
||||||
|
@ -5890,7 +5982,11 @@ static INT LISTVIEW_HitTest(LISTVIEW_INFO *infoPtr, LPLVHITTESTINFO lpht, BOOL s
|
||||||
|
|
||||||
if (select && !(uView == LVS_REPORT && (infoPtr->dwLvExStyle & LVS_EX_FULLROWSELECT)))
|
if (select && !(uView == LVS_REPORT && (infoPtr->dwLvExStyle & LVS_EX_FULLROWSELECT)))
|
||||||
{
|
{
|
||||||
if (uView == LVS_REPORT) UnionRect(&rcBounds, &rcIcon, &rcLabel);
|
if (uView == LVS_REPORT)
|
||||||
|
{
|
||||||
|
UnionRect(&rcBounds, &rcIcon, &rcLabel);
|
||||||
|
UnionRect(&rcBounds, &rcBounds, &rcState);
|
||||||
|
}
|
||||||
if (!PtInRect(&rcBounds, opt)) iItem = -1;
|
if (!PtInRect(&rcBounds, opt)) iItem = -1;
|
||||||
}
|
}
|
||||||
return lpht->iItem = iItem;
|
return lpht->iItem = iItem;
|
||||||
|
@ -6502,6 +6598,53 @@ static BOOL LISTVIEW_SetColumnWidth(LISTVIEW_INFO *infoPtr, INT nColumn, INT cx)
|
||||||
return Header_SetItemW(infoPtr->hwndHeader, nColumn, (LPARAM)&hdi);
|
return Header_SetItemW(infoPtr->hwndHeader, nColumn, (LPARAM)&hdi);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***
|
||||||
|
* Creates the checkbox imagelist. Helper for LISTVIEW_SetExtendedListViewStyle
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
static HIMAGELIST LISTVIEW_CreateCheckBoxIL(LISTVIEW_INFO *infoPtr)
|
||||||
|
{
|
||||||
|
HDC hdc_wnd, hdc;
|
||||||
|
HBITMAP hbm_im, hbm_mask, hbm_orig;
|
||||||
|
RECT rc;
|
||||||
|
HBRUSH hbr_white = GetStockObject(WHITE_BRUSH);
|
||||||
|
HBRUSH hbr_black = GetStockObject(BLACK_BRUSH);
|
||||||
|
HIMAGELIST himl;
|
||||||
|
|
||||||
|
himl = ImageList_Create(GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON),
|
||||||
|
ILC_COLOR | ILC_MASK, 2, 2);
|
||||||
|
hdc_wnd = GetDC(infoPtr->hwndSelf);
|
||||||
|
hdc = CreateCompatibleDC(hdc_wnd);
|
||||||
|
hbm_im = CreateCompatibleBitmap(hdc_wnd, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON));
|
||||||
|
hbm_mask = CreateBitmap(GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 1, 1, NULL);
|
||||||
|
ReleaseDC(infoPtr->hwndSelf, hdc_wnd);
|
||||||
|
|
||||||
|
rc.left = rc.top = 0;
|
||||||
|
rc.right = GetSystemMetrics(SM_CXSMICON);
|
||||||
|
rc.bottom = GetSystemMetrics(SM_CYSMICON);
|
||||||
|
|
||||||
|
hbm_orig = SelectObject(hdc, hbm_mask);
|
||||||
|
FillRect(hdc, &rc, hbr_white);
|
||||||
|
InflateRect(&rc, -3, -3);
|
||||||
|
FillRect(hdc, &rc, hbr_black);
|
||||||
|
|
||||||
|
SelectObject(hdc, hbm_im);
|
||||||
|
DrawFrameControl(hdc, &rc, DFC_BUTTON, DFCS_BUTTONCHECK | DFCS_MONO);
|
||||||
|
SelectObject(hdc, hbm_orig);
|
||||||
|
ImageList_Add(himl, hbm_im, hbm_mask);
|
||||||
|
|
||||||
|
SelectObject(hdc, hbm_im);
|
||||||
|
DrawFrameControl(hdc, &rc, DFC_BUTTON, DFCS_BUTTONCHECK | DFCS_MONO | DFCS_CHECKED);
|
||||||
|
SelectObject(hdc, hbm_orig);
|
||||||
|
ImageList_Add(himl, hbm_im, hbm_mask);
|
||||||
|
|
||||||
|
DeleteObject(hbm_mask);
|
||||||
|
DeleteObject(hbm_im);
|
||||||
|
DeleteDC(hdc);
|
||||||
|
|
||||||
|
return himl;
|
||||||
|
}
|
||||||
|
|
||||||
/***
|
/***
|
||||||
* DESCRIPTION:
|
* DESCRIPTION:
|
||||||
* Sets the extended listview style.
|
* Sets the extended listview style.
|
||||||
|
@ -6525,6 +6668,14 @@ static DWORD LISTVIEW_SetExtendedListViewStyle(LISTVIEW_INFO *infoPtr, DWORD dwM
|
||||||
else
|
else
|
||||||
infoPtr->dwLvExStyle = dwStyle;
|
infoPtr->dwLvExStyle = dwStyle;
|
||||||
|
|
||||||
|
if((infoPtr->dwLvExStyle ^ dwOldStyle) & LVS_EX_CHECKBOXES)
|
||||||
|
{
|
||||||
|
HIMAGELIST himl = 0;
|
||||||
|
if(infoPtr->dwLvExStyle & LVS_EX_CHECKBOXES)
|
||||||
|
himl = LISTVIEW_CreateCheckBoxIL(infoPtr);
|
||||||
|
LISTVIEW_SetImageList(infoPtr, LVSIL_STATE, himl);
|
||||||
|
}
|
||||||
|
|
||||||
return dwOldStyle;
|
return dwOldStyle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7179,7 +7330,8 @@ static LRESULT LISTVIEW_Create(HWND hwnd, const CREATESTRUCTW *lpcs)
|
||||||
infoPtr->hwndSelf = hwnd;
|
infoPtr->hwndSelf = hwnd;
|
||||||
infoPtr->dwStyle = lpcs->style;
|
infoPtr->dwStyle = lpcs->style;
|
||||||
/* determine the type of structures to use */
|
/* determine the type of structures to use */
|
||||||
infoPtr->notifyFormat = SendMessageW(GetParent(infoPtr->hwndSelf), WM_NOTIFYFORMAT,
|
infoPtr->hwndNotify = lpcs->hwndParent;
|
||||||
|
infoPtr->notifyFormat = SendMessageW(infoPtr->hwndNotify, WM_NOTIFYFORMAT,
|
||||||
(WPARAM)infoPtr->hwndSelf, (LPARAM)NF_QUERY);
|
(WPARAM)infoPtr->hwndSelf, (LPARAM)NF_QUERY);
|
||||||
|
|
||||||
/* initialize color information */
|
/* initialize color information */
|
||||||
|
@ -7675,6 +7827,68 @@ static LRESULT LISTVIEW_KillFocus(LISTVIEW_INFO *infoPtr)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***
|
||||||
|
* DESCRIPTION:
|
||||||
|
* Track mouse/dragging
|
||||||
|
*
|
||||||
|
* PARAMETER(S):
|
||||||
|
* [I] infoPtr : valid pointer to the listview structure
|
||||||
|
* [I] pt : mouse coordinate
|
||||||
|
*
|
||||||
|
* RETURN:
|
||||||
|
* Zero
|
||||||
|
*/
|
||||||
|
static LRESULT LISTVIEW_TrackMouse(LISTVIEW_INFO *infoPtr, POINT pt)
|
||||||
|
{
|
||||||
|
INT cxDrag = GetSystemMetrics(SM_CXDRAG);
|
||||||
|
INT cyDrag = GetSystemMetrics(SM_CYDRAG);
|
||||||
|
RECT r;
|
||||||
|
MSG msg;
|
||||||
|
|
||||||
|
TRACE("\n");
|
||||||
|
|
||||||
|
r.top = pt.y - cyDrag;
|
||||||
|
r.left = pt.x - cxDrag;
|
||||||
|
r.bottom = pt.y + cyDrag;
|
||||||
|
r.right = pt.x + cxDrag;
|
||||||
|
|
||||||
|
SetCapture(infoPtr->hwndSelf);
|
||||||
|
|
||||||
|
while (1)
|
||||||
|
{
|
||||||
|
if (PeekMessageW(&msg, 0, 0, 0, PM_REMOVE | PM_NOYIELD))
|
||||||
|
{
|
||||||
|
if (msg.message == WM_MOUSEMOVE)
|
||||||
|
{
|
||||||
|
pt.x = (short)LOWORD(msg.lParam);
|
||||||
|
pt.y = (short)HIWORD(msg.lParam);
|
||||||
|
if (PtInRect(&r, pt))
|
||||||
|
continue;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ReleaseCapture();
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (msg.message >= WM_LBUTTONDOWN &&
|
||||||
|
msg.message <= WM_RBUTTONDBLCLK)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
DispatchMessageW(&msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (GetCapture() != infoPtr->hwndSelf)
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ReleaseCapture();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/***
|
/***
|
||||||
* DESCRIPTION:
|
* DESCRIPTION:
|
||||||
* Processes double click messages (left mouse button).
|
* Processes double click messages (left mouse button).
|
||||||
|
@ -7746,6 +7960,33 @@ static LRESULT LISTVIEW_LButtonDown(LISTVIEW_INFO *infoPtr, WORD wKey, POINTS pt
|
||||||
infoPtr->nEditLabelItem = -1;
|
infoPtr->nEditLabelItem = -1;
|
||||||
if ((nItem >= 0) && (nItem < infoPtr->nItemCount))
|
if ((nItem >= 0) && (nItem < infoPtr->nItemCount))
|
||||||
{
|
{
|
||||||
|
if ((infoPtr->dwLvExStyle & LVS_EX_CHECKBOXES) && (lvHitTestInfo.flags & LVHT_ONITEMSTATEICON))
|
||||||
|
{
|
||||||
|
DWORD state = LISTVIEW_GetItemState(infoPtr, nItem, LVIS_STATEIMAGEMASK) >> 12;
|
||||||
|
if(state == 1 || state == 2)
|
||||||
|
{
|
||||||
|
LVITEMW lvitem;
|
||||||
|
state ^= 3;
|
||||||
|
lvitem.state = state << 12;
|
||||||
|
lvitem.stateMask = LVIS_STATEIMAGEMASK;
|
||||||
|
LISTVIEW_SetItemState(infoPtr, nItem, &lvitem);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
if (LISTVIEW_TrackMouse(infoPtr, lvHitTestInfo.pt))
|
||||||
|
{
|
||||||
|
NMLISTVIEW nmlv;
|
||||||
|
|
||||||
|
ZeroMemory(&nmlv, sizeof(nmlv));
|
||||||
|
nmlv.iItem = nItem;
|
||||||
|
nmlv.ptAction.x = lvHitTestInfo.pt.x;
|
||||||
|
nmlv.ptAction.y = lvHitTestInfo.pt.y;
|
||||||
|
|
||||||
|
notify_listview(infoPtr, LVN_BEGINDRAG, &nmlv);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (infoPtr->dwStyle & LVS_SINGLESEL)
|
if (infoPtr->dwStyle & LVS_SINGLESEL)
|
||||||
{
|
{
|
||||||
if (LISTVIEW_GetItemState(infoPtr, nItem, LVIS_SELECTED))
|
if (LISTVIEW_GetItemState(infoPtr, nItem, LVIS_SELECTED))
|
||||||
|
@ -7803,6 +8044,7 @@ static LRESULT LISTVIEW_LButtonDown(LISTVIEW_INFO *infoPtr, WORD wKey, POINTS pt
|
||||||
{
|
{
|
||||||
/* remove all selections */
|
/* remove all selections */
|
||||||
LISTVIEW_DeselectAll(infoPtr);
|
LISTVIEW_DeselectAll(infoPtr);
|
||||||
|
ReleaseCapture();
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -8499,7 +8741,8 @@ LISTVIEW_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
|
|
||||||
/* case LVM_CANCELEDITLABEL: */
|
/* case LVM_CANCELEDITLABEL: */
|
||||||
|
|
||||||
/* case LVM_CREATEDRAGIMAGE: */
|
case LVM_CREATEDRAGIMAGE:
|
||||||
|
return (LRESULT)LISTVIEW_CreateDragImage(infoPtr, (INT)wParam, (LPPOINT)lParam);
|
||||||
|
|
||||||
case LVM_DELETEALLITEMS:
|
case LVM_DELETEALLITEMS:
|
||||||
return LISTVIEW_DeleteAllItems(infoPtr);
|
return LISTVIEW_DeleteAllItems(infoPtr);
|
||||||
|
@ -9064,7 +9307,7 @@ static LRESULT LISTVIEW_Command(LISTVIEW_INFO *infoPtr, WPARAM wParam, LPARAM lP
|
||||||
}
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return SendMessageW (GetParent (infoPtr->hwndSelf), WM_COMMAND, wParam, lParam);
|
return SendMessageW (infoPtr->hwndNotify, WM_COMMAND, wParam, lParam);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -1475,8 +1475,7 @@ static BOOL PROPSHEET_CreatePage(HWND hwndParent,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (psInfo->proppage[index].useCallback)
|
if (psInfo->proppage[index].useCallback)
|
||||||
(*(ppshpage->pfnCallback))(hwndParent,
|
(*(ppshpage->pfnCallback))(0, PSPCB_CREATE,
|
||||||
PSPCB_CREATE,
|
|
||||||
(LPPROPSHEETPAGEW)ppshpage);
|
(LPPROPSHEETPAGEW)ppshpage);
|
||||||
|
|
||||||
if(ppshpage->dwFlags & PSP_INTERNAL_UNICODE)
|
if(ppshpage->dwFlags & PSP_INTERNAL_UNICODE)
|
||||||
|
@ -2028,19 +2027,25 @@ static BOOL PROPSHEET_SetCurSel(HWND hwndDlg,
|
||||||
index+=skipdir;
|
index+=skipdir;
|
||||||
if (index < 0) {
|
if (index < 0) {
|
||||||
index = 0;
|
index = 0;
|
||||||
FIXME("Tried to skip before first property sheet page!\n");
|
WARN("Tried to skip before first property sheet page!\n");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (index >= psInfo->nPages) {
|
if (index >= psInfo->nPages) {
|
||||||
FIXME("Tried to skip after last property sheet page!\n");
|
WARN("Tried to skip after last property sheet page!\n");
|
||||||
index = psInfo->nPages-1;
|
index = psInfo->nPages-1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (result != 0)
|
else if (result != 0)
|
||||||
{
|
{
|
||||||
index = PROPSHEET_FindPageByResId(psInfo, result);
|
int old_index = index;
|
||||||
continue;
|
index = PROPSHEET_FindPageByResId(psInfo, result);
|
||||||
|
if(index >= psInfo->nPages) {
|
||||||
|
index = old_index;
|
||||||
|
WARN("Tried to skip to nonexistant page by res id\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -119,7 +119,7 @@
|
||||||
*
|
*
|
||||||
* Still to do:
|
* Still to do:
|
||||||
* 2. Following still not handled: RBBS_FIXEDBMP,
|
* 2. Following still not handled: RBBS_FIXEDBMP,
|
||||||
* RBBS_USECHEVRON, CCS_NORESIZE,
|
* CCS_NORESIZE,
|
||||||
* CCS_NOMOVEX, CCS_NOMOVEY
|
* CCS_NOMOVEX, CCS_NOMOVEY
|
||||||
* 3. Following are only partially handled:
|
* 3. Following are only partially handled:
|
||||||
* RBS_AUTOSIZE, RBBS_VARIABLEHEIGHT
|
* RBS_AUTOSIZE, RBBS_VARIABLEHEIGHT
|
||||||
|
@ -136,7 +136,7 @@
|
||||||
* WM_SYSCOLORCHANGE, WM_VKEYTOITEM, WM_WININICHANGE
|
* WM_SYSCOLORCHANGE, WM_VKEYTOITEM, WM_WININICHANGE
|
||||||
* 7. The following notifications are not implemented:
|
* 7. The following notifications are not implemented:
|
||||||
* NM_CUSTOMDRAW, NM_RELEASEDCAPTURE
|
* NM_CUSTOMDRAW, NM_RELEASEDCAPTURE
|
||||||
* RB_CHEVRONPUSHED, RBN_MINMAX
|
* RBN_MINMAX
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
@ -194,6 +194,7 @@ typedef struct
|
||||||
RECT rcCapImage; /* calculated caption image rectangle */
|
RECT rcCapImage; /* calculated caption image rectangle */
|
||||||
RECT rcCapText; /* calculated caption text rectangle */
|
RECT rcCapText; /* calculated caption text rectangle */
|
||||||
RECT rcChild; /* calculated child rectangle */
|
RECT rcChild; /* calculated child rectangle */
|
||||||
|
RECT rcChevron; /* calculated chevron rectangle */
|
||||||
|
|
||||||
LPWSTR lpText;
|
LPWSTR lpText;
|
||||||
HWND hwndPrevParent;
|
HWND hwndPrevParent;
|
||||||
|
@ -210,6 +211,8 @@ typedef struct
|
||||||
#define DRAW_TEXT 0x00000004
|
#define DRAW_TEXT 0x00000004
|
||||||
#define DRAW_RIGHTSEP 0x00000010
|
#define DRAW_RIGHTSEP 0x00000010
|
||||||
#define DRAW_BOTTOMSEP 0x00000020
|
#define DRAW_BOTTOMSEP 0x00000020
|
||||||
|
#define DRAW_CHEVRONHOT 0x00000040
|
||||||
|
#define DRAW_CHEVRONPUSHED 0x00000080
|
||||||
#define NTF_INVALIDATE 0x01000000
|
#define NTF_INVALIDATE 0x01000000
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
|
@ -248,9 +251,11 @@ typedef struct
|
||||||
INT iVersion; /* version number */
|
INT iVersion; /* version number */
|
||||||
POINTS dragStart; /* x,y of button down */
|
POINTS dragStart; /* x,y of button down */
|
||||||
POINTS dragNow; /* x,y of this MouseMove */
|
POINTS dragNow; /* x,y of this MouseMove */
|
||||||
INT ihitBand; /* band number of band whose gripper was grabbed */
|
INT iOldBand; /* last band that had the mouse cursor over it */
|
||||||
INT ihitoffset; /* offset of hotspot from gripper.left */
|
INT ihitoffset; /* offset of hotspot from gripper.left */
|
||||||
POINT origin; /* left/upper corner of client */
|
POINT origin; /* left/upper corner of client */
|
||||||
|
INT ichevronhotBand; /* last band that had a hot chevron */
|
||||||
|
INT iGrabbedBand;/* band number of band whose gripper was grabbed */
|
||||||
|
|
||||||
REBAR_ROW *rows; /* pointer to row indexes */
|
REBAR_ROW *rows; /* pointer to row indexes */
|
||||||
REBAR_BAND *bands; /* pointer to the array of rebar bands */
|
REBAR_BAND *bands; /* pointer to the array of rebar bands */
|
||||||
|
@ -293,6 +298,9 @@ typedef struct
|
||||||
/* if present. */
|
/* if present. */
|
||||||
#define GRIPPER_WIDTH 3
|
#define GRIPPER_WIDTH 3
|
||||||
|
|
||||||
|
/* Width of the chevron button if present */
|
||||||
|
#define CHEVRON_WIDTH 10
|
||||||
|
|
||||||
/* Height of divider for Rebar if not disabled (CCS_NODIVIDER) */
|
/* Height of divider for Rebar if not disabled (CCS_NODIVIDER) */
|
||||||
/* either top or bottom */
|
/* either top or bottom */
|
||||||
#define REBAR_DIVIDER 2
|
#define REBAR_DIVIDER 2
|
||||||
|
@ -334,7 +342,7 @@ typedef struct
|
||||||
static UINT mindragx = 0;
|
static UINT mindragx = 0;
|
||||||
static UINT mindragy = 0;
|
static UINT mindragy = 0;
|
||||||
|
|
||||||
static char *band_stylename[] = {
|
static const char *band_stylename[] = {
|
||||||
"RBBS_BREAK", /* 0001 */
|
"RBBS_BREAK", /* 0001 */
|
||||||
"RBBS_FIXEDSIZE", /* 0002 */
|
"RBBS_FIXEDSIZE", /* 0002 */
|
||||||
"RBBS_CHILDEDGE", /* 0004 */
|
"RBBS_CHILDEDGE", /* 0004 */
|
||||||
|
@ -346,7 +354,7 @@ static char *band_stylename[] = {
|
||||||
"RBBS_NOGRIPPER", /* 0100 */
|
"RBBS_NOGRIPPER", /* 0100 */
|
||||||
NULL };
|
NULL };
|
||||||
|
|
||||||
static char *band_maskname[] = {
|
static const char *band_maskname[] = {
|
||||||
"RBBIM_STYLE", /* 0x00000001 */
|
"RBBIM_STYLE", /* 0x00000001 */
|
||||||
"RBBIM_COLORS", /* 0x00000002 */
|
"RBBIM_COLORS", /* 0x00000002 */
|
||||||
"RBBIM_TEXT", /* 0x00000004 */
|
"RBBIM_TEXT", /* 0x00000004 */
|
||||||
|
@ -437,10 +445,10 @@ REBAR_DumpBand (REBAR_INFO *iP)
|
||||||
TRACE("hwnd=%p: color=%08lx/%08lx, bands=%u, rows=%u, cSize=%ld,%ld\n",
|
TRACE("hwnd=%p: color=%08lx/%08lx, bands=%u, rows=%u, cSize=%ld,%ld\n",
|
||||||
iP->hwndSelf, iP->clrText, iP->clrBk, iP->uNumBands, iP->uNumRows,
|
iP->hwndSelf, iP->clrText, iP->clrBk, iP->uNumBands, iP->uNumRows,
|
||||||
iP->calcSize.cx, iP->calcSize.cy);
|
iP->calcSize.cx, iP->calcSize.cy);
|
||||||
TRACE("hwnd=%p: flags=%08x, dragStart=%d,%d, dragNow=%d,%d, ihitBand=%d\n",
|
TRACE("hwnd=%p: flags=%08x, dragStart=%d,%d, dragNow=%d,%d, iGrabbedBand=%d\n",
|
||||||
iP->hwndSelf, iP->fStatus, iP->dragStart.x, iP->dragStart.y,
|
iP->hwndSelf, iP->fStatus, iP->dragStart.x, iP->dragStart.y,
|
||||||
iP->dragNow.x, iP->dragNow.y,
|
iP->dragNow.x, iP->dragNow.y,
|
||||||
iP->ihitBand);
|
iP->iGrabbedBand);
|
||||||
TRACE("hwnd=%p: style=%08lx, I'm Unicode=%s, notify in Unicode=%s, redraw=%s\n",
|
TRACE("hwnd=%p: style=%08lx, I'm Unicode=%s, notify in Unicode=%s, redraw=%s\n",
|
||||||
iP->hwndSelf, iP->dwStyle, (iP->bUnicode)?"TRUE":"FALSE",
|
iP->hwndSelf, iP->dwStyle, (iP->bUnicode)?"TRUE":"FALSE",
|
||||||
(iP->NtfUnicode)?"TRUE":"FALSE", (iP->DoRedraw)?"TRUE":"FALSE");
|
(iP->NtfUnicode)?"TRUE":"FALSE", (iP->DoRedraw)?"TRUE":"FALSE");
|
||||||
|
@ -484,6 +492,25 @@ REBAR_DumpBand (REBAR_INFO *iP)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
REBAR_DrawChevron (HDC hdc, INT left, INT top, INT colorRef)
|
||||||
|
{
|
||||||
|
INT x, y;
|
||||||
|
HPEN hPen, hOldPen;
|
||||||
|
|
||||||
|
if (!(hPen = CreatePen( PS_SOLID, 1, GetSysColor( colorRef )))) return;
|
||||||
|
hOldPen = SelectObject ( hdc, hPen );
|
||||||
|
x = left + 2;
|
||||||
|
y = top;
|
||||||
|
MoveToEx (hdc, x, y, NULL);
|
||||||
|
LineTo (hdc, x+5, y++); x++;
|
||||||
|
MoveToEx (hdc, x, y, NULL);
|
||||||
|
LineTo (hdc, x+3, y++); x++;
|
||||||
|
MoveToEx (hdc, x, y, NULL);
|
||||||
|
LineTo (hdc, x+1, y++);
|
||||||
|
SelectObject( hdc, hOldPen );
|
||||||
|
DeleteObject( hPen );
|
||||||
|
}
|
||||||
|
|
||||||
static HWND
|
static HWND
|
||||||
REBAR_GetNotifyParent (REBAR_INFO *infoPtr)
|
REBAR_GetNotifyParent (REBAR_INFO *infoPtr)
|
||||||
|
@ -613,6 +640,22 @@ REBAR_DrawBand (HDC hdc, REBAR_INFO *infoPtr, REBAR_BAND *lpBand)
|
||||||
SelectObject (hdc, hOldFont);
|
SelectObject (hdc, hOldFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!IsRectEmpty(&lpBand->rcChevron))
|
||||||
|
{
|
||||||
|
if (lpBand->fDraw & DRAW_CHEVRONPUSHED)
|
||||||
|
{
|
||||||
|
DrawEdge(hdc, &lpBand->rcChevron, BDR_SUNKENOUTER, BF_RECT | BF_MIDDLE);
|
||||||
|
REBAR_DrawChevron(hdc, lpBand->rcChevron.left+1, lpBand->rcChevron.top + 11, COLOR_WINDOWFRAME);
|
||||||
|
}
|
||||||
|
else if (lpBand->fDraw & DRAW_CHEVRONHOT)
|
||||||
|
{
|
||||||
|
DrawEdge(hdc, &lpBand->rcChevron, BDR_RAISEDINNER, BF_RECT | BF_MIDDLE);
|
||||||
|
REBAR_DrawChevron(hdc, lpBand->rcChevron.left, lpBand->rcChevron.top + 10, COLOR_WINDOWFRAME);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
REBAR_DrawChevron(hdc, lpBand->rcChevron.left, lpBand->rcChevron.top + 10, COLOR_WINDOWFRAME);
|
||||||
|
}
|
||||||
|
|
||||||
if (lpBand->uCDret == (CDRF_NOTIFYPOSTPAINT | CDRF_NOTIFYITEMDRAW)) {
|
if (lpBand->uCDret == (CDRF_NOTIFYPOSTPAINT | CDRF_NOTIFYITEMDRAW)) {
|
||||||
nmcd.dwDrawStage = CDDS_ITEMPOSTPAINT;
|
nmcd.dwDrawStage = CDDS_ITEMPOSTPAINT;
|
||||||
nmcd.hdc = hdc;
|
nmcd.hdc = hdc;
|
||||||
|
@ -954,6 +997,13 @@ REBAR_CalcHorzBand (REBAR_INFO *infoPtr, UINT rstart, UINT rend, BOOL notify)
|
||||||
SetRect (&lpBand->rcChild,
|
SetRect (&lpBand->rcChild,
|
||||||
lpBand->rcBand.left+lpBand->cxHeader, lpBand->rcBand.top+yoff,
|
lpBand->rcBand.left+lpBand->cxHeader, lpBand->rcBand.top+yoff,
|
||||||
lpBand->rcBand.right-xoff, lpBand->rcBand.bottom-yoff);
|
lpBand->rcBand.right-xoff, lpBand->rcBand.bottom-yoff);
|
||||||
|
if ((lpBand->fStyle & RBBS_USECHEVRON) && (lpBand->rcChild.right - lpBand->rcChild.left < lpBand->cxIdeal))
|
||||||
|
{
|
||||||
|
lpBand->rcChild.right -= CHEVRON_WIDTH;
|
||||||
|
SetRect(&lpBand->rcChevron, lpBand->rcChild.right,
|
||||||
|
lpBand->rcChild.top, lpBand->rcChild.right + CHEVRON_WIDTH,
|
||||||
|
lpBand->rcChild.bottom);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
SetRect (&lpBand->rcChild,
|
SetRect (&lpBand->rcChild,
|
||||||
|
@ -1431,6 +1481,8 @@ REBAR_Layout (REBAR_INFO *infoPtr, LPRECT lpRect, BOOL notify, BOOL resetclient)
|
||||||
lpBand->fDraw = 0;
|
lpBand->fDraw = 0;
|
||||||
lpBand->iRow = row;
|
lpBand->iRow = row;
|
||||||
|
|
||||||
|
SetRectEmpty(&lpBand->rcChevron);
|
||||||
|
|
||||||
if (HIDDENBAND(lpBand)) continue;
|
if (HIDDENBAND(lpBand)) continue;
|
||||||
|
|
||||||
lpBand->rcoldBand = lpBand->rcBand;
|
lpBand->rcoldBand = lpBand->rcBand;
|
||||||
|
@ -2207,7 +2259,7 @@ REBAR_InternalEraseBkGnd (REBAR_INFO *infoPtr, WPARAM wParam, LPARAM lParam, REC
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
REBAR_InternalHitTest (REBAR_INFO *infoPtr, LPPOINT lpPt, UINT *pFlags, INT *pBand)
|
REBAR_InternalHitTest (REBAR_INFO *infoPtr, const LPPOINT lpPt, UINT *pFlags, INT *pBand)
|
||||||
{
|
{
|
||||||
REBAR_BAND *lpBand;
|
REBAR_BAND *lpBand;
|
||||||
RECT rect;
|
RECT rect;
|
||||||
|
@ -2227,7 +2279,6 @@ REBAR_InternalHitTest (REBAR_INFO *infoPtr, LPPOINT lpPt, UINT *pFlags, INT *pBa
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
/* somewhere inside */
|
/* somewhere inside */
|
||||||
infoPtr->ihitBand = -1;
|
|
||||||
for (iCount = 0; iCount < infoPtr->uNumBands; iCount++) {
|
for (iCount = 0; iCount < infoPtr->uNumBands; iCount++) {
|
||||||
lpBand = &infoPtr->bands[iCount];
|
lpBand = &infoPtr->bands[iCount];
|
||||||
if (HIDDENBAND(lpBand)) continue;
|
if (HIDDENBAND(lpBand)) continue;
|
||||||
|
@ -2236,7 +2287,6 @@ REBAR_InternalHitTest (REBAR_INFO *infoPtr, LPPOINT lpPt, UINT *pFlags, INT *pBa
|
||||||
*pBand = iCount;
|
*pBand = iCount;
|
||||||
if (PtInRect (&lpBand->rcGripper, *lpPt)) {
|
if (PtInRect (&lpBand->rcGripper, *lpPt)) {
|
||||||
*pFlags = RBHT_GRABBER;
|
*pFlags = RBHT_GRABBER;
|
||||||
infoPtr->ihitBand = iCount;
|
|
||||||
TRACE("ON GRABBER %d\n", iCount);
|
TRACE("ON GRABBER %d\n", iCount);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -2255,6 +2305,11 @@ REBAR_InternalHitTest (REBAR_INFO *infoPtr, LPPOINT lpPt, UINT *pFlags, INT *pBa
|
||||||
TRACE("ON CLIENT %d\n", iCount);
|
TRACE("ON CLIENT %d\n", iCount);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
else if (PtInRect (&lpBand->rcChevron, *lpPt)) {
|
||||||
|
*pFlags = RBHT_CHEVRON;
|
||||||
|
TRACE("ON CHEVRON %d\n", iCount);
|
||||||
|
return;
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
*pFlags = RBHT_NOWHERE;
|
*pFlags = RBHT_NOWHERE;
|
||||||
TRACE("NOWHERE %d\n", iCount);
|
TRACE("NOWHERE %d\n", iCount);
|
||||||
|
@ -2373,14 +2428,14 @@ REBAR_HandleLRDrag (REBAR_INFO *infoPtr, POINTS *ptsmove)
|
||||||
infoPtr->dragStart.x = 0;
|
infoPtr->dragStart.x = 0;
|
||||||
infoPtr->dragStart.y = 0;
|
infoPtr->dragStart.y = 0;
|
||||||
infoPtr->dragNow = infoPtr->dragStart;
|
infoPtr->dragNow = infoPtr->dragStart;
|
||||||
infoPtr->ihitBand = -1;
|
infoPtr->iGrabbedBand = -1;
|
||||||
ReleaseCapture ();
|
ReleaseCapture ();
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
infoPtr->fStatus |= BEGIN_DRAG_ISSUED;
|
infoPtr->fStatus |= BEGIN_DRAG_ISSUED;
|
||||||
}
|
}
|
||||||
|
|
||||||
ihitBand = infoPtr->ihitBand;
|
ihitBand = infoPtr->iGrabbedBand;
|
||||||
hitBand = &infoPtr->bands[ihitBand];
|
hitBand = &infoPtr->bands[ihitBand];
|
||||||
imaxdBand = ihitBand; /* to suppress warning message */
|
imaxdBand = ihitBand; /* to suppress warning message */
|
||||||
|
|
||||||
|
@ -3402,8 +3457,11 @@ REBAR_SetBandInfoA (REBAR_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
|
||||||
}
|
}
|
||||||
if (lprbbi->lpText) {
|
if (lprbbi->lpText) {
|
||||||
INT len = MultiByteToWideChar( CP_ACP, 0, lprbbi->lpText, -1, NULL, 0 );
|
INT len = MultiByteToWideChar( CP_ACP, 0, lprbbi->lpText, -1, NULL, 0 );
|
||||||
lpBand->lpText = (LPWSTR)Alloc (len*sizeof(WCHAR));
|
if (len > 1)
|
||||||
MultiByteToWideChar( CP_ACP, 0, lprbbi->lpText, -1, lpBand->lpText, len );
|
{
|
||||||
|
lpBand->lpText = (LPWSTR)Alloc (len*sizeof(WCHAR));
|
||||||
|
MultiByteToWideChar( CP_ACP, 0, lprbbi->lpText, -1, lpBand->lpText, len );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3447,8 +3505,11 @@ REBAR_SetBandInfoW (REBAR_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
|
||||||
}
|
}
|
||||||
if (lprbbi->lpText) {
|
if (lprbbi->lpText) {
|
||||||
INT len = lstrlenW (lprbbi->lpText);
|
INT len = lstrlenW (lprbbi->lpText);
|
||||||
lpBand->lpText = (LPWSTR)Alloc ((len + 1)*sizeof(WCHAR));
|
if (len > 0)
|
||||||
strcpyW (lpBand->lpText, lprbbi->lpText);
|
{
|
||||||
|
lpBand->lpText = (LPWSTR)Alloc ((len + 1)*sizeof(WCHAR));
|
||||||
|
strcpyW (lpBand->lpText, lprbbi->lpText);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3721,103 +3782,219 @@ REBAR_GetFont (REBAR_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
|
||||||
return (LRESULT)infoPtr->hFont;
|
return (LRESULT)infoPtr->hFont;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static LRESULT
|
||||||
|
REBAR_PushChevron(REBAR_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
|
||||||
|
{
|
||||||
|
if (wParam >= 0 && (UINT)wParam < infoPtr->uNumBands)
|
||||||
|
{
|
||||||
|
NMREBARCHEVRON nmrbc;
|
||||||
|
REBAR_BAND *lpBand = &infoPtr->bands[wParam];
|
||||||
|
|
||||||
|
TRACE("Pressed chevron on band %d\n", wParam);
|
||||||
|
|
||||||
|
/* redraw chevron in pushed state */
|
||||||
|
lpBand->fDraw |= DRAW_CHEVRONPUSHED;
|
||||||
|
RedrawWindow(infoPtr->hwndSelf, &lpBand->rcChevron,0,
|
||||||
|
RDW_ERASE|RDW_INVALIDATE|RDW_UPDATENOW);
|
||||||
|
|
||||||
|
/* notify app so it can display a popup menu or whatever */
|
||||||
|
nmrbc.uBand = wParam;
|
||||||
|
nmrbc.wID = lpBand->wID;
|
||||||
|
nmrbc.lParam = lpBand->lParam;
|
||||||
|
nmrbc.rc = lpBand->rcChevron;
|
||||||
|
nmrbc.lParamNM = lParam;
|
||||||
|
REBAR_Notify((NMHDR*)&nmrbc, infoPtr, RBN_CHEVRONPUSHED);
|
||||||
|
|
||||||
|
/* redraw chevron in previous state */
|
||||||
|
lpBand->fDraw &= ~DRAW_CHEVRONPUSHED;
|
||||||
|
InvalidateRect(infoPtr->hwndSelf, &lpBand->rcChevron, TRUE);
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
static LRESULT
|
static LRESULT
|
||||||
REBAR_LButtonDown (REBAR_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
|
REBAR_LButtonDown (REBAR_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
REBAR_BAND *lpBand;
|
REBAR_BAND *lpBand;
|
||||||
|
UINT htFlags;
|
||||||
|
UINT iHitBand;
|
||||||
|
POINT ptMouseDown;
|
||||||
|
ptMouseDown.x = (INT)LOWORD(lParam);
|
||||||
|
ptMouseDown.y = (INT)HIWORD(lParam);
|
||||||
|
|
||||||
/* If InternalHitTest did not find a hit on the Gripper, */
|
REBAR_InternalHitTest(infoPtr, &ptMouseDown, &htFlags, &iHitBand);
|
||||||
/* then ignore the button click. */
|
lpBand = &infoPtr->bands[iHitBand];
|
||||||
if (infoPtr->ihitBand == -1) return 0;
|
|
||||||
|
|
||||||
SetCapture (infoPtr->hwndSelf);
|
if (htFlags == RBHT_CHEVRON)
|
||||||
|
{
|
||||||
|
REBAR_PushChevron(infoPtr, iHitBand, 0);
|
||||||
|
}
|
||||||
|
else if (htFlags == RBHT_GRABBER || htFlags == RBHT_CAPTION)
|
||||||
|
{
|
||||||
|
TRACE("Starting drag\n");
|
||||||
|
|
||||||
/* save off the LOWORD and HIWORD of lParam as initial x,y */
|
SetCapture (infoPtr->hwndSelf);
|
||||||
lpBand = &infoPtr->bands[infoPtr->ihitBand];
|
infoPtr->iGrabbedBand = iHitBand;
|
||||||
infoPtr->dragStart = MAKEPOINTS(lParam);
|
|
||||||
infoPtr->dragNow = infoPtr->dragStart;
|
|
||||||
if (infoPtr->dwStyle & CCS_VERT)
|
|
||||||
infoPtr->ihitoffset = infoPtr->dragStart.y - (lpBand->rcBand.top+REBAR_PRE_GRIPPER);
|
|
||||||
else
|
|
||||||
infoPtr->ihitoffset = infoPtr->dragStart.x - (lpBand->rcBand.left+REBAR_PRE_GRIPPER);
|
|
||||||
|
|
||||||
|
/* save off the LOWORD and HIWORD of lParam as initial x,y */
|
||||||
|
infoPtr->dragStart = MAKEPOINTS(lParam);
|
||||||
|
infoPtr->dragNow = infoPtr->dragStart;
|
||||||
|
if (infoPtr->dwStyle & CCS_VERT)
|
||||||
|
infoPtr->ihitoffset = infoPtr->dragStart.y - (lpBand->rcBand.top+REBAR_PRE_GRIPPER);
|
||||||
|
else
|
||||||
|
infoPtr->ihitoffset = infoPtr->dragStart.x - (lpBand->rcBand.left+REBAR_PRE_GRIPPER);
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static LRESULT
|
static LRESULT
|
||||||
REBAR_LButtonUp (REBAR_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
|
REBAR_LButtonUp (REBAR_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
NMHDR layout;
|
if (infoPtr->iGrabbedBand >= 0)
|
||||||
RECT rect;
|
{
|
||||||
INT ihitBand;
|
NMHDR layout;
|
||||||
|
RECT rect;
|
||||||
|
|
||||||
/* If InternalHitTest did not find a hit on the Gripper, */
|
infoPtr->dragStart.x = 0;
|
||||||
/* then ignore the button click. */
|
infoPtr->dragStart.y = 0;
|
||||||
if (infoPtr->ihitBand == -1) return 0;
|
infoPtr->dragNow = infoPtr->dragStart;
|
||||||
|
|
||||||
ihitBand = infoPtr->ihitBand;
|
ReleaseCapture ();
|
||||||
infoPtr->dragStart.x = 0;
|
|
||||||
infoPtr->dragStart.y = 0;
|
|
||||||
infoPtr->dragNow = infoPtr->dragStart;
|
|
||||||
infoPtr->ihitBand = -1;
|
|
||||||
|
|
||||||
ReleaseCapture ();
|
if (infoPtr->fStatus & BEGIN_DRAG_ISSUED) {
|
||||||
|
REBAR_Notify(&layout, infoPtr, RBN_LAYOUTCHANGED);
|
||||||
|
REBAR_Notify_NMREBAR (infoPtr, infoPtr->iGrabbedBand, RBN_ENDDRAG);
|
||||||
|
infoPtr->fStatus &= ~BEGIN_DRAG_ISSUED;
|
||||||
|
}
|
||||||
|
|
||||||
if (infoPtr->fStatus & BEGIN_DRAG_ISSUED) {
|
infoPtr->iGrabbedBand = -1;
|
||||||
REBAR_Notify((NMHDR *) &layout, infoPtr, RBN_LAYOUTCHANGED);
|
|
||||||
REBAR_Notify_NMREBAR (infoPtr, ihitBand, RBN_ENDDRAG);
|
GetClientRect(infoPtr->hwndSelf, &rect);
|
||||||
infoPtr->fStatus &= ~BEGIN_DRAG_ISSUED;
|
InvalidateRect(infoPtr->hwndSelf, NULL, TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
GetClientRect(infoPtr->hwndSelf, &rect);
|
|
||||||
InvalidateRect(infoPtr->hwndSelf, NULL, TRUE);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static LRESULT
|
||||||
|
REBAR_MouseLeave (REBAR_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
|
||||||
|
{
|
||||||
|
if (infoPtr->ichevronhotBand >= 0)
|
||||||
|
{
|
||||||
|
REBAR_BAND *lpChevronBand = &infoPtr->bands[infoPtr->ichevronhotBand];
|
||||||
|
if (lpChevronBand->fDraw & DRAW_CHEVRONHOT)
|
||||||
|
{
|
||||||
|
lpChevronBand->fDraw &= ~DRAW_CHEVRONHOT;
|
||||||
|
InvalidateRect(infoPtr->hwndSelf, &lpChevronBand->rcChevron, TRUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
infoPtr->iOldBand = -1;
|
||||||
|
infoPtr->ichevronhotBand = -2;
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
static LRESULT
|
static LRESULT
|
||||||
REBAR_MouseMove (REBAR_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
|
REBAR_MouseMove (REBAR_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
REBAR_BAND *band1, *band2;
|
REBAR_BAND *lpChevronBand;
|
||||||
POINTS ptsmove;
|
POINTS ptsmove;
|
||||||
|
|
||||||
/* Validate entry as hit on Gripper has occurred */
|
|
||||||
if (GetCapture() != infoPtr->hwndSelf) return 0;
|
|
||||||
if (infoPtr->ihitBand == -1) return 0;
|
|
||||||
|
|
||||||
ptsmove = MAKEPOINTS(lParam);
|
ptsmove = MAKEPOINTS(lParam);
|
||||||
|
|
||||||
/* if mouse did not move much, exit */
|
/* if we are currently dragging a band */
|
||||||
if ((abs(ptsmove.x - infoPtr->dragNow.x) <= mindragx) &&
|
if (infoPtr->iGrabbedBand >= 0)
|
||||||
(abs(ptsmove.y - infoPtr->dragNow.y) <= mindragy)) return 0;
|
{
|
||||||
|
REBAR_BAND *band1, *band2;
|
||||||
|
|
||||||
|
if (GetCapture() != infoPtr->hwndSelf)
|
||||||
|
ERR("We are dragging but haven't got capture?!?\n");
|
||||||
|
|
||||||
band1 = &infoPtr->bands[infoPtr->ihitBand-1];
|
band1 = &infoPtr->bands[infoPtr->iGrabbedBand-1];
|
||||||
band2 = &infoPtr->bands[infoPtr->ihitBand];
|
band2 = &infoPtr->bands[infoPtr->iGrabbedBand];
|
||||||
|
|
||||||
/* Test for valid drag case - must not be first band in row */
|
/* if mouse did not move much, exit */
|
||||||
if (infoPtr->dwStyle & CCS_VERT) {
|
if ((abs(ptsmove.x - infoPtr->dragNow.x) <= mindragx) &&
|
||||||
if ((ptsmove.x < band2->rcBand.left) ||
|
(abs(ptsmove.y - infoPtr->dragNow.y) <= mindragy)) return 0;
|
||||||
(ptsmove.x > band2->rcBand.right) ||
|
|
||||||
((infoPtr->ihitBand > 0) && (band1->iRow != band2->iRow))) {
|
/* Test for valid drag case - must not be first band in row */
|
||||||
FIXME("Cannot drag to other rows yet!!\n");
|
if (infoPtr->dwStyle & CCS_VERT) {
|
||||||
}
|
if ((ptsmove.x < band2->rcBand.left) ||
|
||||||
else {
|
(ptsmove.x > band2->rcBand.right) ||
|
||||||
REBAR_HandleLRDrag (infoPtr, &ptsmove);
|
((infoPtr->iGrabbedBand > 0) && (band1->iRow != band2->iRow))) {
|
||||||
}
|
FIXME("Cannot drag to other rows yet!!\n");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
REBAR_HandleLRDrag (infoPtr, &ptsmove);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if ((ptsmove.y < band2->rcBand.top) ||
|
||||||
|
(ptsmove.y > band2->rcBand.bottom) ||
|
||||||
|
((infoPtr->iGrabbedBand > 0) && (band1->iRow != band2->iRow))) {
|
||||||
|
FIXME("Cannot drag to other rows yet!!\n");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
REBAR_HandleLRDrag (infoPtr, &ptsmove);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else
|
||||||
if ((ptsmove.y < band2->rcBand.top) ||
|
{
|
||||||
(ptsmove.y > band2->rcBand.bottom) ||
|
POINT ptMove;
|
||||||
((infoPtr->ihitBand > 0) && (band1->iRow != band2->iRow))) {
|
INT iHitBand;
|
||||||
FIXME("Cannot drag to other rows yet!!\n");
|
UINT htFlags;
|
||||||
}
|
TRACKMOUSEEVENT trackinfo;
|
||||||
else {
|
|
||||||
REBAR_HandleLRDrag (infoPtr, &ptsmove);
|
ptMove.x = (INT)ptsmove.x;
|
||||||
}
|
ptMove.y = (INT)ptsmove.y;
|
||||||
|
REBAR_InternalHitTest(infoPtr, &ptMove, &htFlags, &iHitBand);
|
||||||
|
|
||||||
|
if (infoPtr->iOldBand >= 0 && infoPtr->iOldBand == infoPtr->ichevronhotBand)
|
||||||
|
{
|
||||||
|
lpChevronBand = &infoPtr->bands[infoPtr->ichevronhotBand];
|
||||||
|
if (lpChevronBand->fDraw & DRAW_CHEVRONHOT)
|
||||||
|
{
|
||||||
|
lpChevronBand->fDraw &= ~DRAW_CHEVRONHOT;
|
||||||
|
InvalidateRect(infoPtr->hwndSelf, &lpChevronBand->rcChevron, TRUE);
|
||||||
|
}
|
||||||
|
infoPtr->ichevronhotBand = -2;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (htFlags == RBHT_CHEVRON)
|
||||||
|
{
|
||||||
|
/* fill in the TRACKMOUSEEVENT struct */
|
||||||
|
trackinfo.cbSize = sizeof(TRACKMOUSEEVENT);
|
||||||
|
trackinfo.dwFlags = TME_QUERY;
|
||||||
|
trackinfo.hwndTrack = infoPtr->hwndSelf;
|
||||||
|
trackinfo.dwHoverTime = 0;
|
||||||
|
|
||||||
|
/* call _TrackMouseEvent to see if we are currently tracking for this hwnd */
|
||||||
|
_TrackMouseEvent(&trackinfo);
|
||||||
|
|
||||||
|
/* Make sure tracking is enabled so we receive a WM_MOUSELEAVE message */
|
||||||
|
if(!(trackinfo.dwFlags & TME_LEAVE))
|
||||||
|
{
|
||||||
|
trackinfo.dwFlags = TME_LEAVE; /* notify upon leaving */
|
||||||
|
|
||||||
|
/* call TRACKMOUSEEVENT so we receive a WM_MOUSELEAVE message */
|
||||||
|
/* and can properly deactivate the hot chevron */
|
||||||
|
_TrackMouseEvent(&trackinfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
lpChevronBand = &infoPtr->bands[iHitBand];
|
||||||
|
if (!(lpChevronBand->fDraw & DRAW_CHEVRONHOT))
|
||||||
|
{
|
||||||
|
lpChevronBand->fDraw |= DRAW_CHEVRONHOT;
|
||||||
|
InvalidateRect(infoPtr->hwndSelf, &lpChevronBand->rcChevron, TRUE);
|
||||||
|
infoPtr->ichevronhotBand = iHitBand;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
infoPtr->iOldBand = iHitBand;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3869,7 +4046,9 @@ REBAR_NCCreate (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||||
infoPtr->clrText = CLR_NONE;
|
infoPtr->clrText = CLR_NONE;
|
||||||
infoPtr->clrBtnText = GetSysColor (COLOR_BTNTEXT);
|
infoPtr->clrBtnText = GetSysColor (COLOR_BTNTEXT);
|
||||||
infoPtr->clrBtnFace = GetSysColor (COLOR_BTNFACE);
|
infoPtr->clrBtnFace = GetSysColor (COLOR_BTNFACE);
|
||||||
infoPtr->ihitBand = -1;
|
infoPtr->iOldBand = -1;
|
||||||
|
infoPtr->ichevronhotBand = -2;
|
||||||
|
infoPtr->iGrabbedBand = -1;
|
||||||
infoPtr->hwndSelf = hwnd;
|
infoPtr->hwndSelf = hwnd;
|
||||||
infoPtr->DoRedraw = TRUE;
|
infoPtr->DoRedraw = TRUE;
|
||||||
infoPtr->hcurArrow = LoadCursorA (0, (LPSTR)IDC_ARROW);
|
infoPtr->hcurArrow = LoadCursorA (0, (LPSTR)IDC_ARROW);
|
||||||
|
@ -4349,6 +4528,9 @@ REBAR_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
case RB_MOVEBAND:
|
case RB_MOVEBAND:
|
||||||
return REBAR_MoveBand (infoPtr, wParam, lParam);
|
return REBAR_MoveBand (infoPtr, wParam, lParam);
|
||||||
|
|
||||||
|
case RB_PUSHCHEVRON:
|
||||||
|
return REBAR_PushChevron (infoPtr, wParam, lParam);
|
||||||
|
|
||||||
case RB_SETBANDINFOA:
|
case RB_SETBANDINFOA:
|
||||||
return REBAR_SetBandInfoA (infoPtr, wParam, lParam);
|
return REBAR_SetBandInfoA (infoPtr, wParam, lParam);
|
||||||
|
|
||||||
|
@ -4425,6 +4607,9 @@ REBAR_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
case WM_MOUSEMOVE:
|
case WM_MOUSEMOVE:
|
||||||
return REBAR_MouseMove (infoPtr, wParam, lParam);
|
return REBAR_MouseMove (infoPtr, wParam, lParam);
|
||||||
|
|
||||||
|
case WM_MOUSELEAVE:
|
||||||
|
return REBAR_MouseLeave (infoPtr, wParam, lParam);
|
||||||
|
|
||||||
case WM_NCCALCSIZE:
|
case WM_NCCALCSIZE:
|
||||||
return REBAR_NCCalcSize (infoPtr, wParam, lParam);
|
return REBAR_NCCalcSize (infoPtr, wParam, lParam);
|
||||||
|
|
||||||
|
|
|
@ -1,89 +1,89 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2002 Tisheng Chen
|
* Copyright 2002 Tisheng Chen
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
* License as published by the Free Software Foundation; either
|
* License as published by the Free Software Foundation; either
|
||||||
* version 2.1 of the License, or (at your option) any later version.
|
* 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,
|
* This library is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
* Lesser General Public License for more details.
|
* Lesser General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
* License along with this library; if not, write to the Free Software
|
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
|
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
|
||||||
#pragma code_page(936)
|
#pragma code_page(936)
|
||||||
|
|
||||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||||
CAPTION "属性 "
|
CAPTION "属性 "
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "确定", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
DEFPUSHBUTTON "确定", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||||
PUSHBUTTON "取消", IDCANCEL,58,122,50,14
|
PUSHBUTTON "取消", IDCANCEL,58,122,50,14
|
||||||
PUSHBUTTON "应用(&A)", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
PUSHBUTTON "应用(&A)", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||||
PUSHBUTTON "帮助", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
PUSHBUTTON "帮助", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||||
CAPTION "Wizard"
|
CAPTION "Wizard"
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "结束", IDC_FINISH_BUTTON,121,138,50,14
|
DEFPUSHBUTTON "结束", IDC_FINISH_BUTTON,121,138,50,14
|
||||||
DEFPUSHBUTTON "下一步(&N) >", IDC_NEXT_BUTTON,121,138,50,14
|
DEFPUSHBUTTON "下一步(&N) >", IDC_NEXT_BUTTON,121,138,50,14
|
||||||
PUSHBUTTON "< 上一步(&B)", IDC_BACK_BUTTON,71,138,50,14
|
PUSHBUTTON "< 上一步(&B)", IDC_BACK_BUTTON,71,138,50,14
|
||||||
PUSHBUTTON "取消", IDCANCEL,178,138,50,14
|
PUSHBUTTON "取消", IDCANCEL,178,138,50,14
|
||||||
PUSHBUTTON "帮助", IDHELP,235,138,50,14,WS_GROUP
|
PUSHBUTTON "帮助", IDHELP,235,138,50,14,WS_GROUP
|
||||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "自定义工具栏"
|
CAPTION "自定义工具栏"
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "关闭(&C)", IDCANCEL,308,6,44,14
|
DEFPUSHBUTTON "关闭(&C)", IDCANCEL,308,6,44,14
|
||||||
PUSHBUTTON "重置(&e)", IDC_RESET_BTN,308,23,44,14
|
PUSHBUTTON "重置(&e)", IDC_RESET_BTN,308,23,44,14
|
||||||
PUSHBUTTON "帮助(&H)", IDC_HELP_BTN,308,40,44,14
|
PUSHBUTTON "帮助(&H)", IDC_HELP_BTN,308,40,44,14
|
||||||
PUSHBUTTON "上移(&U)", IDC_MOVEUP_BTN,308,74,44,14
|
PUSHBUTTON "上移(&U)", IDC_MOVEUP_BTN,308,74,44,14
|
||||||
PUSHBUTTON "下移(&D)", IDC_MOVEDN_BTN,308,91,44,14
|
PUSHBUTTON "下移(&D)", IDC_MOVEDN_BTN,308,91,44,14
|
||||||
LTEXT "可用工具栏按钮(&V):", -1,4,5,84,10
|
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
|
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 "添加(&A) ->", IDOK, 131, 42, 44, 14
|
||||||
PUSHBUTTON "<- 删除(&R)", IDC_REMOVE_BTN,131,62,44,14
|
PUSHBUTTON "<- 删除(&R)", IDC_REMOVE_BTN,131,62,44,14
|
||||||
LTEXT "当前工具栏按钮(&T):", -1,182,5,78,10
|
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
|
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
|
END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDS_CLOSE "关闭"
|
IDS_CLOSE "关闭"
|
||||||
}
|
}
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDM_TODAY "Today:"
|
IDM_TODAY "Today:"
|
||||||
IDM_GOTODAY "Go to today"
|
IDM_GOTODAY "Go to today"
|
||||||
}
|
}
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDS_SEPARATOR "分隔符"
|
IDS_SEPARATOR "分隔符"
|
||||||
}
|
}
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
HKY_NONE "None"
|
HKY_NONE "None"
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma code_page(default)
|
#pragma code_page(default)
|
||||||
|
|
|
@ -1,81 +1,81 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2000 Uwe Bonnes
|
* Copyright 2000 Uwe Bonnes
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
* License as published by the Free Software Foundation; either
|
* License as published by the Free Software Foundation; either
|
||||||
* version 2.1 of the License, or (at your option) any later version.
|
* 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,
|
* This library is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
* Lesser General Public License for more details.
|
* Lesser General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
* License along with this library; if not, write to the Free Software
|
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
LANGUAGE LANG_GERMAN, SUBLANG_DEFAULT
|
LANGUAGE LANG_GERMAN, SUBLANG_DEFAULT
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDS_CLOSE "Schließen"
|
IDS_CLOSE "Schließen"
|
||||||
}
|
}
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDM_TODAY "Heute:"
|
IDM_TODAY "Heute:"
|
||||||
IDM_GOTODAY "Gehe zu Heute"
|
IDM_GOTODAY "Gehe zu Heute"
|
||||||
}
|
}
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDS_SEPARATOR "Trennzeichen"
|
IDS_SEPARATOR "Trennzeichen"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||||
CAPTION "Eigenschaften für "
|
CAPTION "Eigenschaften für "
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "&OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
DEFPUSHBUTTON "&OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||||
PUSHBUTTON "A&bbrechen", IDCANCEL,58,122,50,14
|
PUSHBUTTON "A&bbrechen", IDCANCEL,58,122,50,14
|
||||||
PUSHBUTTON "&Anwenden", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
PUSHBUTTON "&Anwenden", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||||
PUSHBUTTON "&Hilfe", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
PUSHBUTTON "&Hilfe", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||||
CAPTION "Wizard"
|
CAPTION "Wizard"
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "&Beenden", IDC_FINISH_BUTTON,121,138,50,14
|
DEFPUSHBUTTON "&Beenden", IDC_FINISH_BUTTON,121,138,50,14
|
||||||
DEFPUSHBUTTON "&Weiter >", IDC_NEXT_BUTTON,121,138,50,14
|
DEFPUSHBUTTON "&Weiter >", IDC_NEXT_BUTTON,121,138,50,14
|
||||||
PUSHBUTTON "< &Zurück", IDC_BACK_BUTTON,71,138,50,14
|
PUSHBUTTON "< &Zurück", IDC_BACK_BUTTON,71,138,50,14
|
||||||
PUSHBUTTON "Abbrechen", IDCANCEL,178,138,50,14
|
PUSHBUTTON "Abbrechen", IDCANCEL,178,138,50,14
|
||||||
PUSHBUTTON "&Hilfe", IDHELP,235,138,50,14,WS_GROUP
|
PUSHBUTTON "&Hilfe", IDHELP,235,138,50,14,WS_GROUP
|
||||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "Toolbar einrichten"
|
CAPTION "Toolbar einrichten"
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "&Schließen", IDCANCEL,308,6,44,14
|
DEFPUSHBUTTON "&Schließen", IDCANCEL,308,6,44,14
|
||||||
PUSHBUTTON "&Zurücksetzen", IDC_RESET_BTN,308,23,44,14
|
PUSHBUTTON "&Zurücksetzen", IDC_RESET_BTN,308,23,44,14
|
||||||
PUSHBUTTON "&Hilfe", IDC_HELP_BTN,308,40,44,14
|
PUSHBUTTON "&Hilfe", IDC_HELP_BTN,308,40,44,14
|
||||||
PUSHBUTTON "Nach &Oben verschieben", IDC_MOVEUP_BTN,308,74,44,14
|
PUSHBUTTON "Nach &Oben verschieben", IDC_MOVEUP_BTN,308,74,44,14
|
||||||
PUSHBUTTON "Nach &Unten verschieben", IDC_MOVEDN_BTN,308,91,44,14
|
PUSHBUTTON "Nach &Unten verschieben", IDC_MOVEDN_BTN,308,91,44,14
|
||||||
LTEXT "&Vorhandene Knöpfe:", -1,4,5,84,10
|
LTEXT "&Vorhandene Knöpfe:", -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
|
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ügen ->", IDOK, 131, 42, 44, 14
|
PUSHBUTTON "H&inzufügen ->", IDOK, 131, 42, 44, 14
|
||||||
PUSHBUTTON "<- &Löschen", IDC_REMOVE_BTN,131,62,44,14
|
PUSHBUTTON "<- &Löschen", IDC_REMOVE_BTN,131,62,44,14
|
||||||
LTEXT "&Toolbarknöpfe:", -1,182,5,78,10
|
LTEXT "&Toolbarknöpfe:", -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
|
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
|
END
|
||||||
|
|
|
@ -1,86 +1,86 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 1999 Eric Kohl
|
* Copyright 1999 Eric Kohl
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
* License as published by the Free Software Foundation; either
|
* License as published by the Free Software Foundation; either
|
||||||
* version 2.1 of the License, or (at your option) any later version.
|
* 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,
|
* This library is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
* Lesser General Public License for more details.
|
* Lesser General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
* License along with this library; if not, write to the Free Software
|
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
|
LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
|
||||||
|
|
||||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||||
CAPTION "Properties for "
|
CAPTION "Properties for "
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||||
PUSHBUTTON "Cancel", IDCANCEL,58,122,50,14
|
PUSHBUTTON "Cancel", IDCANCEL,58,122,50,14
|
||||||
PUSHBUTTON "&Apply", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
PUSHBUTTON "&Apply", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||||
PUSHBUTTON "Help", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
PUSHBUTTON "Help", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||||
CAPTION "Wizard"
|
CAPTION "Wizard"
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "Finish", IDC_FINISH_BUTTON,121,138,50,14
|
DEFPUSHBUTTON "Finish", IDC_FINISH_BUTTON,121,138,50,14
|
||||||
DEFPUSHBUTTON "&Next >", IDC_NEXT_BUTTON,121,138,50,14
|
DEFPUSHBUTTON "&Next >", IDC_NEXT_BUTTON,121,138,50,14
|
||||||
PUSHBUTTON "< &Back", IDC_BACK_BUTTON,71,138,50,14
|
PUSHBUTTON "< &Back", IDC_BACK_BUTTON,71,138,50,14
|
||||||
PUSHBUTTON "Cancel", IDCANCEL,178,138,50,14
|
PUSHBUTTON "Cancel", IDCANCEL,178,138,50,14
|
||||||
PUSHBUTTON "Help", IDHELP,235,138,50,14,WS_GROUP
|
PUSHBUTTON "Help", IDHELP,235,138,50,14,WS_GROUP
|
||||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "Customize Toolbar"
|
CAPTION "Customize Toolbar"
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "&Close", IDCANCEL,308,6,44,14
|
DEFPUSHBUTTON "&Close", IDCANCEL,308,6,44,14
|
||||||
PUSHBUTTON "R&eset", IDC_RESET_BTN,308,23,44,14
|
PUSHBUTTON "R&eset", IDC_RESET_BTN,308,23,44,14
|
||||||
PUSHBUTTON "&Help", IDC_HELP_BTN,308,40,44,14
|
PUSHBUTTON "&Help", IDC_HELP_BTN,308,40,44,14
|
||||||
PUSHBUTTON "Move &Up", IDC_MOVEUP_BTN,308,74,44,14
|
PUSHBUTTON "Move &Up", IDC_MOVEUP_BTN,308,74,44,14
|
||||||
PUSHBUTTON "Move &Down", IDC_MOVEDN_BTN,308,91,44,14
|
PUSHBUTTON "Move &Down", IDC_MOVEDN_BTN,308,91,44,14
|
||||||
LTEXT "A&vailable buttons:", -1,4,5,84,10
|
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
|
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 "&Add ->", IDOK, 131, 42, 44, 14
|
||||||
PUSHBUTTON "<- &Remove", IDC_REMOVE_BTN,131,62,44,14
|
PUSHBUTTON "<- &Remove", IDC_REMOVE_BTN,131,62,44,14
|
||||||
LTEXT "&Toolbar buttons:", -1,182,5,78,10
|
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
|
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
|
END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDS_CLOSE "Close"
|
IDS_CLOSE "Close"
|
||||||
}
|
}
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDM_TODAY "Today:"
|
IDM_TODAY "Today:"
|
||||||
IDM_GOTODAY "Go to today"
|
IDM_GOTODAY "Go to today"
|
||||||
}
|
}
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDS_SEPARATOR "Separator"
|
IDS_SEPARATOR "Separator"
|
||||||
}
|
}
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
HKY_NONE "None"
|
HKY_NONE "None"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,86 +1,86 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2003 José Manuel Ferrer Ortiz
|
* Copyright 2003 José Manuel Ferrer Ortiz
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
* License as published by the Free Software Foundation; either
|
* License as published by the Free Software Foundation; either
|
||||||
* version 2.1 of the License, or (at your option) any later version.
|
* 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,
|
* This library is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
* Lesser General Public License for more details.
|
* Lesser General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
* License along with this library; if not, write to the Free Software
|
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
LANGUAGE LANG_SPANISH, SUBLANG_DEFAULT
|
LANGUAGE LANG_SPANISH, SUBLANG_DEFAULT
|
||||||
|
|
||||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||||
CAPTION "Propiedades de "
|
CAPTION "Propiedades de "
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "Aceptar", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
DEFPUSHBUTTON "Aceptar", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||||
PUSHBUTTON "Cancelar", IDCANCEL,58,122,50,14
|
PUSHBUTTON "Cancelar", IDCANCEL,58,122,50,14
|
||||||
PUSHBUTTON "&Aplicar", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
PUSHBUTTON "&Aplicar", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||||
PUSHBUTTON "Ayuda", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
PUSHBUTTON "Ayuda", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||||
CAPTION "Ayudante"
|
CAPTION "Ayudante"
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "Terminar", IDC_FINISH_BUTTON,121,138,50,14
|
DEFPUSHBUTTON "Terminar", IDC_FINISH_BUTTON,121,138,50,14
|
||||||
DEFPUSHBUTTON "&Siguiente >", IDC_NEXT_BUTTON,121,138,50,14
|
DEFPUSHBUTTON "&Siguiente >", IDC_NEXT_BUTTON,121,138,50,14
|
||||||
PUSHBUTTON "< &Anterior", IDC_BACK_BUTTON,71,138,50,14
|
PUSHBUTTON "< &Anterior", IDC_BACK_BUTTON,71,138,50,14
|
||||||
PUSHBUTTON "Cancelar", IDCANCEL,178,138,50,14
|
PUSHBUTTON "Cancelar", IDCANCEL,178,138,50,14
|
||||||
PUSHBUTTON "Ayuda", IDHELP,235,138,50,14,WS_GROUP
|
PUSHBUTTON "Ayuda", IDHELP,235,138,50,14,WS_GROUP
|
||||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "Personalizar barra de herramientas"
|
CAPTION "Personalizar barra de herramientas"
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "&Cerrar", IDCANCEL,308,6,44,14
|
DEFPUSHBUTTON "&Cerrar", IDCANCEL,308,6,44,14
|
||||||
PUSHBUTTON "R&estaurar", IDC_RESET_BTN,308,23,44,14
|
PUSHBUTTON "R&estaurar", IDC_RESET_BTN,308,23,44,14
|
||||||
PUSHBUTTON "&Ayuda", IDC_HELP_BTN,308,40,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&rriba", IDC_MOVEUP_BTN,308,74,44,14
|
||||||
PUSHBUTTON "Mover A&bajo", IDC_MOVEDN_BTN,308,91,44,14
|
PUSHBUTTON "Mover A&bajo", IDC_MOVEDN_BTN,308,91,44,14
|
||||||
LTEXT "Botones &disponibles:", -1,4,5,84,10
|
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
|
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&ñadir ->", IDOK, 131, 42, 44, 14
|
PUSHBUTTON "A&ñadir ->", IDOK, 131, 42, 44, 14
|
||||||
PUSHBUTTON "<- &Eliminar", IDC_REMOVE_BTN,131,62,44,14
|
PUSHBUTTON "<- &Eliminar", IDC_REMOVE_BTN,131,62,44,14
|
||||||
LTEXT "B&otones de la barra:", -1,182,5,78,10
|
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
|
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
|
END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDS_CLOSE "Cerrar"
|
IDS_CLOSE "Cerrar"
|
||||||
}
|
}
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDM_TODAY "Hoy:"
|
IDM_TODAY "Hoy:"
|
||||||
IDM_GOTODAY "Ir a hoy"
|
IDM_GOTODAY "Ir a hoy"
|
||||||
}
|
}
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDS_SEPARATOR "Separador"
|
IDS_SEPARATOR "Separador"
|
||||||
}
|
}
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
HKY_NONE "Ninguno"
|
HKY_NONE "Ninguno"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,90 +1,90 @@
|
||||||
/*
|
/*
|
||||||
* Comctl32
|
* Comctl32
|
||||||
* French language support
|
* French language support
|
||||||
*
|
*
|
||||||
* Copyright 1999 Eric Kohl
|
* Copyright 1999 Eric Kohl
|
||||||
* Copyright 2003 Vincent Béron
|
* Copyright 2003 Vincent Béron
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
* License as published by the Free Software Foundation; either
|
* License as published by the Free Software Foundation; either
|
||||||
* version 2.1 of the License, or (at your option) any later version.
|
* 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,
|
* This library is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
* Lesser General Public License for more details.
|
* Lesser General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
* License along with this library; if not, write to the Free Software
|
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
|
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
|
||||||
|
|
||||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||||
CAPTION "Propriétés pour "
|
CAPTION "Propriétés pour "
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||||
PUSHBUTTON "Annuler", IDCANCEL,58,122,50,14
|
PUSHBUTTON "Annuler", IDCANCEL,58,122,50,14
|
||||||
PUSHBUTTON "&Appliquer", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
PUSHBUTTON "&Appliquer", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||||
PUSHBUTTON "Aide", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
PUSHBUTTON "Aide", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||||
CONTROL "onglet", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
CONTROL "onglet", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||||
CAPTION "Assistant"
|
CAPTION "Assistant"
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "Terminer", IDC_FINISH_BUTTON,121,138,50,14
|
DEFPUSHBUTTON "Terminer", IDC_FINISH_BUTTON,121,138,50,14
|
||||||
DEFPUSHBUTTON "&Suivant >", IDC_NEXT_BUTTON,121,138,50,14
|
DEFPUSHBUTTON "&Suivant >", IDC_NEXT_BUTTON,121,138,50,14
|
||||||
PUSHBUTTON "< &Précédent", IDC_BACK_BUTTON,71,138,50,14
|
PUSHBUTTON "< &Précédent", IDC_BACK_BUTTON,71,138,50,14
|
||||||
PUSHBUTTON "Annuler", IDCANCEL,178,138,50,14
|
PUSHBUTTON "Annuler", IDCANCEL,178,138,50,14
|
||||||
PUSHBUTTON "Aide", IDHELP,235,138,50,14,WS_GROUP
|
PUSHBUTTON "Aide", IDHELP,235,138,50,14,WS_GROUP
|
||||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||||
CONTROL "Onglet", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
CONTROL "Onglet", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "Personnaliser la barre d'outils"
|
CAPTION "Personnaliser la barre d'outils"
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "&Fermer", IDCANCEL,308,6,44,14
|
DEFPUSHBUTTON "&Fermer", IDCANCEL,308,6,44,14
|
||||||
PUSHBUTTON "&Réinitialiser", IDC_RESET_BTN,308,23,44,14
|
PUSHBUTTON "&Réinitialiser", IDC_RESET_BTN,308,23,44,14
|
||||||
PUSHBUTTON "&Aide", IDC_HELP_BTN,308,40,44,14
|
PUSHBUTTON "&Aide", IDC_HELP_BTN,308,40,44,14
|
||||||
PUSHBUTTON "&Monter", IDC_MOVEUP_BTN,308,74,44,14
|
PUSHBUTTON "&Monter", IDC_MOVEUP_BTN,308,74,44,14
|
||||||
PUSHBUTTON "&Descendre", IDC_MOVEDN_BTN,308,91,44,14
|
PUSHBUTTON "&Descendre", IDC_MOVEDN_BTN,308,91,44,14
|
||||||
LTEXT "Boutons disponibles :", -1,4,5,84,10
|
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
|
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 "A&jouter ->", IDOK, 131, 42, 44, 14
|
||||||
PUSHBUTTON "<- &Enlever", IDC_REMOVE_BTN,131,62,44,14
|
PUSHBUTTON "<- &Enlever", IDC_REMOVE_BTN,131,62,44,14
|
||||||
LTEXT "&Boutons de la barre d'outils :", -1,182,5,78,10
|
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
|
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
|
END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDS_CLOSE "Fermer"
|
IDS_CLOSE "Fermer"
|
||||||
}
|
}
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDM_TODAY "Aujourd'hui:"
|
IDM_TODAY "Aujourd'hui:"
|
||||||
IDM_GOTODAY "Aller à aujourd'hui"
|
IDM_GOTODAY "Aller à aujourd'hui"
|
||||||
}
|
}
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDS_SEPARATOR "Séparateur"
|
IDS_SEPARATOR "Séparateur"
|
||||||
}
|
}
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
HKY_NONE "Aucun"
|
HKY_NONE "Aucun"
|
||||||
}
|
}
|
||||||
|
|
87
reactos/lib/comctl32/res/comctl_It.rc
Normal file
87
reactos/lib/comctl32/res/comctl_It.rc
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
/*
|
||||||
|
* Copyright 1999 Eric Kohl
|
||||||
|
* Copyright 2003 Ivan Leo Murray-Smith
|
||||||
|
*
|
||||||
|
* 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_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||||
|
CAPTION "Proprietà per "
|
||||||
|
FONT 8, "MS Sans Serif"
|
||||||
|
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,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 Sans Serif"
|
||||||
|
BEGIN
|
||||||
|
DEFPUSHBUTTON "Fine", IDC_FINISH_BUTTON,121,138,50,14
|
||||||
|
DEFPUSHBUTTON "&Avanti >", IDC_NEXT_BUTTON,121,138,50,14
|
||||||
|
PUSHBUTTON "< &Indietro", IDC_BACK_BUTTON,71,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
|
||||||
|
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 Sans Serif"
|
||||||
|
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"
|
||||||
|
}
|
|
@ -1,81 +1,81 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2002 Won-kyu Park <wkpark@kldp.org>
|
* Copyright 2002 Won-kyu Park <wkpark@kldp.org>
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
* License as published by the Free Software Foundation; either
|
* License as published by the Free Software Foundation; either
|
||||||
* version 2.1 of the License, or (at your option) any later version.
|
* 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,
|
* This library is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
* Lesser General Public License for more details.
|
* Lesser General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
* License along with this library; if not, write to the Free Software
|
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
|
LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
|
||||||
|
|
||||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||||
CAPTION "Properties for "
|
CAPTION "Properties for "
|
||||||
FONT 9, "MS Sans Serif"
|
FONT 9, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "확인", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
DEFPUSHBUTTON "확인", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||||
PUSHBUTTON "취소", IDCANCEL,58,122,50,14
|
PUSHBUTTON "취소", IDCANCEL,58,122,50,14
|
||||||
PUSHBUTTON "적용(&A)", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
PUSHBUTTON "적용(&A)", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||||
PUSHBUTTON "도움말", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
PUSHBUTTON "도움말", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||||
CAPTION "Wizard"
|
CAPTION "Wizard"
|
||||||
FONT 9, "MS Sans Serif"
|
FONT 9, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "종료", IDC_FINISH_BUTTON,121,138,50,14
|
DEFPUSHBUTTON "종료", IDC_FINISH_BUTTON,121,138,50,14
|
||||||
DEFPUSHBUTTON "다음(&N) >", IDC_NEXT_BUTTON,121,138,50,14
|
DEFPUSHBUTTON "다음(&N) >", IDC_NEXT_BUTTON,121,138,50,14
|
||||||
PUSHBUTTON "< 이전(&B)", IDC_BACK_BUTTON,71,138,50,14
|
PUSHBUTTON "< 이전(&B)", IDC_BACK_BUTTON,71,138,50,14
|
||||||
PUSHBUTTON "취소", IDCANCEL,178,138,50,14
|
PUSHBUTTON "취소", IDCANCEL,178,138,50,14
|
||||||
PUSHBUTTON "도움말", IDHELP,235,138,50,14,WS_GROUP
|
PUSHBUTTON "도움말", IDHELP,235,138,50,14,WS_GROUP
|
||||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "Customize Toolbar"
|
CAPTION "Customize Toolbar"
|
||||||
FONT 9, "MS Sans Serif"
|
FONT 9, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "닫기(&C)", IDCANCEL,308,6,44,14
|
DEFPUSHBUTTON "닫기(&C)", IDCANCEL,308,6,44,14
|
||||||
PUSHBUTTON "다시(&e)", IDC_RESET_BTN,308,23,44,14
|
PUSHBUTTON "다시(&e)", IDC_RESET_BTN,308,23,44,14
|
||||||
PUSHBUTTON "도움말(&H)", IDC_HELP_BTN,308,40,44,14
|
PUSHBUTTON "도움말(&H)", IDC_HELP_BTN,308,40,44,14
|
||||||
PUSHBUTTON "Move &Up", IDC_MOVEUP_BTN,308,74,44,14
|
PUSHBUTTON "Move &Up", IDC_MOVEUP_BTN,308,74,44,14
|
||||||
PUSHBUTTON "Move &Down", IDC_MOVEDN_BTN,308,91,44,14
|
PUSHBUTTON "Move &Down", IDC_MOVEDN_BTN,308,91,44,14
|
||||||
LTEXT "A&vailable buttons:", -1,4,5,84,10
|
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
|
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 "&Add ->", IDOK, 131, 42, 44, 14
|
||||||
PUSHBUTTON "<- &Remove", IDC_REMOVE_BTN,131,62,44,14
|
PUSHBUTTON "<- &Remove", IDC_REMOVE_BTN,131,62,44,14
|
||||||
LTEXT "&Toolbar buttons:", -1,182,5,78,10
|
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
|
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
|
END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDS_CLOSE "닫기"
|
IDS_CLOSE "닫기"
|
||||||
}
|
}
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDM_TODAY "오늘:"
|
IDM_TODAY "오늘:"
|
||||||
IDM_GOTODAY "Go to today"
|
IDM_GOTODAY "Go to today"
|
||||||
}
|
}
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDS_SEPARATOR "Separator"
|
IDS_SEPARATOR "Separator"
|
||||||
}
|
}
|
||||||
|
|
88
reactos/lib/comctl32/res/comctl_Nl.rc
Normal file
88
reactos/lib/comctl32/res/comctl_Nl.rc
Normal file
|
@ -0,0 +1,88 @@
|
||||||
|
/*
|
||||||
|
* 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_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||||
|
CAPTION "Eigenschappen van "
|
||||||
|
FONT 8, "MS Sans Serif"
|
||||||
|
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,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 Sans Serif"
|
||||||
|
BEGIN
|
||||||
|
DEFPUSHBUTTON "Beëindigen", IDC_FINISH_BUTTON,121,138,50,14
|
||||||
|
DEFPUSHBUTTON "&Volgende >", IDC_NEXT_BUTTON,121,138,50,14
|
||||||
|
PUSHBUTTON "< V&orige", IDC_BACK_BUTTON,71,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
|
||||||
|
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 Sans Serif"
|
||||||
|
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"
|
||||||
|
}
|
|
@ -1,82 +1,82 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 1999 Eric Kohl
|
* Copyright 1999 Eric Kohl
|
||||||
* Copyright 2002 Jacek Bator
|
* Copyright 2002 Jacek Bator
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
* License as published by the Free Software Foundation; either
|
* License as published by the Free Software Foundation; either
|
||||||
* version 2.1 of the License, or (at your option) any later version.
|
* 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,
|
* This library is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
* Lesser General Public License for more details.
|
* Lesser General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
* License along with this library; if not, write to the Free Software
|
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
|
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
|
||||||
|
|
||||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||||
CAPTION "W³aœciwoœci "
|
CAPTION "W³aœciwoœci "
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||||
PUSHBUTTON "Anuluj", IDCANCEL,58,122,50,14
|
PUSHBUTTON "Anuluj", IDCANCEL,58,122,50,14
|
||||||
PUSHBUTTON "&Zastosuj", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
PUSHBUTTON "&Zastosuj", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||||
PUSHBUTTON "Pomoc", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
PUSHBUTTON "Pomoc", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||||
CAPTION "Kreator"
|
CAPTION "Kreator"
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "Zakoñcz", IDC_FINISH_BUTTON,121,138,50,14
|
DEFPUSHBUTTON "Zakoñcz", IDC_FINISH_BUTTON,121,138,50,14
|
||||||
DEFPUSHBUTTON "&Dalej >", IDC_NEXT_BUTTON,121,138,50,14
|
DEFPUSHBUTTON "&Dalej >", IDC_NEXT_BUTTON,121,138,50,14
|
||||||
PUSHBUTTON "< &Wstecz", IDC_BACK_BUTTON,71,138,50,14
|
PUSHBUTTON "< &Wstecz", IDC_BACK_BUTTON,71,138,50,14
|
||||||
PUSHBUTTON "Anuluj", IDCANCEL,178,138,50,14
|
PUSHBUTTON "Anuluj", IDCANCEL,178,138,50,14
|
||||||
PUSHBUTTON "Pomoc", IDHELP,235,138,50,14,WS_GROUP
|
PUSHBUTTON "Pomoc", IDHELP,235,138,50,14,WS_GROUP
|
||||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "Dostosowywanie paska narzêdzi"
|
CAPTION "Dostosowywanie paska narzêdzi"
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "&Zamknij", IDCANCEL,308,6,44,14
|
DEFPUSHBUTTON "&Zamknij", IDCANCEL,308,6,44,14
|
||||||
PUSHBUTTON "Z&resetuj", IDC_RESET_BTN,308,23,44,14
|
PUSHBUTTON "Z&resetuj", IDC_RESET_BTN,308,23,44,14
|
||||||
PUSHBUTTON "&Pomoc", IDC_HELP_BTN,308,40,44,14
|
PUSHBUTTON "&Pomoc", IDC_HELP_BTN,308,40,44,14
|
||||||
PUSHBUTTON "Przenieœ &w górê", IDC_MOVEUP_BTN,308,74,44,14
|
PUSHBUTTON "Przenieœ &w górê", IDC_MOVEUP_BTN,308,74,44,14
|
||||||
PUSHBUTTON "Przenieœ w &dó³", IDC_MOVEDN_BTN,308,91,44,14
|
PUSHBUTTON "Przenieœ w &dó³", IDC_MOVEDN_BTN,308,91,44,14
|
||||||
LTEXT "Do&stêpne przyciski:", -1,4,5,84,10
|
LTEXT "Do&stêpne 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
|
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 "D&odaj ->", IDOK, 131, 42, 44, 14
|
||||||
PUSHBUTTON "<- &Usuñ", IDC_REMOVE_BTN,131,62,44,14
|
PUSHBUTTON "<- &Usuñ", IDC_REMOVE_BTN,131,62,44,14
|
||||||
LTEXT "&Przyciski paska narzêdzi:", -1,182,5,78,10
|
LTEXT "&Przyciski paska narzêdzi:", -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
|
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
|
END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDS_CLOSE "Zamknij"
|
IDS_CLOSE "Zamknij"
|
||||||
}
|
}
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDM_TODAY "Dziœ:"
|
IDM_TODAY "Dziœ:"
|
||||||
IDM_GOTODAY "IdŸ do dziœ"
|
IDM_GOTODAY "IdŸ do dziœ"
|
||||||
}
|
}
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDS_SEPARATOR "Odstêp"
|
IDS_SEPARATOR "Odstêp"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,86 +1,86 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2003 Marcelo Duarte
|
* Copyright 2003 Marcelo Duarte
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
* License as published by the Free Software Foundation; either
|
* License as published by the Free Software Foundation; either
|
||||||
* version 2.1 of the License, or (at your option) any later version.
|
* 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,
|
* This library is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
* Lesser General Public License for more details.
|
* Lesser General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
* License along with this library; if not, write to the Free Software
|
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
LANGUAGE LANG_PORTUGUESE, SUBLANG_DEFAULT
|
LANGUAGE LANG_PORTUGUESE, SUBLANG_DEFAULT
|
||||||
|
|
||||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||||
CAPTION "Propriedades para "
|
CAPTION "Propriedades para "
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||||
PUSHBUTTON "Cancelar", IDCANCEL,58,122,50,14
|
PUSHBUTTON "Cancelar", IDCANCEL,58,122,50,14
|
||||||
PUSHBUTTON "&Aplicar", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
PUSHBUTTON "&Aplicar", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||||
PUSHBUTTON "Ajuda", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
PUSHBUTTON "Ajuda", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||||
CAPTION "Assistente"
|
CAPTION "Assistente"
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "Finalizar", IDC_FINISH_BUTTON,121,138,50,14
|
DEFPUSHBUTTON "Finalizar", IDC_FINISH_BUTTON,121,138,50,14
|
||||||
DEFPUSHBUTTON "&Avançar >", IDC_NEXT_BUTTON,121,138,50,14
|
DEFPUSHBUTTON "&Avançar >", IDC_NEXT_BUTTON,121,138,50,14
|
||||||
PUSHBUTTON "< &Voltar", IDC_BACK_BUTTON,71,138,50,14
|
PUSHBUTTON "< &Voltar", IDC_BACK_BUTTON,71,138,50,14
|
||||||
PUSHBUTTON "Cancelar", IDCANCEL,178,138,50,14
|
PUSHBUTTON "Cancelar", IDCANCEL,178,138,50,14
|
||||||
PUSHBUTTON "Ajuda", IDHELP,235,138,50,14,WS_GROUP
|
PUSHBUTTON "Ajuda", IDHELP,235,138,50,14,WS_GROUP
|
||||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "Personalizar barra de ferramentas"
|
CAPTION "Personalizar barra de ferramentas"
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "&Fechar", IDCANCEL,308,6,44,14
|
DEFPUSHBUTTON "&Fechar", IDCANCEL,308,6,44,14
|
||||||
PUSHBUTTON "R&estaurar", IDC_RESET_BTN,308,23,44,14
|
PUSHBUTTON "R&estaurar", IDC_RESET_BTN,308,23,44,14
|
||||||
PUSHBUTTON "&Ajuda", IDC_HELP_BTN,308,40,44,14
|
PUSHBUTTON "&Ajuda", IDC_HELP_BTN,308,40,44,14
|
||||||
PUSHBUTTON "A&cima", IDC_MOVEUP_BTN,308,74,44,14
|
PUSHBUTTON "A&cima", IDC_MOVEUP_BTN,308,74,44,14
|
||||||
PUSHBUTTON "A&baixo", IDC_MOVEDN_BTN,308,91,44,14
|
PUSHBUTTON "A&baixo", IDC_MOVEDN_BTN,308,91,44,14
|
||||||
LTEXT "Botões &disponíveis:", -1,4,5,84,10
|
LTEXT "Botões &disponíveis:", -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
|
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 "&Adicionar ->", IDOK, 131, 42, 44, 14
|
||||||
PUSHBUTTON "<- &Remover", IDC_REMOVE_BTN,131,62,44,14
|
PUSHBUTTON "<- &Remover", IDC_REMOVE_BTN,131,62,44,14
|
||||||
LTEXT "&Botões da barra de ferramentas:", -1,182,5,78,10
|
LTEXT "&Botões 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
|
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
|
END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDS_CLOSE "Fechar"
|
IDS_CLOSE "Fechar"
|
||||||
}
|
}
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDM_TODAY "Hoje:"
|
IDM_TODAY "Hoje:"
|
||||||
IDM_GOTODAY "Ir para hoje"
|
IDM_GOTODAY "Ir para hoje"
|
||||||
}
|
}
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDS_SEPARATOR "Separador"
|
IDS_SEPARATOR "Separador"
|
||||||
}
|
}
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
HKY_NONE "Nenhum"
|
HKY_NONE "Nenhum"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,88 +1,88 @@
|
||||||
/*
|
/*
|
||||||
* comctl (Russian resources)
|
* comctl (Russian resources)
|
||||||
*
|
*
|
||||||
* Copyright 2003 Igor Stepin
|
* Copyright 2003 Igor Stepin
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
* License as published by the Free Software Foundation; either
|
* License as published by the Free Software Foundation; either
|
||||||
* version 2.1 of the License, or (at your option) any later version.
|
* 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,
|
* This library is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
* Lesser General Public License for more details.
|
* Lesser General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
* License along with this library; if not, write to the Free Software
|
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
|
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
|
||||||
|
|
||||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||||
CAPTION "Ñâîéñòâà äëÿ "
|
CAPTION "Ñâîéñòâà äëÿ "
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||||
PUSHBUTTON "Îòìåíà", IDCANCEL,58,122,50,14
|
PUSHBUTTON "Îòìåíà", IDCANCEL,58,122,50,14
|
||||||
PUSHBUTTON "Ïðè&ìåíèòü", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
PUSHBUTTON "Ïðè&ìåíèòü", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||||
PUSHBUTTON "&Ñïðàâêà", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
PUSHBUTTON "&Ñïðàâêà", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||||
CAPTION "Ìàñòåð"
|
CAPTION "Ìàñòåð"
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "Çàâåðøèòü", IDC_FINISH_BUTTON,121,138,50,14
|
DEFPUSHBUTTON "Çàâåðøèòü", IDC_FINISH_BUTTON,121,138,50,14
|
||||||
DEFPUSHBUTTON "&Äàëåå >", IDC_NEXT_BUTTON,121,138,50,14
|
DEFPUSHBUTTON "&Äàëåå >", IDC_NEXT_BUTTON,121,138,50,14
|
||||||
PUSHBUTTON "< &Íàçàä", IDC_BACK_BUTTON,71,138,50,14
|
PUSHBUTTON "< &Íàçàä", IDC_BACK_BUTTON,71,138,50,14
|
||||||
PUSHBUTTON "Îòìåíà", IDCANCEL,178,138,50,14
|
PUSHBUTTON "Îòìåíà", IDCANCEL,178,138,50,14
|
||||||
PUSHBUTTON "&Ñïðàâêà", IDHELP,235,138,50,14,WS_GROUP
|
PUSHBUTTON "&Ñïðàâêà", IDHELP,235,138,50,14,WS_GROUP
|
||||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "Íàñòðîéêà ïàíåëè èíñòðóìåíòîâ"
|
CAPTION "Íàñòðîéêà ïàíåëè èíñòðóìåíòîâ"
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "&Çàêðûòü", IDCANCEL,308,6,44,14
|
DEFPUSHBUTTON "&Çàêðûòü", IDCANCEL,308,6,44,14
|
||||||
PUSHBUTTON "Ñ&áðîñèòü", IDC_RESET_BTN,308,23,44,14
|
PUSHBUTTON "Ñ&áðîñèòü", IDC_RESET_BTN,308,23,44,14
|
||||||
PUSHBUTTON "&Ñïðàâêà", IDC_HELP_BTN,308,40,44,14
|
PUSHBUTTON "&Ñïðàâêà", IDC_HELP_BTN,308,40,44,14
|
||||||
PUSHBUTTON "Ïåðåìåñòèòü &ââåðõ", IDC_MOVEUP_BTN,308,74,44,14
|
PUSHBUTTON "Ïåðåìåñòèòü &ââåðõ", IDC_MOVEUP_BTN,308,74,44,14
|
||||||
PUSHBUTTON "Ïåðåìåñòèòü &âíèç", IDC_MOVEDN_BTN,308,91,44,14
|
PUSHBUTTON "Ïåðåìåñòèòü &âíèç", IDC_MOVEDN_BTN,308,91,44,14
|
||||||
LTEXT "&Äîñòóïíûå êíîïêè:", -1,4,5,84,10
|
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
|
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 "&Äîáàâèòü ->", IDOK, 131, 42, 44, 14
|
||||||
PUSHBUTTON "<- &Óäàëèòü", IDC_REMOVE_BTN,131,62,44,14
|
PUSHBUTTON "<- &Óäàëèòü", IDC_REMOVE_BTN,131,62,44,14
|
||||||
LTEXT "&Êíîïêè ïàíåëè èíñòðóìåíòîâ:", -1,182,5,78,10
|
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
|
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
|
END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDS_CLOSE "Çàêðûòü"
|
IDS_CLOSE "Çàêðûòü"
|
||||||
}
|
}
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDM_TODAY "Ñåãîäíÿ:"
|
IDM_TODAY "Ñåãîäíÿ:"
|
||||||
IDM_GOTODAY "Òåêóùàÿ äàòà"
|
IDM_GOTODAY "Òåêóùàÿ äàòà"
|
||||||
}
|
}
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDS_SEPARATOR "Ðàçäåëèòåëü"
|
IDS_SEPARATOR "Ðàçäåëèòåëü"
|
||||||
}
|
}
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
HKY_NONE "Íåò"
|
HKY_NONE "Íåò"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,81 +1,81 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2002-2003 Rok Mandeljc <rok.mandeljc@gimb.org>
|
* Copyright 2002-2003 Rok Mandeljc <rok.mandeljc@gimb.org>
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
* License as published by the Free Software Foundation; either
|
* License as published by the Free Software Foundation; either
|
||||||
* version 2.1 of the License, or (at your option) any later version.
|
* 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,
|
* This library is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
* Lesser General Public License for more details.
|
* Lesser General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
* License along with this library; if not, write to the Free Software
|
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT
|
LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT
|
||||||
|
|
||||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||||
CAPTION "Lastnosti"
|
CAPTION "Lastnosti"
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "V redu", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
DEFPUSHBUTTON "V redu", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||||
PUSHBUTTON "Preklièi", IDCANCEL,58,122,50,14
|
PUSHBUTTON "Preklièi", IDCANCEL,58,122,50,14
|
||||||
PUSHBUTTON "&Uporabi", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
PUSHBUTTON "&Uporabi", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||||
PUSHBUTTON "Pomoè", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
PUSHBUTTON "Pomoè", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||||
CAPTION "Èarovnik"
|
CAPTION "Èarovnik"
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "Dokonèaj", IDC_FINISH_BUTTON,121,138,50,14
|
DEFPUSHBUTTON "Dokonèaj", IDC_FINISH_BUTTON,121,138,50,14
|
||||||
DEFPUSHBUTTON "Naprej >", IDC_NEXT_BUTTON,121,138,50,14
|
DEFPUSHBUTTON "Naprej >", IDC_NEXT_BUTTON,121,138,50,14
|
||||||
PUSHBUTTON "< Na&zaj", IDC_BACK_BUTTON,71,138,50,14
|
PUSHBUTTON "< Na&zaj", IDC_BACK_BUTTON,71,138,50,14
|
||||||
PUSHBUTTON "Preklièi", IDCANCEL,178,138,50,14
|
PUSHBUTTON "Preklièi", IDCANCEL,178,138,50,14
|
||||||
PUSHBUTTON "Pomoè", IDHELP,235,138,50,14,WS_GROUP
|
PUSHBUTTON "Pomoè", IDHELP,235,138,50,14,WS_GROUP
|
||||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "Prilagoditev orodne vrstice"
|
CAPTION "Prilagoditev orodne vrstice"
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "&Zapri", IDCANCEL,308,6,44,14
|
DEFPUSHBUTTON "&Zapri", IDCANCEL,308,6,44,14
|
||||||
PUSHBUTTON "Po&nastavi", IDC_RESET_BTN,308,23,44,14
|
PUSHBUTTON "Po&nastavi", IDC_RESET_BTN,308,23,44,14
|
||||||
PUSHBUTTON "&Pomoè", IDC_HELP_BTN,308,40,44,14
|
PUSHBUTTON "&Pomoè", IDC_HELP_BTN,308,40,44,14
|
||||||
PUSHBUTTON "N&avzgor", IDC_MOVEUP_BTN,308,74,44,14
|
PUSHBUTTON "N&avzgor", IDC_MOVEUP_BTN,308,74,44,14
|
||||||
PUSHBUTTON "Na&vzdol", IDC_MOVEDN_BTN,308,91,44,14
|
PUSHBUTTON "Na&vzdol", IDC_MOVEDN_BTN,308,91,44,14
|
||||||
LTEXT "&Gumbi na voljo:", -1,4,5,84,10
|
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
|
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 "&Dodaj ->", IDOK, 131, 42, 44, 14
|
||||||
PUSHBUTTON "<- &Odstrani", IDC_REMOVE_BTN,131,62,44,14
|
PUSHBUTTON "<- &Odstrani", IDC_REMOVE_BTN,131,62,44,14
|
||||||
LTEXT "G&umbi orodne vrstice:", -1,182,5,78,10
|
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
|
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
|
END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDS_CLOSE "Zapri"
|
IDS_CLOSE "Zapri"
|
||||||
}
|
}
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDM_TODAY "Danes:"
|
IDM_TODAY "Danes:"
|
||||||
IDM_GOTODAY "&Poglejte danes"
|
IDM_GOTODAY "&Poglejte danes"
|
||||||
}
|
}
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDS_SEPARATOR "Loèilo"
|
IDS_SEPARATOR "Loèilo"
|
||||||
}
|
}
|
||||||
|
|
|
@ -807,8 +807,8 @@ STATUSBAR_WMDestroy (STATUSWINDOWINFO *infoPtr)
|
||||||
if (infoPtr->hwndToolTip)
|
if (infoPtr->hwndToolTip)
|
||||||
DestroyWindow (infoPtr->hwndToolTip);
|
DestroyWindow (infoPtr->hwndToolTip);
|
||||||
|
|
||||||
Free (infoPtr);
|
|
||||||
SetWindowLongW(infoPtr->Self, 0, 0);
|
SetWindowLongW(infoPtr->Self, 0, 0);
|
||||||
|
Free (infoPtr);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -79,7 +79,7 @@ typedef struct
|
||||||
BOOL DoRedraw; /* flag for redrawing when tab contents is changed*/
|
BOOL DoRedraw; /* flag for redrawing when tab contents is changed*/
|
||||||
BOOL needsScrolling; /* TRUE if the size of the tabs is greater than
|
BOOL needsScrolling; /* TRUE if the size of the tabs is greater than
|
||||||
* the size of the control */
|
* the size of the control */
|
||||||
BOOL fSizeSet; /* was the size of the tabs explicitly set? */
|
BOOL fHeightSet; /* was the height of the tabs explicitly set? */
|
||||||
BOOL bUnicode; /* Unicode control? */
|
BOOL bUnicode; /* Unicode control? */
|
||||||
HWND hwndUpDown; /* Updown control used for scrolling */
|
HWND hwndUpDown; /* Updown control used for scrolling */
|
||||||
} TAB_INFO;
|
} TAB_INFO;
|
||||||
|
@ -93,7 +93,7 @@ typedef struct
|
||||||
#define DISPLAY_AREA_PADDINGY 2
|
#define DISPLAY_AREA_PADDINGY 2
|
||||||
#define CONTROL_BORDER_SIZEX 2
|
#define CONTROL_BORDER_SIZEX 2
|
||||||
#define CONTROL_BORDER_SIZEY 2
|
#define CONTROL_BORDER_SIZEY 2
|
||||||
#define BUTTON_SPACINGX 4
|
#define BUTTON_SPACINGX 3
|
||||||
#define BUTTON_SPACINGY 4
|
#define BUTTON_SPACINGY 4
|
||||||
#define FLAT_BTN_SPACINGX 8
|
#define FLAT_BTN_SPACINGX 8
|
||||||
#define DEFAULT_TAB_WIDTH 96
|
#define DEFAULT_TAB_WIDTH 96
|
||||||
|
@ -344,11 +344,10 @@ static BOOL TAB_InternalGetItemRect(
|
||||||
itemRect->bottom = clientRect.top +
|
itemRect->bottom = clientRect.top +
|
||||||
infoPtr->tabHeight +
|
infoPtr->tabHeight +
|
||||||
itemRect->top * (infoPtr->tabHeight - 2) +
|
itemRect->top * (infoPtr->tabHeight - 2) +
|
||||||
((lStyle & TCS_BUTTONS) ? itemRect->top * BUTTON_SPACINGY : 0);
|
((lStyle & TCS_BUTTONS) ? itemRect->top * BUTTON_SPACINGY : SELECTED_TAB_OFFSET);
|
||||||
itemRect->top = clientRect.top +
|
itemRect->top = clientRect.top +
|
||||||
SELECTED_TAB_OFFSET +
|
|
||||||
itemRect->top * (infoPtr->tabHeight - 2) +
|
itemRect->top * (infoPtr->tabHeight - 2) +
|
||||||
((lStyle & TCS_BUTTONS) ? itemRect->top * BUTTON_SPACINGY : 0);
|
((lStyle & TCS_BUTTONS) ? itemRect->top * BUTTON_SPACINGY : SELECTED_TAB_OFFSET);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1072,6 +1071,7 @@ static void TAB_SetItemBounds (HWND hwnd)
|
||||||
INT iTemp;
|
INT iTemp;
|
||||||
RECT* rcItem;
|
RECT* rcItem;
|
||||||
INT iIndex;
|
INT iIndex;
|
||||||
|
INT icon_width = 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We need to get text information so we need a DC and we need to select
|
* We need to get text information so we need a DC and we need to select
|
||||||
|
@ -1102,7 +1102,7 @@ static void TAB_SetItemBounds (HWND hwnd)
|
||||||
curItemLeftPos = 0;
|
curItemLeftPos = 0;
|
||||||
curItemRowCount = infoPtr->uNumItem ? 1 : 0;
|
curItemRowCount = infoPtr->uNumItem ? 1 : 0;
|
||||||
|
|
||||||
if (!(lStyle & TCS_FIXEDWIDTH) && !((lStyle & TCS_OWNERDRAWFIXED) && infoPtr->fSizeSet) )
|
if (!(infoPtr->fHeightSet))
|
||||||
{
|
{
|
||||||
int item_height;
|
int item_height;
|
||||||
int icon_height = 0;
|
int icon_height = 0;
|
||||||
|
@ -1134,38 +1134,36 @@ static void TAB_SetItemBounds (HWND hwnd)
|
||||||
|
|
||||||
TRACE("client right=%ld\n", clientRect.right);
|
TRACE("client right=%ld\n", clientRect.right);
|
||||||
|
|
||||||
|
/* Get the icon width */
|
||||||
|
if (infoPtr->himl)
|
||||||
|
{
|
||||||
|
ImageList_GetIconSize(infoPtr->himl, &icon_width, 0);
|
||||||
|
|
||||||
|
if (lStyle & TCS_FIXEDWIDTH)
|
||||||
|
icon_width += 4;
|
||||||
|
else
|
||||||
|
/* Add padding if icon is present */
|
||||||
|
icon_width += infoPtr->uHItemPadding;
|
||||||
|
}
|
||||||
|
|
||||||
for (curItem = 0; curItem < infoPtr->uNumItem; curItem++)
|
for (curItem = 0; curItem < infoPtr->uNumItem; curItem++)
|
||||||
{
|
{
|
||||||
/* Set the leftmost position of the tab. */
|
/* Set the leftmost position of the tab. */
|
||||||
infoPtr->items[curItem].rect.left = curItemLeftPos;
|
infoPtr->items[curItem].rect.left = curItemLeftPos;
|
||||||
|
|
||||||
if ( (lStyle & TCS_FIXEDWIDTH) || ((lStyle & TCS_OWNERDRAWFIXED) && infoPtr->fSizeSet))
|
if (lStyle & TCS_FIXEDWIDTH)
|
||||||
{
|
{
|
||||||
infoPtr->items[curItem].rect.right = infoPtr->items[curItem].rect.left +
|
infoPtr->items[curItem].rect.right = infoPtr->items[curItem].rect.left +
|
||||||
infoPtr->tabWidth +
|
max(infoPtr->tabWidth, icon_width);
|
||||||
2 * infoPtr->uHItemPadding;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int icon_width = 0;
|
|
||||||
int num = 2;
|
int num = 2;
|
||||||
|
|
||||||
/* Calculate how wide the tab is depending on the text it contains */
|
/* Calculate how wide the tab is depending on the text it contains */
|
||||||
GetTextExtentPoint32W(hdc, infoPtr->items[curItem].pszText,
|
GetTextExtentPoint32W(hdc, infoPtr->items[curItem].pszText,
|
||||||
lstrlenW(infoPtr->items[curItem].pszText), &size);
|
lstrlenW(infoPtr->items[curItem].pszText), &size);
|
||||||
|
|
||||||
/* under Windows, there seems to be a minimum width of 2x the height
|
|
||||||
* for button style tabs */
|
|
||||||
if (lStyle & TCS_BUTTONS)
|
|
||||||
size.cx = max(size.cx, 2 * (infoPtr->tabHeight - 2));
|
|
||||||
|
|
||||||
/* Add the icon width */
|
|
||||||
if (infoPtr->himl)
|
|
||||||
{
|
|
||||||
ImageList_GetIconSize(infoPtr->himl, &icon_width, 0);
|
|
||||||
num++;
|
|
||||||
}
|
|
||||||
|
|
||||||
infoPtr->items[curItem].rect.right = infoPtr->items[curItem].rect.left +
|
infoPtr->items[curItem].rect.right = infoPtr->items[curItem].rect.left +
|
||||||
size.cx + icon_width +
|
size.cx + icon_width +
|
||||||
num * infoPtr->uHItemPadding;
|
num * infoPtr->uHItemPadding;
|
||||||
|
@ -1215,7 +1213,7 @@ static void TAB_SetItemBounds (HWND hwnd)
|
||||||
*/
|
*/
|
||||||
if (lStyle & TCS_BUTTONS)
|
if (lStyle & TCS_BUTTONS)
|
||||||
{
|
{
|
||||||
curItemLeftPos = infoPtr->items[curItem].rect.right + 1;
|
curItemLeftPos = infoPtr->items[curItem].rect.right + BUTTON_SPACINGX;
|
||||||
if (lStyle & TCS_FLATBUTTONS)
|
if (lStyle & TCS_FLATBUTTONS)
|
||||||
curItemLeftPos += FLAT_BTN_SPACINGX;
|
curItemLeftPos += FLAT_BTN_SPACINGX;
|
||||||
}
|
}
|
||||||
|
@ -1547,7 +1545,7 @@ TAB_DrawItemInterior
|
||||||
|
|
||||||
/* used to center the icon and text in the tab */
|
/* used to center the icon and text in the tab */
|
||||||
RECT rcText;
|
RECT rcText;
|
||||||
INT center_offset;
|
INT center_offset_h, center_offset_v;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Deflate the rectangle to acount for the padding
|
* Deflate the rectangle to acount for the padding
|
||||||
|
@ -1585,34 +1583,46 @@ TAB_DrawItemInterior
|
||||||
ImageList_GetIconSize(infoPtr->himl, &cx, &cy);
|
ImageList_GetIconSize(infoPtr->himl, &cx, &cy);
|
||||||
|
|
||||||
if(lStyle & TCS_VERTICAL)
|
if(lStyle & TCS_VERTICAL)
|
||||||
center_offset = ((drawRect->bottom - drawRect->top) - (cy + infoPtr->uHItemPadding + (rcText.right - rcText.left))) / 2;
|
{
|
||||||
|
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;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
center_offset = ((drawRect->right - drawRect->left) - (cx + infoPtr->uHItemPadding + (rcText.right - rcText.left))) / 2;
|
{
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((lStyle & TCS_FIXEDWIDTH &&
|
||||||
|
lStyle & (TCS_FORCELABELLEFT | TCS_FORCEICONLEFT)) ||
|
||||||
|
(center_offset_h < 0))
|
||||||
|
center_offset_h = 0;
|
||||||
|
|
||||||
TRACE("for <%s>, c_o=%d, draw=(%ld,%ld)-(%ld,%ld), textlen=%ld\n",
|
TRACE("for <%s>, c_o=%d, draw=(%ld,%ld)-(%ld,%ld), textlen=%ld\n",
|
||||||
debugstr_w(infoPtr->items[iItem].pszText), center_offset,
|
debugstr_w(infoPtr->items[iItem].pszText), center_offset_h,
|
||||||
drawRect->left, drawRect->top, drawRect->right, drawRect->bottom,
|
drawRect->left, drawRect->top, drawRect->right, drawRect->bottom,
|
||||||
(rcText.right-rcText.left));
|
(rcText.right-rcText.left));
|
||||||
|
|
||||||
if((lStyle & TCS_VERTICAL) && (lStyle & TCS_BOTTOM))
|
if((lStyle & TCS_VERTICAL) && (lStyle & TCS_BOTTOM))
|
||||||
{
|
{
|
||||||
rcImage.top = drawRect->top + center_offset;
|
rcImage.top = drawRect->top + center_offset_h;
|
||||||
rcImage.left = drawRect->right - cx; /* if tab is TCS_VERTICAL and TCS_BOTTOM, the text is drawn from the */
|
/* if tab is TCS_VERTICAL and TCS_BOTTOM, the text is drawn from the */
|
||||||
/* right side of the tab, but the image still uses the left as its x position */
|
/* right side of the tab, but the image still uses the left as its x position */
|
||||||
/* this keeps the image always drawn off of the same side of the tab */
|
/* this keeps the image always drawn off of the same side of the tab */
|
||||||
|
rcImage.left = drawRect->right - cx - center_offset_v;
|
||||||
drawRect->top = rcImage.top + (cx + infoPtr->uHItemPadding);
|
drawRect->top = rcImage.top + (cx + infoPtr->uHItemPadding);
|
||||||
}
|
}
|
||||||
else if(lStyle & TCS_VERTICAL)
|
else if(lStyle & TCS_VERTICAL)
|
||||||
{
|
{
|
||||||
rcImage.top = drawRect->bottom - cy - center_offset;
|
rcImage.top = drawRect->bottom - cy - center_offset_h;
|
||||||
rcImage.left--;
|
rcImage.left = drawRect->left + center_offset_v;
|
||||||
drawRect->bottom = rcImage.top - infoPtr->uHItemPadding;
|
drawRect->bottom = rcImage.top - infoPtr->uHItemPadding;
|
||||||
}
|
}
|
||||||
else /* normal style, whether TCS_BOTTOM or not */
|
else /* normal style, whether TCS_BOTTOM or not */
|
||||||
{
|
{
|
||||||
rcImage.left = drawRect->left + center_offset + 3;
|
rcImage.left = drawRect->left + center_offset_h + 3;
|
||||||
drawRect->left = rcImage.left + cx + infoPtr->uHItemPadding;
|
drawRect->left = rcImage.left + cx + infoPtr->uHItemPadding;
|
||||||
rcImage.top -= (lStyle & TCS_BOTTOM) ? 2 : 1;
|
rcImage.top = drawRect->top + center_offset_v;
|
||||||
}
|
}
|
||||||
|
|
||||||
TRACE("drawing image=%d, left=%ld, top=%ld\n",
|
TRACE("drawing image=%d, left=%ld, top=%ld\n",
|
||||||
|
@ -1626,33 +1636,47 @@ TAB_DrawItemInterior
|
||||||
rcImage.top,
|
rcImage.top,
|
||||||
ILD_NORMAL
|
ILD_NORMAL
|
||||||
);
|
);
|
||||||
} else /* no image, so just shift the drawRect borders around */
|
}
|
||||||
|
else /* no image, so just shift the drawRect borders around */
|
||||||
{
|
{
|
||||||
if(lStyle & TCS_VERTICAL)
|
if(lStyle & TCS_VERTICAL)
|
||||||
{
|
{
|
||||||
center_offset = 0;
|
center_offset_h = 0;
|
||||||
/*
|
/*
|
||||||
currently the rcText rect is flawed because the rotated font does not
|
currently the rcText rect is flawed because the rotated font does not
|
||||||
often match the horizontal font. So leave this as 0
|
often match the horizontal font. So leave this as 0
|
||||||
((drawRect->bottom - drawRect->top) - (rcText.right - rcText.left)) / 2;
|
((drawRect->bottom - drawRect->top) - (rcText.right - rcText.left)) / 2;
|
||||||
*/
|
*/
|
||||||
if(lStyle & TCS_BOTTOM)
|
if(lStyle & TCS_BOTTOM)
|
||||||
drawRect->top+=center_offset;
|
drawRect->top+=center_offset_h;
|
||||||
else
|
else
|
||||||
drawRect->bottom-=center_offset;
|
drawRect->bottom-=center_offset_h;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
center_offset = ((drawRect->right - drawRect->left) - (rcText.right - rcText.left)) / 2;
|
center_offset_h = ((drawRect->right - drawRect->left) - (rcText.right - rcText.left)) / 2;
|
||||||
drawRect->left+=center_offset;
|
drawRect->left+=center_offset_h;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Draw the text */
|
if(lStyle & TCS_VERTICAL)
|
||||||
if (lStyle & TCS_RIGHTJUSTIFY)
|
{
|
||||||
uHorizAlign = DT_CENTER;
|
center_offset_v = ((drawRect->right - drawRect->left) - ((rcText.bottom - rcText.top) + infoPtr->uVItemPadding)) / 2;
|
||||||
|
drawRect->left += center_offset_v;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
center_offset_v = ((drawRect->bottom - drawRect->top) - ((rcText.bottom - rcText.top) + infoPtr->uVItemPadding)) / 2;
|
||||||
|
drawRect->top += center_offset_v;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Draw the text */
|
||||||
|
if ((lStyle & TCS_FIXEDWIDTH && lStyle & TCS_FORCELABELLEFT) ||
|
||||||
|
!center_offset_h)
|
||||||
uHorizAlign = DT_LEFT;
|
uHorizAlign = DT_LEFT;
|
||||||
|
else
|
||||||
|
uHorizAlign = DT_CENTER;
|
||||||
|
|
||||||
if(lStyle & TCS_VERTICAL) /* if we are vertical rotate the text and each character */
|
if(lStyle & TCS_VERTICAL) /* if we are vertical rotate the text and each character */
|
||||||
{
|
{
|
||||||
|
@ -1793,7 +1817,7 @@ static void TAB_DrawItem(
|
||||||
if (iItem == infoPtr->iSelected)
|
if (iItem == infoPtr->iSelected)
|
||||||
{
|
{
|
||||||
/* Background color */
|
/* Background color */
|
||||||
if (!((lStyle & TCS_OWNERDRAWFIXED) && infoPtr->fSizeSet))
|
if (!(lStyle & TCS_OWNERDRAWFIXED))
|
||||||
{
|
{
|
||||||
DeleteObject(hbr);
|
DeleteObject(hbr);
|
||||||
hbr = GetSysColorBrush(COLOR_SCROLLBAR);
|
hbr = GetSysColorBrush(COLOR_SCROLLBAR);
|
||||||
|
@ -2334,36 +2358,41 @@ static void TAB_InvalidateTabArea(
|
||||||
RECT clientRect, r;
|
RECT clientRect, r;
|
||||||
DWORD lStyle = GetWindowLongA(hwnd, GWL_STYLE);
|
DWORD lStyle = GetWindowLongA(hwnd, GWL_STYLE);
|
||||||
INT lastRow = infoPtr->uNumRows - 1;
|
INT lastRow = infoPtr->uNumRows - 1;
|
||||||
|
RECT rect;
|
||||||
|
|
||||||
if (lastRow < 0) return;
|
if (lastRow < 0) return;
|
||||||
|
|
||||||
GetClientRect(hwnd, &clientRect);
|
GetClientRect(hwnd, &clientRect);
|
||||||
|
|
||||||
|
TAB_InternalGetItemRect(hwnd, infoPtr, infoPtr->uNumItem-1 , &rect, NULL);
|
||||||
if ((lStyle & TCS_BOTTOM) && !(lStyle & TCS_VERTICAL))
|
if ((lStyle & TCS_BOTTOM) && !(lStyle & TCS_VERTICAL))
|
||||||
{
|
{
|
||||||
clientRect.top = clientRect.bottom -
|
clientRect.top = clientRect.bottom -
|
||||||
infoPtr->tabHeight -
|
infoPtr->tabHeight -
|
||||||
lastRow * (infoPtr->tabHeight - 2) -
|
lastRow * (infoPtr->tabHeight - 2) -
|
||||||
((lStyle & TCS_BUTTONS) ? lastRow * BUTTON_SPACINGY : 0) - 3;
|
((lStyle & TCS_BUTTONS) ? lastRow * BUTTON_SPACINGY : 0) - 3;
|
||||||
|
clientRect.right = clientRect.left + rect.right + 2 * SELECTED_TAB_OFFSET;
|
||||||
}
|
}
|
||||||
else if((lStyle & TCS_BOTTOM) && (lStyle & TCS_VERTICAL))
|
else if((lStyle & TCS_BOTTOM) && (lStyle & TCS_VERTICAL))
|
||||||
{
|
{
|
||||||
clientRect.left = clientRect.right - infoPtr->tabHeight -
|
clientRect.left = clientRect.right - infoPtr->tabHeight -
|
||||||
lastRow * (infoPtr->tabHeight - 2) -
|
lastRow * (infoPtr->tabHeight - 2) -
|
||||||
((lStyle & TCS_BUTTONS) ? lastRow * BUTTON_SPACINGY : 0) - 2;
|
((lStyle & TCS_BUTTONS) ? lastRow * BUTTON_SPACINGY : 0) - 2;
|
||||||
|
clientRect.bottom = clientRect.top + rect.bottom + 2 * SELECTED_TAB_OFFSET;
|
||||||
}
|
}
|
||||||
else if(lStyle & TCS_VERTICAL)
|
else if(lStyle & TCS_VERTICAL)
|
||||||
{
|
{
|
||||||
clientRect.right = clientRect.left + infoPtr->tabHeight +
|
clientRect.right = clientRect.left + infoPtr->tabHeight +
|
||||||
lastRow * (infoPtr->tabHeight - 2) -
|
lastRow * (infoPtr->tabHeight - 2) -
|
||||||
((lStyle & TCS_BUTTONS) ? lastRow * BUTTON_SPACINGY : 0) + 2;
|
((lStyle & TCS_BUTTONS) ? lastRow * BUTTON_SPACINGY : 0) + 2;
|
||||||
|
clientRect.bottom = clientRect.top + rect.bottom + 2 * SELECTED_TAB_OFFSET;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
clientRect.bottom = clientRect.top + infoPtr->tabHeight +
|
clientRect.bottom = clientRect.top + infoPtr->tabHeight +
|
||||||
lastRow * (infoPtr->tabHeight - 2) +
|
lastRow * (infoPtr->tabHeight - 2) +
|
||||||
((lStyle & TCS_BUTTONS) ? lastRow * BUTTON_SPACINGY : 0) + 2;
|
((lStyle & TCS_BUTTONS) ? lastRow * BUTTON_SPACINGY : 0) + 2;
|
||||||
|
clientRect.right = clientRect.left + rect.right + 2 * SELECTED_TAB_OFFSET;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Punch out the updown control */
|
/* Punch out the updown control */
|
||||||
|
@ -2385,15 +2414,20 @@ TAB_Paint (HWND hwnd, WPARAM wParam)
|
||||||
HDC hdc;
|
HDC hdc;
|
||||||
PAINTSTRUCT ps;
|
PAINTSTRUCT ps;
|
||||||
|
|
||||||
hdc = wParam== 0 ? BeginPaint (hwnd, &ps) : (HDC)wParam;
|
if (wParam == 0)
|
||||||
|
{
|
||||||
|
hdc = BeginPaint (hwnd, &ps);
|
||||||
|
TRACE("erase %d, rect=(%ld,%ld)-(%ld,%ld)\n",
|
||||||
|
ps.fErase,
|
||||||
|
ps.rcPaint.left,ps.rcPaint.top,ps.rcPaint.right,ps.rcPaint.bottom);
|
||||||
|
|
||||||
TRACE("erase %d, rect=(%ld,%ld)-(%ld,%ld)\n",
|
if (ps.fErase)
|
||||||
ps.fErase,
|
|
||||||
ps.rcPaint.left,ps.rcPaint.top,ps.rcPaint.right,ps.rcPaint.bottom);
|
|
||||||
|
|
||||||
if (ps.fErase)
|
|
||||||
TAB_EraseBackground (hwnd, hdc);
|
TAB_EraseBackground (hwnd, hdc);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
hdc = (HDC)wParam;
|
||||||
|
}
|
||||||
|
|
||||||
TAB_Refresh (hwnd, hdc);
|
TAB_Refresh (hwnd, hdc);
|
||||||
|
|
||||||
if(!wParam)
|
if(!wParam)
|
||||||
|
@ -2557,20 +2591,34 @@ TAB_SetItemSize (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||||
TAB_INFO *infoPtr = TAB_GetInfoPtr(hwnd);
|
TAB_INFO *infoPtr = TAB_GetInfoPtr(hwnd);
|
||||||
LONG lStyle = GetWindowLongA(hwnd, GWL_STYLE);
|
LONG lStyle = GetWindowLongA(hwnd, GWL_STYLE);
|
||||||
LONG lResult = 0;
|
LONG lResult = 0;
|
||||||
|
BOOL bNeedPaint = FALSE;
|
||||||
|
|
||||||
TRACE("\n");
|
lResult = MAKELONG(infoPtr->tabWidth, infoPtr->tabHeight);
|
||||||
if ((lStyle & TCS_FIXEDWIDTH) || (lStyle & TCS_OWNERDRAWFIXED))
|
|
||||||
|
/* UNDOCUMENTED: If requested Width or Height is 0 this means that program wants to use auto size. */
|
||||||
|
if (lStyle & TCS_FIXEDWIDTH && (infoPtr->tabWidth != (INT)LOWORD(lParam)))
|
||||||
{
|
{
|
||||||
lResult = MAKELONG(infoPtr->tabWidth, infoPtr->tabHeight);
|
infoPtr->tabWidth = max((INT)LOWORD(lParam), infoPtr->tabMinWidth);
|
||||||
/* UNDOCUMENTED: If requested Width or Height is 0 this means that program wants to use default. */
|
bNeedPaint = TRUE;
|
||||||
if (LOWORD(lParam)) infoPtr->tabWidth = max((INT)LOWORD(lParam), infoPtr->tabMinWidth);
|
|
||||||
if (HIWORD(lParam)) infoPtr->tabHeight = (INT)HIWORD(lParam);
|
|
||||||
TRACE("was h=%d,w=%d, now h=%d,w=%d\n",
|
|
||||||
HIWORD(lResult), LOWORD(lResult),
|
|
||||||
infoPtr->tabHeight, infoPtr->tabWidth);
|
|
||||||
}
|
}
|
||||||
infoPtr->fSizeSet = TRUE;
|
|
||||||
|
|
||||||
|
if (infoPtr->tabHeight != (INT)HIWORD(lParam))
|
||||||
|
{
|
||||||
|
if ((infoPtr->fHeightSet = ((INT)HIWORD(lParam) != 0)))
|
||||||
|
infoPtr->tabHeight = (INT)HIWORD(lParam);
|
||||||
|
|
||||||
|
bNeedPaint = TRUE;
|
||||||
|
}
|
||||||
|
TRACE("was h=%d,w=%d, now h=%d,w=%d\n",
|
||||||
|
HIWORD(lResult), LOWORD(lResult),
|
||||||
|
infoPtr->tabHeight, infoPtr->tabWidth);
|
||||||
|
|
||||||
|
if (bNeedPaint)
|
||||||
|
{
|
||||||
|
TAB_SetItemBounds(hwnd);
|
||||||
|
RedrawWindow(hwnd, NULL, NULL, RDW_ERASE | RDW_INVALIDATE | RDW_UPDATENOW);
|
||||||
|
}
|
||||||
|
|
||||||
return lResult;
|
return lResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2776,61 +2824,63 @@ TAB_GetItemW (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||||
static LRESULT
|
static LRESULT
|
||||||
TAB_DeleteItem (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
TAB_DeleteItem (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
TAB_INFO *infoPtr = TAB_GetInfoPtr(hwnd);
|
TAB_INFO *infoPtr = TAB_GetInfoPtr(hwnd);
|
||||||
INT iItem = (INT) wParam;
|
INT iItem = (INT) wParam;
|
||||||
BOOL bResult = FALSE;
|
BOOL bResult = FALSE;
|
||||||
|
|
||||||
if ((iItem >= 0) && (iItem < infoPtr->uNumItem))
|
if ((iItem >= 0) && (iItem < infoPtr->uNumItem))
|
||||||
{
|
{
|
||||||
TAB_ITEM *oldItems = infoPtr->items;
|
TAB_ITEM *oldItems = infoPtr->items;
|
||||||
|
|
||||||
|
TAB_InvalidateTabArea(hwnd, infoPtr);
|
||||||
|
|
||||||
infoPtr->uNumItem--;
|
infoPtr->uNumItem--;
|
||||||
infoPtr->items = Alloc(sizeof (TAB_ITEM) * infoPtr->uNumItem);
|
infoPtr->items = Alloc(sizeof (TAB_ITEM) * infoPtr->uNumItem);
|
||||||
|
|
||||||
if (iItem > 0)
|
if (iItem > 0)
|
||||||
memcpy(&infoPtr->items[0], &oldItems[0], iItem * sizeof(TAB_ITEM));
|
memcpy(&infoPtr->items[0], &oldItems[0], iItem * sizeof(TAB_ITEM));
|
||||||
|
|
||||||
if (iItem < infoPtr->uNumItem)
|
if (iItem < infoPtr->uNumItem)
|
||||||
memcpy(&infoPtr->items[iItem], &oldItems[iItem + 1],
|
memcpy(&infoPtr->items[iItem], &oldItems[iItem + 1],
|
||||||
(infoPtr->uNumItem - iItem) * sizeof(TAB_ITEM));
|
(infoPtr->uNumItem - iItem) * sizeof(TAB_ITEM));
|
||||||
|
|
||||||
Free(oldItems);
|
Free(oldItems);
|
||||||
|
|
||||||
/* Readjust the selected index */
|
/* Readjust the selected index */
|
||||||
if ((iItem == infoPtr->iSelected) && (iItem > 0))
|
if ((iItem == infoPtr->iSelected) && (iItem > 0))
|
||||||
infoPtr->iSelected--;
|
infoPtr->iSelected--;
|
||||||
|
|
||||||
if (iItem < infoPtr->iSelected)
|
if (iItem < infoPtr->iSelected)
|
||||||
infoPtr->iSelected--;
|
infoPtr->iSelected--;
|
||||||
|
|
||||||
if (infoPtr->uNumItem == 0)
|
if (infoPtr->uNumItem == 0)
|
||||||
infoPtr->iSelected = -1;
|
infoPtr->iSelected = -1;
|
||||||
|
|
||||||
/* Reposition and repaint tabs */
|
/* Reposition and repaint tabs */
|
||||||
TAB_SetItemBounds(hwnd);
|
TAB_SetItemBounds(hwnd);
|
||||||
TAB_InvalidateTabArea(hwnd,infoPtr);
|
|
||||||
|
|
||||||
bResult = TRUE;
|
bResult = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
return bResult;
|
return bResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
static LRESULT
|
static LRESULT
|
||||||
TAB_DeleteAllItems (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
TAB_DeleteAllItems (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
TAB_INFO *infoPtr = TAB_GetInfoPtr(hwnd);
|
TAB_INFO *infoPtr = TAB_GetInfoPtr(hwnd);
|
||||||
|
|
||||||
|
TAB_InvalidateTabArea(hwnd,infoPtr);
|
||||||
|
|
||||||
Free (infoPtr->items);
|
Free (infoPtr->items);
|
||||||
infoPtr->uNumItem = 0;
|
infoPtr->uNumItem = 0;
|
||||||
infoPtr->iSelected = -1;
|
infoPtr->iSelected = -1;
|
||||||
if (infoPtr->iHotTracked >= 0)
|
if (infoPtr->iHotTracked >= 0)
|
||||||
KillTimer(hwnd, TAB_HOTTRACK_TIMER);
|
KillTimer(hwnd, TAB_HOTTRACK_TIMER);
|
||||||
infoPtr->iHotTracked = -1;
|
infoPtr->iHotTracked = -1;
|
||||||
|
|
||||||
TAB_SetItemBounds(hwnd);
|
TAB_SetItemBounds(hwnd);
|
||||||
TAB_InvalidateTabArea(hwnd,infoPtr);
|
return TRUE;
|
||||||
return TRUE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2966,7 +3016,7 @@ TAB_Create (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||||
infoPtr->needsScrolling = FALSE;
|
infoPtr->needsScrolling = FALSE;
|
||||||
infoPtr->hwndUpDown = 0;
|
infoPtr->hwndUpDown = 0;
|
||||||
infoPtr->leftmostVisible = 0;
|
infoPtr->leftmostVisible = 0;
|
||||||
infoPtr->fSizeSet = FALSE;
|
infoPtr->fHeightSet = FALSE;
|
||||||
infoPtr->bUnicode = IsWindowUnicode (hwnd);
|
infoPtr->bUnicode = IsWindowUnicode (hwnd);
|
||||||
|
|
||||||
TRACE("Created tab control, hwnd [%p]\n", hwnd);
|
TRACE("Created tab control, hwnd [%p]\n", hwnd);
|
||||||
|
@ -3019,8 +3069,7 @@ TAB_Create (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||||
|
|
||||||
/* Initialize the width of a tab. */
|
/* Initialize the width of a tab. */
|
||||||
infoPtr->tabWidth = DEFAULT_TAB_WIDTH;
|
infoPtr->tabWidth = DEFAULT_TAB_WIDTH;
|
||||||
/* The minimum width is the default width at creation */
|
infoPtr->tabMinWidth = 0;
|
||||||
infoPtr->tabMinWidth = DEFAULT_TAB_WIDTH;
|
|
||||||
|
|
||||||
TRACE("tabH=%d, tabW=%d\n", infoPtr->tabHeight, infoPtr->tabWidth);
|
TRACE("tabH=%d, tabW=%d\n", infoPtr->tabHeight, infoPtr->tabWidth);
|
||||||
|
|
||||||
|
|
|
@ -176,6 +176,12 @@ typedef struct
|
||||||
WCHAR text[64];
|
WCHAR text[64];
|
||||||
} CUSTOMBUTTON, *PCUSTOMBUTTON;
|
} CUSTOMBUTTON, *PCUSTOMBUTTON;
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
IMAGE_LIST_DEFAULT,
|
||||||
|
IMAGE_LIST_HOT,
|
||||||
|
IMAGE_LIST_DISABLED
|
||||||
|
} IMAGE_LIST_TYPE;
|
||||||
|
|
||||||
#define SEPARATOR_WIDTH 8
|
#define SEPARATOR_WIDTH 8
|
||||||
#define TOP_BORDER 2
|
#define TOP_BORDER 2
|
||||||
|
@ -364,12 +370,11 @@ TOOLBAR_IsValidBitmapIndex(TOOLBAR_INFO *infoPtr, INT index)
|
||||||
* function. It returns TRUE if the image was drawn, FALSE otherwise.
|
* function. It returns TRUE if the image was drawn, FALSE otherwise.
|
||||||
*/
|
*/
|
||||||
static BOOL
|
static BOOL
|
||||||
TOOLBAR_DrawImageList (TOOLBAR_INFO *infoPtr, TBUTTON_INFO *btnPtr, HIMAGELIST himl,
|
TOOLBAR_DrawImageList (TOOLBAR_INFO *infoPtr, TBUTTON_INFO *btnPtr, IMAGE_LIST_TYPE imagelist,
|
||||||
HDC hdc, UINT left, UINT top, UINT draw_flags)
|
HDC hdc, UINT left, UINT top, UINT draw_flags)
|
||||||
{
|
{
|
||||||
INT index;
|
INT index;
|
||||||
|
HIMAGELIST himl;
|
||||||
if (!himl) return FALSE;
|
|
||||||
|
|
||||||
if (!TOOLBAR_IsValidBitmapIndex(infoPtr,btnPtr->iBitmap)) {
|
if (!TOOLBAR_IsValidBitmapIndex(infoPtr,btnPtr->iBitmap)) {
|
||||||
if (btnPtr->iBitmap == I_IMAGENONE) return FALSE;
|
if (btnPtr->iBitmap == I_IMAGENONE) return FALSE;
|
||||||
|
@ -385,6 +390,29 @@ TOOLBAR_DrawImageList (TOOLBAR_INFO *infoPtr, TBUTTON_INFO *btnPtr, HIMAGELIST h
|
||||||
index);
|
index);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
switch(imagelist)
|
||||||
|
{
|
||||||
|
case IMAGE_LIST_DEFAULT:
|
||||||
|
himl = GETDEFIMAGELIST(infoPtr, GETHIMLID(infoPtr, btnPtr->iBitmap));
|
||||||
|
break;
|
||||||
|
case IMAGE_LIST_HOT:
|
||||||
|
himl = GETHOTIMAGELIST(infoPtr, GETHIMLID(infoPtr, btnPtr->iBitmap));
|
||||||
|
break;
|
||||||
|
case IMAGE_LIST_DISABLED:
|
||||||
|
himl = GETDISIMAGELIST(infoPtr, GETHIMLID(infoPtr, btnPtr->iBitmap));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
himl = NULL;
|
||||||
|
FIXME("Shouldn't reach here\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!himl)
|
||||||
|
{
|
||||||
|
TRACE("no image list, returning FALSE\n");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
TRACE("drawing index=%d, himl=%p, left=%d, top=%d, flags=%08x\n",
|
TRACE("drawing index=%d, himl=%p, left=%d, top=%d, flags=%08x\n",
|
||||||
index, himl, left, top, draw_flags);
|
index, himl, left, top, draw_flags);
|
||||||
|
|
||||||
|
@ -524,31 +552,32 @@ TOOLBAR_DrawArrow (HDC hdc, INT left, INT top, INT colorRef)
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
TOOLBAR_DrawString (TOOLBAR_INFO *infoPtr, TBUTTON_INFO *btnPtr,
|
TOOLBAR_DrawString (TOOLBAR_INFO *infoPtr, TBUTTON_INFO *btnPtr,
|
||||||
HDC hdc, INT nState, DWORD dwStyle,
|
HDC hdc, DWORD dwStyle,
|
||||||
RECT *rcText, LPWSTR lpText, NMTBCUSTOMDRAW *tbcd)
|
RECT *rcText, LPWSTR lpText, NMTBCUSTOMDRAW *tbcd)
|
||||||
{
|
{
|
||||||
HFONT hOldFont = 0;
|
HFONT hOldFont = 0;
|
||||||
COLORREF clrOld = 0;
|
COLORREF clrOld = 0;
|
||||||
|
UINT state = tbcd->nmcd.uItemState;
|
||||||
|
|
||||||
/* draw text */
|
/* draw text */
|
||||||
if (lpText) {
|
if (lpText) {
|
||||||
TRACE("string rect=(%ld,%ld)-(%ld,%ld)\n",
|
TRACE("string=%s rect=(%ld,%ld)-(%ld,%ld)\n", debugstr_w(lpText),
|
||||||
rcText->left, rcText->top, rcText->right, rcText->bottom);
|
rcText->left, rcText->top, rcText->right, rcText->bottom);
|
||||||
|
|
||||||
hOldFont = SelectObject (hdc, infoPtr->hFont);
|
hOldFont = SelectObject (hdc, infoPtr->hFont);
|
||||||
if (!(nState & TBSTATE_ENABLED)) {
|
if ((state & CDIS_HOT) && (infoPtr->dwItemCDFlag & TBCDRF_HILITEHOTTRACK )) {
|
||||||
|
clrOld = SetTextColor (hdc, tbcd->clrTextHighlight);
|
||||||
|
}
|
||||||
|
else if (state & CDIS_DISABLED) {
|
||||||
clrOld = SetTextColor (hdc, tbcd->clrBtnHighlight);
|
clrOld = SetTextColor (hdc, tbcd->clrBtnHighlight);
|
||||||
OffsetRect (rcText, 1, 1);
|
OffsetRect (rcText, 1, 1);
|
||||||
DrawTextW (hdc, lpText, -1, rcText, infoPtr->dwDTFlags);
|
DrawTextW (hdc, lpText, -1, rcText, infoPtr->dwDTFlags);
|
||||||
SetTextColor (hdc, comctl32_color.clr3dShadow);
|
SetTextColor (hdc, comctl32_color.clr3dShadow);
|
||||||
OffsetRect (rcText, -1, -1);
|
OffsetRect (rcText, -1, -1);
|
||||||
}
|
}
|
||||||
else if (nState & TBSTATE_INDETERMINATE) {
|
else if (state & CDIS_INDETERMINATE) {
|
||||||
clrOld = SetTextColor (hdc, comctl32_color.clr3dShadow);
|
clrOld = SetTextColor (hdc, comctl32_color.clr3dShadow);
|
||||||
}
|
}
|
||||||
else if (btnPtr->bHot && (infoPtr->dwItemCDFlag & TBCDRF_HILITEHOTTRACK )) {
|
|
||||||
clrOld = SetTextColor (hdc, tbcd->clrTextHighlight);
|
|
||||||
}
|
|
||||||
else {
|
else {
|
||||||
clrOld = SetTextColor (hdc, tbcd->clrText);
|
clrOld = SetTextColor (hdc, tbcd->clrText);
|
||||||
}
|
}
|
||||||
|
@ -636,7 +665,6 @@ TOOLBAR_DrawButton (HWND hwnd, TBUTTON_INFO *btnPtr, HDC hdc)
|
||||||
NMTBCUSTOMDRAW tbcd;
|
NMTBCUSTOMDRAW tbcd;
|
||||||
DWORD ntfret;
|
DWORD ntfret;
|
||||||
INT offset;
|
INT offset;
|
||||||
HIMAGELIST himlDef;
|
|
||||||
|
|
||||||
if (btnPtr->fsState & TBSTATE_HIDDEN)
|
if (btnPtr->fsState & TBSTATE_HIDDEN)
|
||||||
return;
|
return;
|
||||||
|
@ -734,6 +762,10 @@ TOOLBAR_DrawButton (HWND hwnd, TBUTTON_INFO *btnPtr, HDC hdc)
|
||||||
tbcd.rcText.top = 0;
|
tbcd.rcText.top = 0;
|
||||||
tbcd.rcText.right = rcText.right - rc.left;
|
tbcd.rcText.right = rcText.right - rc.left;
|
||||||
tbcd.rcText.bottom = rcText.bottom - rc.top;
|
tbcd.rcText.bottom = rcText.bottom - rc.top;
|
||||||
|
/* we use this state later on to decide how to draw the buttons */
|
||||||
|
/* NOTE: applications can and do alter this to customize their */
|
||||||
|
/* toolbars */
|
||||||
|
tbcd.nmcd.uItemState = TOOLBAR_TranslateState(btnPtr);
|
||||||
|
|
||||||
/* FIXME: what should these be set to ????? */
|
/* FIXME: what should these be set to ????? */
|
||||||
tbcd.hbrMonoDither = 0;
|
tbcd.hbrMonoDither = 0;
|
||||||
|
@ -749,7 +781,6 @@ TOOLBAR_DrawButton (HWND hwnd, TBUTTON_INFO *btnPtr, HDC hdc)
|
||||||
tbcd.nmcd.hdc = hdc;
|
tbcd.nmcd.hdc = hdc;
|
||||||
tbcd.nmcd.rc = rc;
|
tbcd.nmcd.rc = rc;
|
||||||
tbcd.nmcd.dwItemSpec = btnPtr->idCommand;
|
tbcd.nmcd.dwItemSpec = btnPtr->idCommand;
|
||||||
tbcd.nmcd.uItemState = TOOLBAR_TranslateState(btnPtr);
|
|
||||||
tbcd.nmcd.lItemlParam = btnPtr->dwData;
|
tbcd.nmcd.lItemlParam = btnPtr->dwData;
|
||||||
ntfret = TOOLBAR_SendNotify ((NMHDR *)&tbcd, infoPtr, NM_CUSTOMDRAW);
|
ntfret = TOOLBAR_SendNotify ((NMHDR *)&tbcd, infoPtr, NM_CUSTOMDRAW);
|
||||||
infoPtr->dwItemCustDraw = ntfret & 0xffff;
|
infoPtr->dwItemCustDraw = ntfret & 0xffff;
|
||||||
|
@ -784,12 +815,31 @@ TOOLBAR_DrawButton (HWND hwnd, TBUTTON_INFO *btnPtr, HDC hdc)
|
||||||
goto FINALNOTIFY;
|
goto FINALNOTIFY;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Determine index of image list */
|
if ((dwStyle & TBSTYLE_FLAT) && (tbcd.nmcd.uItemState & CDIS_HOT))
|
||||||
himlDef = GETDEFIMAGELIST(infoPtr, GETHIMLID(infoPtr, btnPtr->iBitmap));
|
{
|
||||||
|
if ( infoPtr->dwItemCDFlag & TBCDRF_HILITEHOTTRACK )
|
||||||
|
{
|
||||||
|
COLORREF oldclr;
|
||||||
|
|
||||||
|
oldclr = SetBkColor(hdc, tbcd.clrHighlightHotTrack);
|
||||||
|
ExtTextOutA(hdc, 0, 0, ETO_OPAQUE, &rc, NULL, 0, 0);
|
||||||
|
if (hasDropDownArrow)
|
||||||
|
ExtTextOutA(hdc, 0, 0, ETO_OPAQUE, &rcArrow, NULL, 0, 0);
|
||||||
|
SetBkColor(hdc, oldclr);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!(tbcd.nmcd.uItemState & CDIS_DISABLED) && !(infoPtr->dwItemCDFlag & TBCDRF_NOEDGES))
|
||||||
|
{
|
||||||
|
DrawEdge (hdc, &rc, BDR_RAISEDINNER, BF_RECT);
|
||||||
|
if (hasDropDownArrow)
|
||||||
|
DrawEdge (hdc, &rcArrow, BDR_RAISEDINNER, BF_RECT);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* disabled */
|
/* disabled */
|
||||||
if (!(btnPtr->fsState & TBSTATE_ENABLED)) {
|
if (tbcd.nmcd.uItemState & CDIS_DISABLED) {
|
||||||
HIMAGELIST himlDis = GETDISIMAGELIST(infoPtr, GETHIMLID(infoPtr, btnPtr->iBitmap));
|
|
||||||
if (!(dwStyle & TBSTYLE_FLAT) && !(infoPtr->dwItemCDFlag & TBCDRF_NOEDGES))
|
if (!(dwStyle & TBSTYLE_FLAT) && !(infoPtr->dwItemCDFlag & TBCDRF_NOEDGES))
|
||||||
{
|
{
|
||||||
DrawEdge (hdc, &rc, EDGE_RAISED,
|
DrawEdge (hdc, &rc, EDGE_RAISED,
|
||||||
|
@ -805,17 +855,17 @@ TOOLBAR_DrawButton (HWND hwnd, TBUTTON_INFO *btnPtr, HDC hdc)
|
||||||
TOOLBAR_DrawArrow(hdc, rcArrow.left, rcArrow.top + (rcArrow.bottom - rcArrow.top - ARROW_HEIGHT) / 2, COLOR_3DSHADOW);
|
TOOLBAR_DrawArrow(hdc, rcArrow.left, rcArrow.top + (rcArrow.bottom - rcArrow.top - ARROW_HEIGHT) / 2, COLOR_3DSHADOW);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!TOOLBAR_DrawImageList (infoPtr, btnPtr, himlDis,
|
if (!TOOLBAR_DrawImageList (infoPtr, btnPtr, IMAGE_LIST_DISABLED,
|
||||||
hdc, rcBitmap.left, rcBitmap.top,
|
hdc, rcBitmap.left, rcBitmap.top,
|
||||||
ILD_NORMAL))
|
ILD_NORMAL))
|
||||||
TOOLBAR_DrawMasked (infoPtr, btnPtr, hdc, rcBitmap.left, rcBitmap.top);
|
TOOLBAR_DrawMasked (infoPtr, btnPtr, hdc, rcBitmap.left, rcBitmap.top);
|
||||||
|
|
||||||
TOOLBAR_DrawString (infoPtr, btnPtr, hdc, btnPtr->fsState, dwStyle, &rcText, lpText, &tbcd);
|
TOOLBAR_DrawString (infoPtr, btnPtr, hdc, dwStyle, &rcText, lpText, &tbcd);
|
||||||
goto FINALNOTIFY;
|
goto FINALNOTIFY;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* pressed TBSTYLE_BUTTON */
|
/* pressed TBSTYLE_BUTTON */
|
||||||
if (btnPtr->fsState & TBSTATE_PRESSED) {
|
if (tbcd.nmcd.uItemState & CDIS_SELECTED) {
|
||||||
offset = (infoPtr->dwItemCDFlag & TBCDRF_NOOFFSET) ? 0 : 1;
|
offset = (infoPtr->dwItemCDFlag & TBCDRF_NOOFFSET) ? 0 : 1;
|
||||||
if (!(infoPtr->dwItemCDFlag & TBCDRF_NOEDGES))
|
if (!(infoPtr->dwItemCDFlag & TBCDRF_NOEDGES))
|
||||||
{
|
{
|
||||||
|
@ -836,17 +886,17 @@ TOOLBAR_DrawButton (HWND hwnd, TBUTTON_INFO *btnPtr, HDC hdc)
|
||||||
if (hasDropDownArrow)
|
if (hasDropDownArrow)
|
||||||
TOOLBAR_DrawArrow(hdc, rcArrow.left, rcArrow.top + (rcArrow.bottom - rcArrow.top - ARROW_HEIGHT) / 2, COLOR_WINDOWFRAME);
|
TOOLBAR_DrawArrow(hdc, rcArrow.left, rcArrow.top + (rcArrow.bottom - rcArrow.top - ARROW_HEIGHT) / 2, COLOR_WINDOWFRAME);
|
||||||
|
|
||||||
TOOLBAR_DrawImageList (infoPtr, btnPtr, himlDef,
|
TOOLBAR_DrawImageList (infoPtr, btnPtr, IMAGE_LIST_DEFAULT,
|
||||||
hdc, rcBitmap.left+offset, rcBitmap.top+offset,
|
hdc, rcBitmap.left+offset, rcBitmap.top+offset,
|
||||||
ILD_NORMAL);
|
ILD_NORMAL);
|
||||||
|
|
||||||
TOOLBAR_DrawString (infoPtr, btnPtr, hdc, btnPtr->fsState, dwStyle, &rcText, lpText, &tbcd);
|
TOOLBAR_DrawString (infoPtr, btnPtr, hdc, dwStyle, &rcText, lpText, &tbcd);
|
||||||
goto FINALNOTIFY;
|
goto FINALNOTIFY;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* checked TBSTYLE_CHECK */
|
/* checked TBSTYLE_CHECK */
|
||||||
if ((btnPtr->fsStyle & TBSTYLE_CHECK) &&
|
if ((tbcd.nmcd.uItemState & CDIS_CHECKED) &&
|
||||||
(btnPtr->fsState & TBSTATE_CHECKED)) {
|
(btnPtr->fsStyle & TBSTYLE_CHECK)) {
|
||||||
if (!(infoPtr->dwItemCDFlag & TBCDRF_NOEDGES))
|
if (!(infoPtr->dwItemCDFlag & TBCDRF_NOEDGES))
|
||||||
{
|
{
|
||||||
if (dwStyle & TBSTYLE_FLAT)
|
if (dwStyle & TBSTYLE_FLAT)
|
||||||
|
@ -859,80 +909,45 @@ TOOLBAR_DrawButton (HWND hwnd, TBUTTON_INFO *btnPtr, HDC hdc)
|
||||||
|
|
||||||
TOOLBAR_DrawPattern (hdc, &rc);
|
TOOLBAR_DrawPattern (hdc, &rc);
|
||||||
|
|
||||||
TOOLBAR_DrawImageList (infoPtr, btnPtr, himlDef,
|
TOOLBAR_DrawImageList (infoPtr, btnPtr, IMAGE_LIST_DEFAULT,
|
||||||
hdc, rcBitmap.left+1, rcBitmap.top+1,
|
hdc, rcBitmap.left+1, rcBitmap.top+1,
|
||||||
ILD_NORMAL);
|
ILD_NORMAL);
|
||||||
|
|
||||||
TOOLBAR_DrawString (infoPtr, btnPtr, hdc, btnPtr->fsState, dwStyle, &rcText, lpText, &tbcd);
|
TOOLBAR_DrawString (infoPtr, btnPtr, hdc, dwStyle, &rcText, lpText, &tbcd);
|
||||||
goto FINALNOTIFY;
|
goto FINALNOTIFY;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* indeterminate */
|
/* indeterminate */
|
||||||
if (btnPtr->fsState & TBSTATE_INDETERMINATE) {
|
if (tbcd.nmcd.uItemState & CDIS_INDETERMINATE) {
|
||||||
if (!(infoPtr->dwItemCDFlag & TBCDRF_NOEDGES))
|
if (!(infoPtr->dwItemCDFlag & TBCDRF_NOEDGES))
|
||||||
DrawEdge (hdc, &rc, EDGE_RAISED,
|
DrawEdge (hdc, &rc, EDGE_RAISED,
|
||||||
BF_SOFT | BF_RECT | BF_MIDDLE | BF_ADJUST);
|
BF_SOFT | BF_RECT | BF_MIDDLE | BF_ADJUST);
|
||||||
|
|
||||||
TOOLBAR_DrawPattern (hdc, &rc);
|
TOOLBAR_DrawPattern (hdc, &rc);
|
||||||
TOOLBAR_DrawMasked (infoPtr, btnPtr, hdc, rcBitmap.left, rcBitmap.top);
|
TOOLBAR_DrawMasked (infoPtr, btnPtr, hdc, rcBitmap.left, rcBitmap.top);
|
||||||
TOOLBAR_DrawString (infoPtr, btnPtr, hdc, btnPtr->fsState, dwStyle, &rcText, lpText, &tbcd);
|
TOOLBAR_DrawString (infoPtr, btnPtr, hdc, dwStyle, &rcText, lpText, &tbcd);
|
||||||
goto FINALNOTIFY;
|
goto FINALNOTIFY;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* normal state */
|
/* normal state */
|
||||||
if (dwStyle & TBSTYLE_FLAT)
|
if (dwStyle & TBSTYLE_FLAT)
|
||||||
{
|
{
|
||||||
if (btnPtr->bHot)
|
|
||||||
{
|
|
||||||
if ( infoPtr->dwItemCDFlag & TBCDRF_HILITEHOTTRACK )
|
|
||||||
{
|
|
||||||
COLORREF oldclr;
|
|
||||||
|
|
||||||
oldclr = SetBkColor(hdc, tbcd.clrHighlightHotTrack);
|
|
||||||
ExtTextOutA(hdc, 0, 0, ETO_OPAQUE, &rc, NULL, 0, 0);
|
|
||||||
if (hasDropDownArrow)
|
|
||||||
ExtTextOutA(hdc, 0, 0, ETO_OPAQUE, &rcArrow, NULL, 0, 0);
|
|
||||||
SetBkColor(hdc, oldclr);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (!(infoPtr->dwItemCDFlag & TBCDRF_NOEDGES))
|
|
||||||
{
|
|
||||||
DrawEdge (hdc, &rc, BDR_RAISEDINNER, BF_RECT);
|
|
||||||
if (hasDropDownArrow)
|
|
||||||
DrawEdge (hdc, &rcArrow, BDR_RAISEDINNER, BF_RECT);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#if 1
|
|
||||||
else /* The following code needs to be removed after
|
|
||||||
* "hot item" support has been implemented for the
|
|
||||||
* case where it is being de-selected.
|
|
||||||
*/
|
|
||||||
{
|
|
||||||
FrameRect(hdc, &rc, GetSysColorBrush(COLOR_BTNFACE));
|
|
||||||
if (hasDropDownArrow)
|
|
||||||
FrameRect(hdc, &rcArrow, GetSysColorBrush(COLOR_BTNFACE));
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (hasDropDownArrow)
|
if (hasDropDownArrow)
|
||||||
TOOLBAR_DrawArrow(hdc, rcArrow.left+1, rcArrow.top + (rcArrow.bottom - rcArrow.top - ARROW_HEIGHT) / 2, COLOR_WINDOWFRAME);
|
TOOLBAR_DrawArrow(hdc, rcArrow.left+1, rcArrow.top + (rcArrow.bottom - rcArrow.top - ARROW_HEIGHT) / 2, COLOR_WINDOWFRAME);
|
||||||
|
|
||||||
if (btnPtr->bHot) {
|
if (tbcd.nmcd.uItemState & CDIS_HOT) {
|
||||||
HIMAGELIST himlHot = GETHOTIMAGELIST(infoPtr,
|
/* if hot, attempt to draw with hot image list, if fails,
|
||||||
GETHIMLID(infoPtr, btnPtr->iBitmap));
|
use default image list */
|
||||||
/* if hot, attempt to draw with himlHot, if fails, use himlDef */
|
|
||||||
if (!TOOLBAR_DrawImageList (infoPtr, btnPtr,
|
if (!TOOLBAR_DrawImageList (infoPtr, btnPtr,
|
||||||
himlHot,
|
IMAGE_LIST_HOT,
|
||||||
hdc, rcBitmap.left,
|
hdc, rcBitmap.left,
|
||||||
rcBitmap.top, ILD_NORMAL))
|
rcBitmap.top, ILD_NORMAL))
|
||||||
TOOLBAR_DrawImageList (infoPtr, btnPtr, himlDef,
|
TOOLBAR_DrawImageList (infoPtr, btnPtr, IMAGE_LIST_DEFAULT,
|
||||||
hdc, rcBitmap.left, rcBitmap.top,
|
hdc, rcBitmap.left, rcBitmap.top,
|
||||||
ILD_NORMAL);
|
ILD_NORMAL);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
TOOLBAR_DrawImageList (infoPtr, btnPtr, himlDef,
|
TOOLBAR_DrawImageList (infoPtr, btnPtr, IMAGE_LIST_DEFAULT,
|
||||||
hdc, rcBitmap.left, rcBitmap.top,
|
hdc, rcBitmap.left, rcBitmap.top,
|
||||||
ILD_NORMAL);
|
ILD_NORMAL);
|
||||||
}
|
}
|
||||||
|
@ -950,12 +965,13 @@ TOOLBAR_DrawButton (HWND hwnd, TBUTTON_INFO *btnPtr, HDC hdc)
|
||||||
TOOLBAR_DrawArrow(hdc, rcArrow.left, rcArrow.top + (rcArrow.bottom - rcArrow.top - ARROW_HEIGHT) / 2, COLOR_WINDOWFRAME);
|
TOOLBAR_DrawArrow(hdc, rcArrow.left, rcArrow.top + (rcArrow.bottom - rcArrow.top - ARROW_HEIGHT) / 2, COLOR_WINDOWFRAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
TOOLBAR_DrawImageList (infoPtr, btnPtr, himlDef,
|
TOOLBAR_DrawImageList (infoPtr, btnPtr, IMAGE_LIST_DEFAULT,
|
||||||
hdc, rcBitmap.left, rcBitmap.top,
|
hdc, rcBitmap.left, rcBitmap.top,
|
||||||
ILD_NORMAL);}
|
ILD_NORMAL);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
TOOLBAR_DrawString (infoPtr, btnPtr, hdc, btnPtr->fsState, dwStyle, &rcText, lpText, &tbcd);
|
TOOLBAR_DrawString (infoPtr, btnPtr, hdc, dwStyle, &rcText, lpText, &tbcd);
|
||||||
|
|
||||||
FINALNOTIFY:
|
FINALNOTIFY:
|
||||||
if (infoPtr->dwItemCustDraw & CDRF_NOTIFYPOSTPAINT)
|
if (infoPtr->dwItemCustDraw & CDRF_NOTIFYPOSTPAINT)
|
||||||
|
@ -2716,11 +2732,15 @@ TOOLBAR_AutoSize (HWND hwnd)
|
||||||
cy = infoPtr->nHeight;
|
cy = infoPtr->nHeight;
|
||||||
cx = infoPtr->nWidth;
|
cx = infoPtr->nWidth;
|
||||||
|
|
||||||
if (dwStyle & CCS_NOMOVEY) {
|
if ((dwStyle & CCS_BOTTOM) == CCS_NOMOVEY) {
|
||||||
GetWindowRect(hwnd, &window_rect);
|
GetWindowRect(hwnd, &window_rect);
|
||||||
ScreenToClient(parent, (LPPOINT)&window_rect.left);
|
ScreenToClient(parent, (LPPOINT)&window_rect.left);
|
||||||
y = window_rect.top;
|
y = window_rect.top;
|
||||||
}
|
}
|
||||||
|
if ((dwStyle & CCS_BOTTOM) == CCS_BOTTOM) {
|
||||||
|
GetWindowRect(hwnd, &window_rect);
|
||||||
|
y = parent_rect.bottom - ( window_rect.bottom - window_rect.top);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dwStyle & CCS_NOPARENTALIGN)
|
if (dwStyle & CCS_NOPARENTALIGN)
|
||||||
|
@ -2737,10 +2757,9 @@ TOOLBAR_AutoSize (HWND hwnd)
|
||||||
}
|
}
|
||||||
|
|
||||||
infoPtr->bAutoSize = TRUE;
|
infoPtr->bAutoSize = TRUE;
|
||||||
SetWindowPos (hwnd, HWND_TOP, parent_rect.left - x, parent_rect.top - y,
|
SetWindowPos (hwnd, HWND_TOP, x, y, cx, cy, uPosFlags);
|
||||||
cx, cy, uPosFlags);
|
/* The following line makes sure that the infoPtr->bAutoSize is turned off
|
||||||
/* The following line makes sure that the infoPtr->bAutoSize is turned off after
|
* after the setwindowpos calls */
|
||||||
* the setwindowpos calls */
|
|
||||||
infoPtr->bAutoSize = FALSE;
|
infoPtr->bAutoSize = FALSE;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -2780,6 +2799,8 @@ TOOLBAR_ChangeBitmap (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||||
TBUTTON_INFO *btnPtr;
|
TBUTTON_INFO *btnPtr;
|
||||||
INT nIndex;
|
INT nIndex;
|
||||||
|
|
||||||
|
TRACE("button %d, iBitmap now %d\n", wParam, LOWORD(lParam));
|
||||||
|
|
||||||
nIndex = TOOLBAR_GetButtonIndex (infoPtr, (INT)wParam, FALSE);
|
nIndex = TOOLBAR_GetButtonIndex (infoPtr, (INT)wParam, FALSE);
|
||||||
if (nIndex == -1)
|
if (nIndex == -1)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -4227,6 +4248,8 @@ TOOLBAR_SetHotImageList (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||||
if (infoPtr->iVersion >= 5)
|
if (infoPtr->iVersion >= 5)
|
||||||
id = wParam;
|
id = wParam;
|
||||||
|
|
||||||
|
TRACE("hwnd = %p, himl = %p, id = %d\n", hwnd, himl, id);
|
||||||
|
|
||||||
himlTemp = TOOLBAR_InsertImageList(&infoPtr->himlHot,
|
himlTemp = TOOLBAR_InsertImageList(&infoPtr->himlHot,
|
||||||
&infoPtr->cimlHot, himl, id);
|
&infoPtr->cimlHot, himl, id);
|
||||||
|
|
||||||
|
@ -5170,10 +5193,9 @@ TOOLBAR_MouseMove (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||||
|
|
||||||
if (infoPtr->nOldHit != nHit)
|
if (infoPtr->nOldHit != nHit)
|
||||||
{
|
{
|
||||||
/* Remove the effect of an old hot button if the button was enabled and was
|
/* Remove the effect of an old hot button if the button was
|
||||||
drawn with the hot button effect */
|
drawn with the hot button effect */
|
||||||
if(infoPtr->nOldHit >= 0 && infoPtr->nOldHit == infoPtr->nHotItem &&
|
if(infoPtr->nOldHit >= 0 && infoPtr->nOldHit == infoPtr->nHotItem)
|
||||||
(infoPtr->buttons[infoPtr->nOldHit].fsState & TBSTATE_ENABLED))
|
|
||||||
{
|
{
|
||||||
oldBtnPtr = &infoPtr->buttons[infoPtr->nOldHit];
|
oldBtnPtr = &infoPtr->buttons[infoPtr->nOldHit];
|
||||||
oldBtnPtr->bHot = FALSE;
|
oldBtnPtr->bHot = FALSE;
|
||||||
|
@ -5186,11 +5208,7 @@ TOOLBAR_MouseMove (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||||
|
|
||||||
infoPtr->nHotItem = nHit;
|
infoPtr->nHotItem = nHit;
|
||||||
|
|
||||||
/* only enabled buttons show hot effect */
|
btnPtr->bHot = TRUE;
|
||||||
if(infoPtr->buttons[nHit].fsState & TBSTATE_ENABLED)
|
|
||||||
{
|
|
||||||
btnPtr->bHot = TRUE;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
nmhotitem.dwFlags = HICF_MOUSE;
|
nmhotitem.dwFlags = HICF_MOUSE;
|
||||||
|
@ -5208,7 +5226,7 @@ TOOLBAR_MouseMove (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||||
if (oldBtnPtr)
|
if (oldBtnPtr)
|
||||||
InvalidateRect (hwnd, &oldBtnPtr->rect,
|
InvalidateRect (hwnd, &oldBtnPtr->rect,
|
||||||
TOOLBAR_HasText(infoPtr, oldBtnPtr));
|
TOOLBAR_HasText(infoPtr, oldBtnPtr));
|
||||||
if (btnPtr && (btnPtr->fsState & TBSTATE_ENABLED))
|
if (btnPtr)
|
||||||
InvalidateRect(hwnd, &btnPtr->rect,
|
InvalidateRect(hwnd, &btnPtr->rect,
|
||||||
TOOLBAR_HasText(infoPtr, btnPtr));
|
TOOLBAR_HasText(infoPtr, btnPtr));
|
||||||
|
|
||||||
|
@ -5483,7 +5501,7 @@ TOOLBAR_SetRedraw (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||||
* According to testing V4.71 of COMCTL32 returns the
|
* According to testing V4.71 of COMCTL32 returns the
|
||||||
* *previous* status of the redraw flag (either 0 or 1)
|
* *previous* status of the redraw flag (either 0 or 1)
|
||||||
* instead of the MSDN documented value of 0 if handled.
|
* instead of the MSDN documented value of 0 if handled.
|
||||||
* (For laughs see the "consistancy" with same function
|
* (For laughs see the "consistency" with same function
|
||||||
* in rebar.)
|
* in rebar.)
|
||||||
*
|
*
|
||||||
*****************************************************/
|
*****************************************************/
|
||||||
|
@ -5558,11 +5576,16 @@ TOOLBAR_Size (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||||
cy = infoPtr->nHeight;
|
cy = infoPtr->nHeight;
|
||||||
cx = infoPtr->nWidth;
|
cx = infoPtr->nWidth;
|
||||||
|
|
||||||
if (dwStyle & CCS_NOMOVEY) {
|
if ((dwStyle & CCS_BOTTOM) == CCS_NOMOVEY) {
|
||||||
GetWindowRect(hwnd, &window_rect);
|
GetWindowRect(hwnd, &window_rect);
|
||||||
ScreenToClient(parent, (LPPOINT)&window_rect.left);
|
ScreenToClient(parent, (LPPOINT)&window_rect.left);
|
||||||
y = window_rect.top;
|
y = window_rect.top;
|
||||||
}
|
}
|
||||||
|
if ((dwStyle & CCS_BOTTOM) == CCS_BOTTOM) {
|
||||||
|
GetWindowRect(hwnd, &window_rect);
|
||||||
|
y = parent_rect.bottom -
|
||||||
|
( window_rect.bottom - window_rect.top);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dwStyle & CCS_NOPARENTALIGN) {
|
if (dwStyle & CCS_NOPARENTALIGN) {
|
||||||
|
@ -5581,8 +5604,7 @@ TOOLBAR_Size (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||||
cx += GetSystemMetrics(SM_CYEDGE);
|
cx += GetSystemMetrics(SM_CYEDGE);
|
||||||
}
|
}
|
||||||
|
|
||||||
SetWindowPos (hwnd, 0, parent_rect.left - x, parent_rect.top - y,
|
SetWindowPos (hwnd, 0, x, y, cx, cy, uPosFlags | SWP_NOZORDER);
|
||||||
cx, cy, uPosFlags | SWP_NOZORDER);
|
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,16 +97,49 @@ typedef struct
|
||||||
#define TIC_SELECTIONMARKMIN 0x100
|
#define TIC_SELECTIONMARKMIN 0x100
|
||||||
#define TIC_SELECTIONMARK (TIC_SELECTIONMARKMAX | TIC_SELECTIONMARKMIN)
|
#define TIC_SELECTIONMARK (TIC_SELECTIONMARKMAX | TIC_SELECTIONMARKMIN)
|
||||||
|
|
||||||
static BOOL TRACKBAR_SendNotify (TRACKBAR_INFO *infoPtr, UINT code);
|
|
||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
notify_customdraw(NMCUSTOMDRAW *pnmcd, int stage)
|
notify_customdraw(TRACKBAR_INFO *infoPtr, NMCUSTOMDRAW *pnmcd, int stage)
|
||||||
{
|
{
|
||||||
pnmcd->dwDrawStage = stage;
|
pnmcd->dwDrawStage = stage;
|
||||||
return SendMessageW (GetParent(pnmcd->hdr.hwndFrom), WM_NOTIFY,
|
return SendMessageW (infoPtr->hwndNotify, WM_NOTIFY,
|
||||||
pnmcd->hdr.idFrom, (LPARAM)pnmcd);
|
pnmcd->hdr.idFrom, (LPARAM)pnmcd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static LRESULT notify_hdr(TRACKBAR_INFO *infoPtr, INT code, LPNMHDR pnmh)
|
||||||
|
{
|
||||||
|
LRESULT result;
|
||||||
|
|
||||||
|
TRACE("(code=%d)\n", code);
|
||||||
|
|
||||||
|
pnmh->hwndFrom = infoPtr->hwndSelf;
|
||||||
|
pnmh->idFrom = GetWindowLongW(infoPtr->hwndSelf, GWL_ID);
|
||||||
|
pnmh->code = code;
|
||||||
|
result = SendMessageW(infoPtr->hwndNotify, WM_NOTIFY,
|
||||||
|
(WPARAM)pnmh->idFrom, (LPARAM)pnmh);
|
||||||
|
|
||||||
|
TRACE(" <= %ld\n", result);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int notify(TRACKBAR_INFO *infoPtr, INT code)
|
||||||
|
{
|
||||||
|
NMHDR nmh;
|
||||||
|
return notify_hdr(infoPtr, code, &nmh);
|
||||||
|
}
|
||||||
|
|
||||||
|
static BOOL
|
||||||
|
notify_with_scroll (TRACKBAR_INFO *infoPtr, UINT code)
|
||||||
|
{
|
||||||
|
BOOL bVert = GetWindowLongW (infoPtr->hwndSelf, GWL_STYLE) & TBS_VERT;
|
||||||
|
|
||||||
|
TRACE("%x\n", code);
|
||||||
|
|
||||||
|
return (BOOL) SendMessageW (infoPtr->hwndNotify,
|
||||||
|
bVert ? WM_VSCROLL : WM_HSCROLL,
|
||||||
|
(WPARAM)code, (LPARAM)infoPtr->hwndSelf);
|
||||||
|
}
|
||||||
|
|
||||||
static void TRACKBAR_RecalculateTics (TRACKBAR_INFO *infoPtr)
|
static void TRACKBAR_RecalculateTics (TRACKBAR_INFO *infoPtr)
|
||||||
{
|
{
|
||||||
int i, tic, nrTics;
|
int i, tic, nrTics;
|
||||||
|
@ -126,7 +159,7 @@ static void TRACKBAR_RecalculateTics (TRACKBAR_INFO *infoPtr)
|
||||||
(nrTics+1)*sizeof (DWORD));
|
(nrTics+1)*sizeof (DWORD));
|
||||||
if (!infoPtr->tics) {
|
if (!infoPtr->tics) {
|
||||||
infoPtr->uNumTics = 0;
|
infoPtr->uNumTics = 0;
|
||||||
TRACKBAR_SendNotify(infoPtr, NM_OUTOFMEMORY);
|
notify(infoPtr, NM_OUTOFMEMORY);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
infoPtr->uNumTics = nrTics;
|
infoPtr->uNumTics = nrTics;
|
||||||
|
@ -200,26 +233,44 @@ TRACKBAR_GetAutoPageDirection (TRACKBAR_INFO *infoPtr, POINT clickPoint)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void inline
|
static void inline
|
||||||
TRACKBAR_PageUp (TRACKBAR_INFO *infoPtr)
|
TRACKBAR_PageDown (TRACKBAR_INFO *infoPtr)
|
||||||
{
|
{
|
||||||
if (infoPtr->lPos == infoPtr->lRangeMax) return;
|
if (infoPtr->lPos == infoPtr->lRangeMax) return;
|
||||||
|
|
||||||
infoPtr->lPos += infoPtr->lPageSize;
|
infoPtr->lPos += infoPtr->lPageSize;
|
||||||
if (infoPtr->lPos > infoPtr->lRangeMax)
|
if (infoPtr->lPos > infoPtr->lRangeMax)
|
||||||
infoPtr->lPos = infoPtr->lRangeMax;
|
infoPtr->lPos = infoPtr->lRangeMax;
|
||||||
TRACKBAR_SendNotify (infoPtr, TB_PAGEUP);
|
notify_with_scroll (infoPtr, TB_PAGEDOWN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void inline
|
static void inline
|
||||||
TRACKBAR_PageDown (TRACKBAR_INFO *infoPtr)
|
TRACKBAR_PageUp (TRACKBAR_INFO *infoPtr)
|
||||||
{
|
{
|
||||||
if (infoPtr->lPos == infoPtr->lRangeMin) return;
|
if (infoPtr->lPos == infoPtr->lRangeMin) return;
|
||||||
|
|
||||||
infoPtr->lPos -= infoPtr->lPageSize;
|
infoPtr->lPos -= infoPtr->lPageSize;
|
||||||
if (infoPtr->lPos < infoPtr->lRangeMin)
|
if (infoPtr->lPos < infoPtr->lRangeMin)
|
||||||
infoPtr->lPos = infoPtr->lRangeMin;
|
infoPtr->lPos = infoPtr->lRangeMin;
|
||||||
TRACKBAR_SendNotify (infoPtr, TB_PAGEDOWN);
|
notify_with_scroll (infoPtr, TB_PAGEUP);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void inline TRACKBAR_LineUp(TRACKBAR_INFO *infoPtr)
|
||||||
|
{
|
||||||
|
if (infoPtr->lPos == infoPtr->lRangeMin) return;
|
||||||
|
infoPtr->lPos -= infoPtr->lLineSize;
|
||||||
|
if (infoPtr->lPos < infoPtr->lRangeMin)
|
||||||
|
infoPtr->lPos = infoPtr->lRangeMin;
|
||||||
|
notify_with_scroll (infoPtr, TB_LINEUP);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void inline TRACKBAR_LineDown(TRACKBAR_INFO *infoPtr)
|
||||||
|
{
|
||||||
|
if (infoPtr->lPos == infoPtr->lRangeMax) return;
|
||||||
|
infoPtr->lPos += infoPtr->lLineSize;
|
||||||
|
if (infoPtr->lPos > infoPtr->lRangeMax)
|
||||||
|
infoPtr->lPos = infoPtr->lRangeMax;
|
||||||
|
notify_with_scroll (infoPtr, TB_LINEDOWN);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -398,9 +449,9 @@ TRACKBAR_AutoPage (TRACKBAR_INFO *infoPtr, POINT clickPoint)
|
||||||
TRACE("x=%ld, y=%ld, dir=%ld\n", clickPoint.x, clickPoint.y, dir);
|
TRACE("x=%ld, y=%ld, dir=%ld\n", clickPoint.x, clickPoint.y, dir);
|
||||||
|
|
||||||
if (dir > 0 && (infoPtr->flags & TB_AUTO_PAGE_RIGHT))
|
if (dir > 0 && (infoPtr->flags & TB_AUTO_PAGE_RIGHT))
|
||||||
TRACKBAR_PageUp(infoPtr);
|
|
||||||
else if (dir < 0 && (infoPtr->flags & TB_AUTO_PAGE_LEFT))
|
|
||||||
TRACKBAR_PageDown(infoPtr);
|
TRACKBAR_PageDown(infoPtr);
|
||||||
|
else if (dir < 0 && (infoPtr->flags & TB_AUTO_PAGE_LEFT))
|
||||||
|
TRACKBAR_PageUp(infoPtr);
|
||||||
else return FALSE;
|
else return FALSE;
|
||||||
|
|
||||||
infoPtr->flags |= TB_THUMBPOSCHANGED;
|
infoPtr->flags |= TB_THUMBPOSCHANGED;
|
||||||
|
@ -763,15 +814,15 @@ TRACKBAR_Refresh (TRACKBAR_INFO *infoPtr, HDC hdcDst)
|
||||||
|
|
||||||
/* start the paint cycle */
|
/* start the paint cycle */
|
||||||
nmcd.rc = rcClient;
|
nmcd.rc = rcClient;
|
||||||
gcdrf = notify_customdraw(&nmcd, CDDS_PREPAINT);
|
gcdrf = notify_customdraw(infoPtr, &nmcd, CDDS_PREPAINT);
|
||||||
if (gcdrf & CDRF_SKIPDEFAULT) goto cleanup;
|
if (gcdrf & CDRF_SKIPDEFAULT) goto cleanup;
|
||||||
|
|
||||||
/* Erase backbround */
|
/* Erase backbround */
|
||||||
if (gcdrf == CDRF_DODEFAULT ||
|
if (gcdrf == CDRF_DODEFAULT ||
|
||||||
notify_customdraw(&nmcd, CDDS_PREERASE) != CDRF_SKIPDEFAULT) {
|
notify_customdraw(infoPtr, &nmcd, CDDS_PREERASE) != CDRF_SKIPDEFAULT) {
|
||||||
FillRect (hdc, &rcClient, GetSysColorBrush(COLOR_BTNFACE));
|
FillRect (hdc, &rcClient, GetSysColorBrush(COLOR_BTNFACE));
|
||||||
if (gcdrf != CDRF_DODEFAULT)
|
if (gcdrf != CDRF_DODEFAULT)
|
||||||
notify_customdraw(&nmcd, CDDS_POSTERASE);
|
notify_customdraw(infoPtr, &nmcd, CDDS_POSTERASE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* draw channel */
|
/* draw channel */
|
||||||
|
@ -779,12 +830,12 @@ TRACKBAR_Refresh (TRACKBAR_INFO *infoPtr, HDC hdcDst)
|
||||||
nmcd.dwItemSpec = TBCD_CHANNEL;
|
nmcd.dwItemSpec = TBCD_CHANNEL;
|
||||||
nmcd.uItemState = CDIS_DEFAULT;
|
nmcd.uItemState = CDIS_DEFAULT;
|
||||||
nmcd.rc = infoPtr->rcChannel;
|
nmcd.rc = infoPtr->rcChannel;
|
||||||
icdrf = notify_customdraw(&nmcd, CDDS_ITEMPREPAINT);
|
icdrf = notify_customdraw(infoPtr, &nmcd, CDDS_ITEMPREPAINT);
|
||||||
} else icdrf = CDRF_DODEFAULT;
|
} else icdrf = CDRF_DODEFAULT;
|
||||||
if ( !(icdrf & CDRF_SKIPDEFAULT) ) {
|
if ( !(icdrf & CDRF_SKIPDEFAULT) ) {
|
||||||
TRACKBAR_DrawChannel (infoPtr, hdc, dwStyle);
|
TRACKBAR_DrawChannel (infoPtr, hdc, dwStyle);
|
||||||
if (icdrf & CDRF_NOTIFYPOSTPAINT)
|
if (icdrf & CDRF_NOTIFYPOSTPAINT)
|
||||||
notify_customdraw(&nmcd, CDDS_ITEMPOSTPAINT);
|
notify_customdraw(infoPtr, &nmcd, CDDS_ITEMPOSTPAINT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -794,12 +845,12 @@ TRACKBAR_Refresh (TRACKBAR_INFO *infoPtr, HDC hdcDst)
|
||||||
nmcd.dwItemSpec = TBCD_TICS;
|
nmcd.dwItemSpec = TBCD_TICS;
|
||||||
nmcd.uItemState = CDIS_DEFAULT;
|
nmcd.uItemState = CDIS_DEFAULT;
|
||||||
nmcd.rc = rcClient;
|
nmcd.rc = rcClient;
|
||||||
icdrf = notify_customdraw(&nmcd, CDDS_ITEMPREPAINT);
|
icdrf = notify_customdraw(infoPtr, &nmcd, CDDS_ITEMPREPAINT);
|
||||||
} else icdrf = CDRF_DODEFAULT;
|
} else icdrf = CDRF_DODEFAULT;
|
||||||
if ( !(icdrf & CDRF_SKIPDEFAULT) ) {
|
if ( !(icdrf & CDRF_SKIPDEFAULT) ) {
|
||||||
TRACKBAR_DrawTics (infoPtr, hdc, dwStyle);
|
TRACKBAR_DrawTics (infoPtr, hdc, dwStyle);
|
||||||
if (icdrf & CDRF_NOTIFYPOSTPAINT)
|
if (icdrf & CDRF_NOTIFYPOSTPAINT)
|
||||||
notify_customdraw(&nmcd, CDDS_ITEMPOSTPAINT);
|
notify_customdraw(infoPtr, &nmcd, CDDS_ITEMPOSTPAINT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -809,12 +860,12 @@ TRACKBAR_Refresh (TRACKBAR_INFO *infoPtr, HDC hdcDst)
|
||||||
nmcd.dwItemSpec = TBCD_THUMB;
|
nmcd.dwItemSpec = TBCD_THUMB;
|
||||||
nmcd.uItemState = infoPtr->flags & TB_DRAG_MODE ? CDIS_HOT : CDIS_DEFAULT;
|
nmcd.uItemState = infoPtr->flags & TB_DRAG_MODE ? CDIS_HOT : CDIS_DEFAULT;
|
||||||
nmcd.rc = infoPtr->rcThumb;
|
nmcd.rc = infoPtr->rcThumb;
|
||||||
icdrf = notify_customdraw(&nmcd, CDDS_ITEMPREPAINT);
|
icdrf = notify_customdraw(infoPtr, &nmcd, CDDS_ITEMPREPAINT);
|
||||||
} else icdrf = CDRF_DODEFAULT;
|
} else icdrf = CDRF_DODEFAULT;
|
||||||
if ( !(icdrf & CDRF_SKIPDEFAULT) ) {
|
if ( !(icdrf & CDRF_SKIPDEFAULT) ) {
|
||||||
TRACKBAR_DrawThumb(infoPtr, hdc, dwStyle);
|
TRACKBAR_DrawThumb(infoPtr, hdc, dwStyle);
|
||||||
if (icdrf & CDRF_NOTIFYPOSTPAINT)
|
if (icdrf & CDRF_NOTIFYPOSTPAINT)
|
||||||
notify_customdraw(&nmcd, CDDS_ITEMPOSTPAINT);
|
notify_customdraw(infoPtr, &nmcd, CDDS_ITEMPOSTPAINT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -825,7 +876,7 @@ TRACKBAR_Refresh (TRACKBAR_INFO *infoPtr, HDC hdcDst)
|
||||||
|
|
||||||
/* finish up the painting */
|
/* finish up the painting */
|
||||||
if (gcdrf & CDRF_NOTIFYPOSTPAINT)
|
if (gcdrf & CDRF_NOTIFYPOSTPAINT)
|
||||||
notify_customdraw(&nmcd, CDDS_POSTPAINT);
|
notify_customdraw(infoPtr, &nmcd, CDDS_POSTPAINT);
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
/* cleanup, if we rendered offscreen */
|
/* cleanup, if we rendered offscreen */
|
||||||
|
@ -1196,7 +1247,7 @@ TRACKBAR_SetTic (TRACKBAR_INFO *infoPtr, LONG lPos)
|
||||||
(infoPtr->uNumTics)*sizeof (DWORD));
|
(infoPtr->uNumTics)*sizeof (DWORD));
|
||||||
if (!infoPtr->tics) {
|
if (!infoPtr->tics) {
|
||||||
infoPtr->uNumTics = 0;
|
infoPtr->uNumTics = 0;
|
||||||
TRACKBAR_SendNotify(infoPtr, NM_OUTOFMEMORY);
|
notify(infoPtr, NM_OUTOFMEMORY);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
infoPtr->tics[infoPtr->uNumTics-1] = lPos;
|
infoPtr->tics[infoPtr->uNumTics-1] = lPos;
|
||||||
|
@ -1302,7 +1353,7 @@ TRACKBAR_Create (HWND hwnd, LPCREATESTRUCTW lpcs)
|
||||||
infoPtr->uNumTics = 0; /* start and end tic are not included in count*/
|
infoPtr->uNumTics = 0; /* start and end tic are not included in count*/
|
||||||
infoPtr->uTicFreq = 1;
|
infoPtr->uTicFreq = 1;
|
||||||
infoPtr->tics = NULL;
|
infoPtr->tics = NULL;
|
||||||
infoPtr->hwndNotify= GetParent (hwnd);
|
infoPtr->hwndNotify= lpcs->hwndParent;
|
||||||
|
|
||||||
TRACKBAR_InitializeThumb (infoPtr);
|
TRACKBAR_InitializeThumb (infoPtr);
|
||||||
|
|
||||||
|
@ -1394,18 +1445,20 @@ static LRESULT
|
||||||
TRACKBAR_LButtonUp (TRACKBAR_INFO *infoPtr, DWORD fwKeys, POINTS pts)
|
TRACKBAR_LButtonUp (TRACKBAR_INFO *infoPtr, DWORD fwKeys, POINTS pts)
|
||||||
{
|
{
|
||||||
if (infoPtr->flags & TB_DRAG_MODE) {
|
if (infoPtr->flags & TB_DRAG_MODE) {
|
||||||
TRACKBAR_SendNotify (infoPtr, TB_ENDTRACK);
|
notify_with_scroll (infoPtr, TB_THUMBPOSITION | (infoPtr->lPos<<16));
|
||||||
|
notify_with_scroll (infoPtr, TB_ENDTRACK);
|
||||||
infoPtr->flags &= ~TB_DRAG_MODE;
|
infoPtr->flags &= ~TB_DRAG_MODE;
|
||||||
ReleaseCapture ();
|
ReleaseCapture ();
|
||||||
TRACKBAR_SendNotify(infoPtr, NM_RELEASEDCAPTURE);
|
notify(infoPtr, NM_RELEASEDCAPTURE);
|
||||||
TRACKBAR_ActivateToolTip(infoPtr, FALSE);
|
TRACKBAR_ActivateToolTip(infoPtr, FALSE);
|
||||||
TRACKBAR_InvalidateThumb(infoPtr, infoPtr->lPos);
|
TRACKBAR_InvalidateThumb(infoPtr, infoPtr->lPos);
|
||||||
}
|
}
|
||||||
if (infoPtr->flags & TB_AUTO_PAGE) {
|
if (infoPtr->flags & TB_AUTO_PAGE) {
|
||||||
KillTimer (infoPtr->hwndSelf, TB_REFRESH_TIMER);
|
KillTimer (infoPtr->hwndSelf, TB_REFRESH_TIMER);
|
||||||
infoPtr->flags &= ~TB_AUTO_PAGE;
|
infoPtr->flags &= ~TB_AUTO_PAGE;
|
||||||
|
notify_with_scroll (infoPtr, TB_ENDTRACK);
|
||||||
ReleaseCapture ();
|
ReleaseCapture ();
|
||||||
TRACKBAR_SendNotify(infoPtr, NM_RELEASEDCAPTURE);
|
notify(infoPtr, NM_RELEASEDCAPTURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1415,7 +1468,7 @@ TRACKBAR_LButtonUp (TRACKBAR_INFO *infoPtr, DWORD fwKeys, POINTS pts)
|
||||||
static LRESULT
|
static LRESULT
|
||||||
TRACKBAR_CaptureChanged (TRACKBAR_INFO *infoPtr)
|
TRACKBAR_CaptureChanged (TRACKBAR_INFO *infoPtr)
|
||||||
{
|
{
|
||||||
TRACKBAR_SendNotify (infoPtr, TB_ENDTRACK);
|
notify_with_scroll (infoPtr, TB_ENDTRACK);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1470,19 +1523,6 @@ TRACKBAR_Timer (TRACKBAR_INFO *infoPtr, INT wTimerID, TIMERPROC *tmrpc)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static BOOL
|
|
||||||
TRACKBAR_SendNotify (TRACKBAR_INFO *infoPtr, UINT code)
|
|
||||||
{
|
|
||||||
BOOL bVert = GetWindowLongW (infoPtr->hwndSelf, GWL_STYLE) & TBS_VERT;
|
|
||||||
|
|
||||||
TRACE("%x\n", code);
|
|
||||||
|
|
||||||
return (BOOL) SendMessageW (GetParent (infoPtr->hwndSelf),
|
|
||||||
bVert ? WM_VSCROLL : WM_HSCROLL,
|
|
||||||
(WPARAM)code, (LPARAM)infoPtr->hwndSelf);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static LRESULT
|
static LRESULT
|
||||||
TRACKBAR_MouseMove (TRACKBAR_INFO *infoPtr, DWORD fwKeys, POINTS pts)
|
TRACKBAR_MouseMove (TRACKBAR_INFO *infoPtr, DWORD fwKeys, POINTS pts)
|
||||||
{
|
{
|
||||||
|
@ -1508,7 +1548,7 @@ TRACKBAR_MouseMove (TRACKBAR_INFO *infoPtr, DWORD fwKeys, POINTS pts)
|
||||||
infoPtr->lPos = dragPos;
|
infoPtr->lPos = dragPos;
|
||||||
|
|
||||||
infoPtr->flags |= TB_THUMBPOSCHANGED;
|
infoPtr->flags |= TB_THUMBPOSCHANGED;
|
||||||
TRACKBAR_SendNotify (infoPtr, TB_THUMBTRACK | (infoPtr->lPos<<16));
|
notify_with_scroll (infoPtr, TB_THUMBTRACK | (infoPtr->lPos<<16));
|
||||||
|
|
||||||
|
|
||||||
TRACKBAR_InvalidateThumbMove(infoPtr, oldPos, dragPos);
|
TRACKBAR_InvalidateThumbMove(infoPtr, oldPos, dragPos);
|
||||||
|
@ -1517,55 +1557,50 @@ TRACKBAR_MouseMove (TRACKBAR_INFO *infoPtr, DWORD fwKeys, POINTS pts)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static BOOL
|
static BOOL
|
||||||
TRACKBAR_KeyDown (TRACKBAR_INFO *infoPtr, INT nVirtKey, DWORD lKeyData)
|
TRACKBAR_KeyDown (TRACKBAR_INFO *infoPtr, INT nVirtKey, DWORD lKeyData)
|
||||||
{
|
{
|
||||||
BOOL downIsLeft = GetWindowLongW (infoPtr->hwndSelf, GWL_STYLE) & TBS_DOWNISLEFT;
|
DWORD style = GetWindowLongW (infoPtr->hwndSelf, GWL_STYLE);
|
||||||
|
BOOL downIsLeft = style & TBS_DOWNISLEFT;
|
||||||
|
BOOL vert = style & TBS_VERT;
|
||||||
LONG pos = infoPtr->lPos;
|
LONG pos = infoPtr->lPos;
|
||||||
|
|
||||||
TRACE("%x\n", nVirtKey);
|
TRACE("%x\n", nVirtKey);
|
||||||
|
|
||||||
switch (nVirtKey) {
|
switch (nVirtKey) {
|
||||||
case VK_UP:
|
case VK_UP:
|
||||||
if (downIsLeft) goto step_right;
|
if (!vert && downIsLeft) TRACKBAR_LineDown(infoPtr);
|
||||||
|
else TRACKBAR_LineUp(infoPtr);
|
||||||
|
break;
|
||||||
case VK_LEFT:
|
case VK_LEFT:
|
||||||
step_left:
|
if (vert && downIsLeft) TRACKBAR_LineDown(infoPtr);
|
||||||
if (infoPtr->lPos == infoPtr->lRangeMin) return FALSE;
|
else TRACKBAR_LineUp(infoPtr);
|
||||||
infoPtr->lPos -= infoPtr->lLineSize;
|
|
||||||
if (infoPtr->lPos < infoPtr->lRangeMin)
|
|
||||||
infoPtr->lPos = infoPtr->lRangeMin;
|
|
||||||
TRACKBAR_SendNotify (infoPtr, TB_LINEUP);
|
|
||||||
break;
|
break;
|
||||||
case VK_DOWN:
|
case VK_DOWN:
|
||||||
if (downIsLeft) goto step_left;
|
if (!vert && downIsLeft) TRACKBAR_LineUp(infoPtr);
|
||||||
|
else TRACKBAR_LineDown(infoPtr);
|
||||||
|
break;
|
||||||
case VK_RIGHT:
|
case VK_RIGHT:
|
||||||
step_right:
|
if (vert && downIsLeft) TRACKBAR_LineUp(infoPtr);
|
||||||
if (infoPtr->lPos == infoPtr->lRangeMax) return FALSE;
|
else TRACKBAR_LineDown(infoPtr);
|
||||||
infoPtr->lPos += infoPtr->lLineSize;
|
|
||||||
if (infoPtr->lPos > infoPtr->lRangeMax)
|
|
||||||
infoPtr->lPos = infoPtr->lRangeMax;
|
|
||||||
TRACKBAR_SendNotify (infoPtr, TB_LINEDOWN);
|
|
||||||
break;
|
break;
|
||||||
case VK_NEXT:
|
case VK_NEXT:
|
||||||
if (downIsLeft) goto page_left;
|
if (!vert && downIsLeft) TRACKBAR_PageUp(infoPtr);
|
||||||
page_right:
|
else TRACKBAR_PageDown(infoPtr);
|
||||||
TRACKBAR_PageUp(infoPtr);
|
|
||||||
break;
|
break;
|
||||||
case VK_PRIOR:
|
case VK_PRIOR:
|
||||||
if (downIsLeft) goto page_right;
|
if (!vert && downIsLeft) TRACKBAR_PageDown(infoPtr);
|
||||||
page_left:
|
else TRACKBAR_PageUp(infoPtr);
|
||||||
TRACKBAR_PageDown(infoPtr);
|
|
||||||
break;
|
break;
|
||||||
case VK_HOME:
|
case VK_HOME:
|
||||||
if (infoPtr->lPos == infoPtr->lRangeMin) return FALSE;
|
if (infoPtr->lPos == infoPtr->lRangeMin) return FALSE;
|
||||||
infoPtr->lPos = infoPtr->lRangeMin;
|
infoPtr->lPos = infoPtr->lRangeMin;
|
||||||
TRACKBAR_SendNotify (infoPtr, TB_TOP);
|
notify_with_scroll (infoPtr, TB_TOP);
|
||||||
break;
|
break;
|
||||||
case VK_END:
|
case VK_END:
|
||||||
if (infoPtr->lPos == infoPtr->lRangeMax) return FALSE;
|
if (infoPtr->lPos == infoPtr->lRangeMax) return FALSE;
|
||||||
infoPtr->lPos = infoPtr->lRangeMax;
|
infoPtr->lPos = infoPtr->lRangeMax;
|
||||||
TRACKBAR_SendNotify (infoPtr, TB_BOTTOM);
|
notify_with_scroll (infoPtr, TB_BOTTOM);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1590,7 +1625,7 @@ TRACKBAR_KeyUp (TRACKBAR_INFO *infoPtr, INT nVirtKey, DWORD lKeyData)
|
||||||
case VK_PRIOR:
|
case VK_PRIOR:
|
||||||
case VK_HOME:
|
case VK_HOME:
|
||||||
case VK_END:
|
case VK_END:
|
||||||
TRACKBAR_SendNotify (infoPtr, TB_ENDTRACK);
|
notify_with_scroll (infoPtr, TB_ENDTRACK);
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3063,6 +3063,7 @@ TREEVIEW_Sort(TREEVIEW_INFO *infoPtr, BOOL fRecurse, HTREEITEM parent,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!item) item = parent->firstChild;
|
||||||
TREEVIEW_SetFirstVisible(infoPtr, item, FALSE);
|
TREEVIEW_SetFirstVisible(infoPtr, item, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3203,7 +3204,8 @@ TREEVIEW_Expand(TREEVIEW_INFO *infoPtr, TREEVIEW_ITEM *wineItem,
|
||||||
|
|
||||||
TRACE("TVE_EXPAND %p %s\n", wineItem, TREEVIEW_ItemName(wineItem));
|
TRACE("TVE_EXPAND %p %s\n", wineItem, TREEVIEW_ItemName(wineItem));
|
||||||
|
|
||||||
if (bUser || !(wineItem->state & TVIS_EXPANDEDONCE))
|
if (bUser || ((wineItem->cChildren != 0) &&
|
||||||
|
!(wineItem->state & TVIS_EXPANDEDONCE)))
|
||||||
{
|
{
|
||||||
if (!TREEVIEW_SendExpanding(infoPtr, wineItem, TVE_EXPAND))
|
if (!TREEVIEW_SendExpanding(infoPtr, wineItem, TVE_EXPAND))
|
||||||
{
|
{
|
||||||
|
@ -5184,6 +5186,9 @@ static LRESULT WINAPI
|
||||||
TREEVIEW_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
TREEVIEW_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
TREEVIEW_INFO *infoPtr = TREEVIEW_GetInfoPtr(hwnd);
|
TREEVIEW_INFO *infoPtr = TREEVIEW_GetInfoPtr(hwnd);
|
||||||
|
|
||||||
|
TRACE("hwnd %p msg %04x wp=%08x lp=%08lx\n", hwnd, uMsg, wParam, lParam);
|
||||||
|
|
||||||
if (infoPtr) TREEVIEW_VerifyTree(infoPtr);
|
if (infoPtr) TREEVIEW_VerifyTree(infoPtr);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue