mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +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
|
||||
*.dll
|
||||
*.d
|
||||
*.a
|
||||
*.o
|
||||
*.sym
|
||||
*.map
|
||||
*.tmp
|
||||
*.coff
|
||||
*.dll
|
||||
*.d
|
||||
*.a
|
||||
*.o
|
||||
*.sym
|
||||
*.map
|
||||
*.tmp
|
||||
|
|
|
@ -191,6 +191,12 @@ BOOL WINAPI DPA_Merge (const HDPA, const HDPA, DWORD, PFNDPACOMPARE, PFNDPAMERGE
|
|||
#define TB_UNKWN463 (WM_USER+99)
|
||||
#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_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))
|
||||
|
@ -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_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 */
|
||||
#define PSH_WIZARD97_OLD 0x2000
|
||||
#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 /* __REACTOS__ */
|
||||
|
||||
#endif /* __WINE_COMCTL32_H */
|
||||
|
|
|
@ -32,9 +32,11 @@ IDI_DRAGARROW ICON "res/idi_dragarrow.ico"
|
|||
#include "res/comctl_En.rc"
|
||||
#include "res/comctl_Cn.rc"
|
||||
#include "res/comctl_De.rc"
|
||||
#include "res/comctl_Fr.rc"
|
||||
#include "res/comctl_Es.rc"
|
||||
#include "res/comctl_Fr.rc"
|
||||
#include "res/comctl_It.rc"
|
||||
#include "res/comctl_Ko.rc"
|
||||
#include "res/comctl_Nl.rc"
|
||||
#include "res/comctl_Pl.rc"
|
||||
#include "res/comctl_Pt.rc"
|
||||
#include "res/comctl_Ru.rc"
|
||||
|
|
|
@ -38,8 +38,8 @@
|
|||
#include "winuser.h"
|
||||
#include "winnls.h"
|
||||
#include "commctrl.h"
|
||||
#include "comctl32.h"
|
||||
#include "wine/debug.h"
|
||||
#include "comctl32.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(commctrl);
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
*
|
||||
* Copyright 1998 Eric Kohl
|
||||
* Copyright 2000 Eric Kohl for CodeWeavers
|
||||
* Copyright 2003 Maxime Bellenge
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -28,8 +29,6 @@
|
|||
* - Use notification format
|
||||
* - 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>
|
||||
|
@ -82,6 +81,7 @@ typedef struct
|
|||
INT xOldTrack; /* track offset (see above) after the last WM_MOUSEMOVE */
|
||||
INT nOldWidth; /* width of a sizing item after the last WM_MOUSEMOVE */
|
||||
INT iHotItem; /* index of hot item (cursor is over this item) */
|
||||
INT iMargin; /* width of the margin that surrounds a bitmap */
|
||||
|
||||
HIMAGELIST himl; /* handle to a image list (may be 0) */
|
||||
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;
|
||||
}
|
||||
else {
|
||||
cx = rx - 6;
|
||||
cx = rx - infoPtr->iMargin;
|
||||
}
|
||||
|
||||
hdcBitmap = CreateCompatibleDC (hdc);
|
||||
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);
|
||||
|
||||
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);
|
||||
|
||||
textRect = r;
|
||||
DrawTextW (hdc, phdi->pszText, -1,
|
||||
&textRect, DT_LEFT|DT_VCENTER|DT_SINGLELINE|DT_CALCRECT);
|
||||
tx = textRect.right - textRect.left;
|
||||
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;
|
||||
ry = r.bottom - r.top;
|
||||
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;
|
||||
xD = r.left + tx + 6;
|
||||
xD = r.left + tx + infoPtr->iMargin;
|
||||
}
|
||||
else {
|
||||
if (rx >= bmp.bmWidth + 6) {
|
||||
if (rx >= bmp.bmWidth + infoPtr->iMargin ) {
|
||||
cx = bmp.bmWidth;
|
||||
xD = r.right - bmp.bmWidth - 3;
|
||||
r.right = xD - 3;
|
||||
xD = r.right - bmp.bmWidth - infoPtr->iMargin;
|
||||
r.right = xD - infoPtr->iMargin;
|
||||
}
|
||||
else {
|
||||
cx = rx - 3;
|
||||
cx = rx - infoPtr->iMargin;
|
||||
xD = r.left;
|
||||
r.right = r.left;
|
||||
}
|
||||
|
@ -300,21 +304,37 @@ HEADER_DrawItem (HWND hwnd, HDC hdc, INT iItem, BOOL bHotTrack)
|
|||
DeleteDC (hdcBitmap);
|
||||
}
|
||||
|
||||
if ((phdi->fmt & HDF_IMAGE) && (infoPtr->himl)) {
|
||||
r.left +=3;
|
||||
/* FIXME: (r.bottom- (infoPtr->himl->cy))/2 should horicontal center the image
|
||||
It looks like it doesn't work as expected*/
|
||||
ImageList_Draw (infoPtr->himl, phdi->iImage,hdc,r.left, (r.bottom- (infoPtr->himl->cy))/2,0);
|
||||
r.left += infoPtr->himl->cx;
|
||||
if ((phdi->fmt & HDF_IMAGE) && !(phdi->fmt & HDF_BITMAP_ON_RIGHT) && (infoPtr->himl)) {
|
||||
r.left += infoPtr->iMargin;
|
||||
ImageList_DrawEx(infoPtr->himl, phdi->iImage, hdc, r.left, r.top + (r.bottom-r.top- infoPtr->himl->cy)/2,
|
||||
infoPtr->himl->cx, r.bottom-r.top, CLR_DEFAULT, CLR_DEFAULT, 0);
|
||||
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)
|
||||
|| (!(phdi->fmt & (HDF_OWNERDRAW|HDF_STRING|HDF_BITMAP|
|
||||
HDF_BITMAP_ON_RIGHT|HDF_IMAGE)))) /* no explicit format specified? */
|
||||
&& (phdi->pszText)) {
|
||||
oldBkMode = SetBkMode(hdc, TRANSPARENT);
|
||||
r.left += 3 ;
|
||||
r.right -= 3;
|
||||
r.left += infoPtr->iMargin;
|
||||
r.right -= infoPtr->iMargin;
|
||||
SetTextColor (hdc, (bHotTrack) ? COLOR_HIGHLIGHT : COLOR_BTNTEXT);
|
||||
DrawTextW (hdc, phdi->pszText, -1,
|
||||
&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;
|
||||
|
||||
if (phdi->mask & HDI_TEXT) {
|
||||
static char empty[] = "";
|
||||
if (!phdi->pszText) /* null pointer check */
|
||||
phdi->pszText = "";
|
||||
phdi->pszText = empty;
|
||||
if (phdi->pszText != LPSTR_TEXTCALLBACKA) {
|
||||
len = MultiByteToWideChar(CP_ACP, 0, phdi->pszText, -1, NULL, 0);
|
||||
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
|
||||
HEADER_SetItemA (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
|
@ -1261,6 +1301,7 @@ HEADER_Create (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
|||
infoPtr->himl = 0;
|
||||
infoPtr->iHotItem = -1;
|
||||
infoPtr->bUnicode = IsWindowUnicode (hwnd);
|
||||
infoPtr->iMargin = 3*GetSystemMetrics(SM_CXEDGE);
|
||||
infoPtr->nNotifyFormat =
|
||||
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_GETBITMAPMARGIN: */
|
||||
case HDM_GETBITMAPMARGIN:
|
||||
return HEADER_GetBitmapMargin(hwnd);
|
||||
|
||||
case HDM_GETIMAGELIST:
|
||||
return HEADER_GetImageList (hwnd);
|
||||
|
@ -1713,7 +1755,8 @@ HEADER_WindowProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||
case HDM_ORDERTOINDEX:
|
||||
return HEADER_OrderToIndex(hwnd, wParam);
|
||||
|
||||
/* case HDM_SETBITMAPMARGIN: */
|
||||
case HDM_SETBITMAPMARGIN:
|
||||
return HEADER_SetBitmapMargin(hwnd, wParam);
|
||||
|
||||
/* case HDM_SETFILTERCHANGETIMEOUT: */
|
||||
|
||||
|
|
|
@ -450,7 +450,7 @@ BOOL WINAPI
|
|||
ImageList_Copy (HIMAGELIST himlDst, INT iDst, HIMAGELIST himlSrc,
|
||||
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))
|
||||
return FALSE;
|
||||
|
@ -1165,7 +1165,7 @@ ImageList_DrawIndirect (IMAGELISTDRAWPARAMS *pimldp)
|
|||
if (fState & ILS_SATURATE) FIXME("ILS_SATURATE: unimplemented!\n");
|
||||
if (fState & ILS_GLOW) FIXME("ILS_GLOW: 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_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? */
|
||||
icount = bm.bmWidth / cx;
|
||||
nwidth = cx << 2;
|
||||
nheight = cy * ((icount+3)>>2);
|
||||
nwidth = cx;
|
||||
nheight = cy * icount;
|
||||
|
||||
bitCount = bm.bmBitsPixel == 1 ? 1 : 24;
|
||||
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->biBitCount = bitCount;
|
||||
bmih->biCompression = BI_RGB;
|
||||
bmih->biSizeImage = nsizeImage;
|
||||
bmih->biSizeImage = sizeImage;
|
||||
bmih->biXPelsPerMeter = 0;
|
||||
bmih->biYPelsPerMeter = 0;
|
||||
bmih->biClrUsed = 0;
|
||||
bmih->biClrImportant = 0;
|
||||
|
||||
lpBitsOrg = (LPBYTE)LocalAlloc(LMEM_ZEROINIT, nsizeImage);
|
||||
lpBitsOrg = (LPBYTE)LocalAlloc(LMEM_ZEROINIT, sizeImage);
|
||||
if(!GetDIBits(xdc, hBitmap, 0, bm.bmHeight, lpBitsOrg,
|
||||
(BITMAPINFO *)bmih, DIB_RGB_COLORS))
|
||||
goto failed;
|
||||
|
@ -2706,6 +2706,7 @@ _write_bitmap(HBITMAP hBitmap, LPSTREAM pstm, int cx, int cy)
|
|||
|
||||
bmih->biWidth = nwidth;
|
||||
bmih->biHeight = nheight;
|
||||
bmih->biSizeImage = nsizeImage;
|
||||
|
||||
if(bitCount == 1) {
|
||||
/* Hack. */
|
||||
|
|
|
@ -78,7 +78,6 @@
|
|||
*
|
||||
* Extended Styles
|
||||
* -- LVS_EX_BORDERSELECT
|
||||
* -- LVS_EX_CHECKBOXES
|
||||
* -- LVS_EX_FLATSB
|
||||
* -- LVS_EX_GRIDLINES
|
||||
* -- LVS_EX_HEADERDRAGDROP
|
||||
|
@ -88,14 +87,13 @@
|
|||
* -- LVS_EX_ONECLICKACTIVATE
|
||||
* -- LVS_EX_REGIONAL
|
||||
* -- LVS_EX_SIMPLESELECT
|
||||
* -- LVS_EX_SUBITEMIMAGES
|
||||
* -- LVS_EX_TRACKSELECT
|
||||
* -- LVS_EX_TWOCLICKACTIVATE
|
||||
* -- LVS_EX_UNDERLINECOLD
|
||||
* -- LVS_EX_UNDERLINEHOT
|
||||
*
|
||||
* Notifications:
|
||||
* -- LVN_BEGINDRAG, LVN_BEGINRDRAG
|
||||
* -- LVN_BEGINRDRAG
|
||||
* -- LVN_BEGINSCROLL, LVN_ENDSCROLL
|
||||
* -- LVN_GETINFOTIP
|
||||
* -- LVN_HOTTRACK
|
||||
|
@ -107,7 +105,6 @@
|
|||
*
|
||||
* Messages:
|
||||
* -- LVM_CANCELEDITLABEL
|
||||
* -- LVM_CREATEDRAGIMAGE
|
||||
* -- LVM_ENABLEGROUPVIEW
|
||||
* -- LVM_GETBKIMAGE, LVM_SETBKIMAGE
|
||||
* -- LVM_GETGROUPINFO, LVM_SETGROUPINFO
|
||||
|
@ -238,6 +235,7 @@ typedef struct tagLISTVIEW_INFO
|
|||
INT nSelectionMark;
|
||||
INT nHotItem;
|
||||
SHORT notifyFormat;
|
||||
HWND hwndNotify;
|
||||
RECT rcList; /* This rectangle is really the window
|
||||
* client rectangle possibly reduced by the
|
||||
* 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 BOOL LISTVIEW_EnsureVisible(LISTVIEW_INFO *, 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 *************************************/
|
||||
|
||||
|
@ -529,7 +528,7 @@ static char* debug_getbuf()
|
|||
return buffers[index++ % DEBUG_BUFFERS];
|
||||
}
|
||||
|
||||
static inline char* debugrange(const RANGE *lprng)
|
||||
static inline const char* debugrange(const RANGE *lprng)
|
||||
{
|
||||
if (lprng)
|
||||
{
|
||||
|
@ -539,7 +538,7 @@ static inline char* debugrange(const RANGE *lprng)
|
|||
} else return "(null)";
|
||||
}
|
||||
|
||||
static inline char* debugpoint(const POINT *lppt)
|
||||
static inline const char* debugpoint(const POINT *lppt)
|
||||
{
|
||||
if (lppt)
|
||||
{
|
||||
|
@ -549,7 +548,7 @@ static inline char* debugpoint(const POINT *lppt)
|
|||
} else return "(null)";
|
||||
}
|
||||
|
||||
static inline char* debugrect(const RECT *rect)
|
||||
static inline const char* debugrect(const RECT *rect)
|
||||
{
|
||||
if (rect)
|
||||
{
|
||||
|
@ -560,7 +559,7 @@ static inline char* debugrect(const RECT *rect)
|
|||
} else return "(null)";
|
||||
}
|
||||
|
||||
static char * debugscrollinfo(const SCROLLINFO *pScrollInfo)
|
||||
static const char * debugscrollinfo(const SCROLLINFO *pScrollInfo)
|
||||
{
|
||||
char* buf = debug_getbuf(), *text = buf;
|
||||
int len, size = DEBUG_BUFFER_SIZE;
|
||||
|
@ -592,7 +591,7 @@ undo:
|
|||
return text;
|
||||
}
|
||||
|
||||
static char* debugnmlistview(const NMLISTVIEW *plvnm)
|
||||
static const char* debugnmlistview(const NMLISTVIEW *plvnm)
|
||||
{
|
||||
if (plvnm)
|
||||
{
|
||||
|
@ -605,7 +604,7 @@ static char* debugnmlistview(const NMLISTVIEW *plvnm)
|
|||
} 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;
|
||||
int len, size = DEBUG_BUFFER_SIZE;
|
||||
|
@ -641,7 +640,7 @@ undo:
|
|||
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;
|
||||
int len, size = DEBUG_BUFFER_SIZE;
|
||||
|
@ -681,7 +680,7 @@ undo:
|
|||
return text;
|
||||
}
|
||||
|
||||
static char* debuglvhittestinfo(const LVHITTESTINFO *lpht)
|
||||
static const char* debuglvhittestinfo(const LVHITTESTINFO *lpht)
|
||||
{
|
||||
if (lpht)
|
||||
{
|
||||
|
@ -721,7 +720,7 @@ static LRESULT notify_hdr(LISTVIEW_INFO *infoPtr, INT code, LPNMHDR pnmh)
|
|||
pnmh->hwndFrom = infoPtr->hwndSelf;
|
||||
pnmh->idFrom = GetWindowLongW(infoPtr->hwndSelf, GWL_ID);
|
||||
pnmh->code = code;
|
||||
result = SendMessageW(GetParent(infoPtr->hwndSelf), WM_NOTIFY,
|
||||
result = SendMessageW(infoPtr->hwndNotify, WM_NOTIFY,
|
||||
(WPARAM)pnmh->idFrom, (LPARAM)pnmh);
|
||||
|
||||
TRACE(" <= %ld\n", result);
|
||||
|
@ -1738,7 +1737,7 @@ static void LISTVIEW_ShowFocusRect(LISTVIEW_INFO *infoPtr, BOOL fShow)
|
|||
LISTVIEW_GetItemBox(infoPtr, dis.itemID, &dis.rcItem);
|
||||
dis.itemData = item.lParam;
|
||||
|
||||
SendMessageW(GetParent(infoPtr->hwndSelf), WM_DRAWITEM, dis.CtlID, (LPARAM)&dis);
|
||||
SendMessageW(infoPtr->hwndNotify, WM_DRAWITEM, dis.CtlID, (LPARAM)&dis);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1949,7 +1948,9 @@ static void LISTVIEW_GetItemMetrics(LISTVIEW_INFO *infoPtr, const LVITEMW *lpLVI
|
|||
Icon.left = State.right;
|
||||
Icon.top = Box.top;
|
||||
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.bottom = Icon.top + infoPtr->nItemHeight;
|
||||
}
|
||||
|
@ -3388,6 +3389,7 @@ static BOOL set_sub_item(LISTVIEW_INFO *infoPtr, const LVITEMW *lpLVItem, BOOL i
|
|||
return FALSE;
|
||||
}
|
||||
lpSubItem->iSubItem = lpLVItem->iSubItem;
|
||||
lpSubItem->hdr.iImage = I_IMAGECALLBACK;
|
||||
*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);
|
||||
if (nSubItem == 0) infoPtr->cditemmode = cdsubitemmode;
|
||||
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))
|
||||
prepaint_setup(infoPtr, hdc, &nmlvcd);
|
||||
|
||||
|
@ -3680,7 +3688,6 @@ postpaint:
|
|||
static void LISTVIEW_RefreshOwnerDraw(LISTVIEW_INFO *infoPtr, ITERATOR *i, HDC hdc, DWORD cdmode)
|
||||
{
|
||||
UINT uID = GetWindowLongW(infoPtr->hwndSelf, GWL_ID);
|
||||
HWND hwndParent = GetParent(infoPtr->hwndSelf);
|
||||
DWORD cditemmode = CDRF_DODEFAULT;
|
||||
NMLVCUSTOMDRAW nmlvcd;
|
||||
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));
|
||||
|
||||
/*
|
||||
* 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)
|
||||
{
|
||||
customdraw_fill(&nmlvcd, infoPtr, hdc, &dis.rcItem, &item);
|
||||
cditemmode = notify_customdraw(infoPtr, CDDS_PREPAINT, &nmlvcd);
|
||||
}
|
||||
|
||||
if (!(cditemmode & CDRF_SKIPDEFAULT))
|
||||
{
|
||||
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)
|
||||
|
@ -4000,7 +4009,70 @@ static DWORD LISTVIEW_ApproximateViewRect(LISTVIEW_INFO *infoPtr, INT nItemCount
|
|||
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;
|
||||
ITEMHDR* pItemHdr;
|
||||
HDPA hdpaSubItems;
|
||||
INT isubitem;
|
||||
|
||||
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;
|
||||
|
||||
/* make a local copy */
|
||||
isubitem = lpLVItem->iSubItem;
|
||||
|
||||
/* a quick optimization if all we're asked is the focus state
|
||||
* these queries are worth optimising since they are common,
|
||||
* 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 */
|
||||
dispInfo.item.mask = lpLVItem->mask & ~LVIF_PARAM;
|
||||
dispInfo.item.iItem = lpLVItem->iItem;
|
||||
dispInfo.item.iSubItem = lpLVItem->iSubItem;
|
||||
dispInfo.item.iSubItem = isubitem;
|
||||
if (lpLVItem->mask & LVIF_TEXT)
|
||||
{
|
||||
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;
|
||||
|
||||
/* 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 ( 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);
|
||||
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;
|
||||
if (!lpSubItem)
|
||||
{
|
||||
WARN(" iSubItem invalid (%08x), ignored.\n", isubitem);
|
||||
isubitem = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
pItemHdr = &lpItem->hdr;
|
||||
|
||||
/* 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.stateMask = infoPtr->uCallbackMask;
|
||||
}
|
||||
|
||||
/* 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.iImage = I_IMAGECALLBACK;
|
||||
}
|
||||
|
||||
/* Apps depend on calling back for text if it is NULL or LPSTR_TEXTCALLBACKW */
|
||||
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)
|
||||
{
|
||||
dispInfo.item.iItem = lpLVItem->iItem;
|
||||
dispInfo.item.iSubItem = lpLVItem->iSubItem;
|
||||
dispInfo.item.iSubItem = lpLVItem->iSubItem; /* yes: the original subitem */
|
||||
dispInfo.item.lParam = lpItem->lParam;
|
||||
notify_dispinfoT(infoPtr, LVN_GETDISPINFOW, &dispInfo, isW);
|
||||
TRACE(" getdispinfo(2):item=%s\n", debuglvitem_t(&dispInfo.item, isW));
|
||||
}
|
||||
|
||||
/* 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 */
|
||||
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;
|
||||
}
|
||||
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 */
|
||||
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 (lpLVItem->iSubItem) return TRUE;
|
||||
if (isubitem) return TRUE;
|
||||
|
||||
/* Next is the lParam field */
|
||||
if (dispInfo.item.mask & LVIF_PARAM)
|
||||
|
@ -5348,16 +5438,18 @@ static BOOL LISTVIEW_GetSubItemRect(LISTVIEW_INFO *infoPtr, INT nItem, LPRECT lp
|
|||
POINT Position;
|
||||
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);
|
||||
/* On WinNT, a subitem of '0' calls LISTVIEW_GetItemRect */
|
||||
if (lprc->top == 0)
|
||||
return LISTVIEW_GetItemRect(infoPtr, nItem, lprc);
|
||||
|
||||
if ((infoPtr->dwStyle & LVS_TYPEMASK) != LVS_REPORT) 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.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 (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;
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
/***
|
||||
* 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:
|
||||
* Sets the extended listview style.
|
||||
|
@ -6525,6 +6668,14 @@ static DWORD LISTVIEW_SetExtendedListViewStyle(LISTVIEW_INFO *infoPtr, DWORD dwM
|
|||
else
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -7179,7 +7330,8 @@ static LRESULT LISTVIEW_Create(HWND hwnd, const CREATESTRUCTW *lpcs)
|
|||
infoPtr->hwndSelf = hwnd;
|
||||
infoPtr->dwStyle = lpcs->style;
|
||||
/* 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);
|
||||
|
||||
/* initialize color information */
|
||||
|
@ -7675,6 +7827,68 @@ static LRESULT LISTVIEW_KillFocus(LISTVIEW_INFO *infoPtr)
|
|||
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:
|
||||
* 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;
|
||||
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 (LISTVIEW_GetItemState(infoPtr, nItem, LVIS_SELECTED))
|
||||
|
@ -7803,6 +8044,7 @@ static LRESULT LISTVIEW_LButtonDown(LISTVIEW_INFO *infoPtr, WORD wKey, POINTS pt
|
|||
{
|
||||
/* remove all selections */
|
||||
LISTVIEW_DeselectAll(infoPtr);
|
||||
ReleaseCapture();
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -8499,7 +8741,8 @@ LISTVIEW_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
|||
|
||||
/* case LVM_CANCELEDITLABEL: */
|
||||
|
||||
/* case LVM_CREATEDRAGIMAGE: */
|
||||
case LVM_CREATEDRAGIMAGE:
|
||||
return (LRESULT)LISTVIEW_CreateDragImage(infoPtr, (INT)wParam, (LPPOINT)lParam);
|
||||
|
||||
case LVM_DELETEALLITEMS:
|
||||
return LISTVIEW_DeleteAllItems(infoPtr);
|
||||
|
@ -9064,7 +9307,7 @@ static LRESULT LISTVIEW_Command(LISTVIEW_INFO *infoPtr, WPARAM wParam, LPARAM lP
|
|||
}
|
||||
|
||||
default:
|
||||
return SendMessageW (GetParent (infoPtr->hwndSelf), WM_COMMAND, wParam, lParam);
|
||||
return SendMessageW (infoPtr->hwndNotify, WM_COMMAND, wParam, lParam);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -1475,8 +1475,7 @@ static BOOL PROPSHEET_CreatePage(HWND hwndParent,
|
|||
}
|
||||
|
||||
if (psInfo->proppage[index].useCallback)
|
||||
(*(ppshpage->pfnCallback))(hwndParent,
|
||||
PSPCB_CREATE,
|
||||
(*(ppshpage->pfnCallback))(0, PSPCB_CREATE,
|
||||
(LPPROPSHEETPAGEW)ppshpage);
|
||||
|
||||
if(ppshpage->dwFlags & PSP_INTERNAL_UNICODE)
|
||||
|
@ -2028,19 +2027,25 @@ static BOOL PROPSHEET_SetCurSel(HWND hwndDlg,
|
|||
index+=skipdir;
|
||||
if (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;
|
||||
}
|
||||
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;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (result != 0)
|
||||
{
|
||||
index = PROPSHEET_FindPageByResId(psInfo, result);
|
||||
continue;
|
||||
int old_index = index;
|
||||
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:
|
||||
* 2. Following still not handled: RBBS_FIXEDBMP,
|
||||
* RBBS_USECHEVRON, CCS_NORESIZE,
|
||||
* CCS_NORESIZE,
|
||||
* CCS_NOMOVEX, CCS_NOMOVEY
|
||||
* 3. Following are only partially handled:
|
||||
* RBS_AUTOSIZE, RBBS_VARIABLEHEIGHT
|
||||
|
@ -136,7 +136,7 @@
|
|||
* WM_SYSCOLORCHANGE, WM_VKEYTOITEM, WM_WININICHANGE
|
||||
* 7. The following notifications are not implemented:
|
||||
* NM_CUSTOMDRAW, NM_RELEASEDCAPTURE
|
||||
* RB_CHEVRONPUSHED, RBN_MINMAX
|
||||
* RBN_MINMAX
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
|
@ -194,6 +194,7 @@ typedef struct
|
|||
RECT rcCapImage; /* calculated caption image rectangle */
|
||||
RECT rcCapText; /* calculated caption text rectangle */
|
||||
RECT rcChild; /* calculated child rectangle */
|
||||
RECT rcChevron; /* calculated chevron rectangle */
|
||||
|
||||
LPWSTR lpText;
|
||||
HWND hwndPrevParent;
|
||||
|
@ -210,6 +211,8 @@ typedef struct
|
|||
#define DRAW_TEXT 0x00000004
|
||||
#define DRAW_RIGHTSEP 0x00000010
|
||||
#define DRAW_BOTTOMSEP 0x00000020
|
||||
#define DRAW_CHEVRONHOT 0x00000040
|
||||
#define DRAW_CHEVRONPUSHED 0x00000080
|
||||
#define NTF_INVALIDATE 0x01000000
|
||||
|
||||
typedef struct
|
||||
|
@ -248,9 +251,11 @@ typedef struct
|
|||
INT iVersion; /* version number */
|
||||
POINTS dragStart; /* x,y of button down */
|
||||
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 */
|
||||
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_BAND *bands; /* pointer to the array of rebar bands */
|
||||
|
@ -293,6 +298,9 @@ typedef struct
|
|||
/* if present. */
|
||||
#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) */
|
||||
/* either top or bottom */
|
||||
#define REBAR_DIVIDER 2
|
||||
|
@ -334,7 +342,7 @@ typedef struct
|
|||
static UINT mindragx = 0;
|
||||
static UINT mindragy = 0;
|
||||
|
||||
static char *band_stylename[] = {
|
||||
static const char *band_stylename[] = {
|
||||
"RBBS_BREAK", /* 0001 */
|
||||
"RBBS_FIXEDSIZE", /* 0002 */
|
||||
"RBBS_CHILDEDGE", /* 0004 */
|
||||
|
@ -346,7 +354,7 @@ static char *band_stylename[] = {
|
|||
"RBBS_NOGRIPPER", /* 0100 */
|
||||
NULL };
|
||||
|
||||
static char *band_maskname[] = {
|
||||
static const char *band_maskname[] = {
|
||||
"RBBIM_STYLE", /* 0x00000001 */
|
||||
"RBBIM_COLORS", /* 0x00000002 */
|
||||
"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",
|
||||
iP->hwndSelf, iP->clrText, iP->clrBk, iP->uNumBands, iP->uNumRows,
|
||||
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->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",
|
||||
iP->hwndSelf, iP->dwStyle, (iP->bUnicode)?"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
|
||||
REBAR_GetNotifyParent (REBAR_INFO *infoPtr)
|
||||
|
@ -613,6 +640,22 @@ REBAR_DrawBand (HDC hdc, REBAR_INFO *infoPtr, REBAR_BAND *lpBand)
|
|||
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)) {
|
||||
nmcd.dwDrawStage = CDDS_ITEMPOSTPAINT;
|
||||
nmcd.hdc = hdc;
|
||||
|
@ -954,6 +997,13 @@ REBAR_CalcHorzBand (REBAR_INFO *infoPtr, UINT rstart, UINT rend, BOOL notify)
|
|||
SetRect (&lpBand->rcChild,
|
||||
lpBand->rcBand.left+lpBand->cxHeader, lpBand->rcBand.top+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 {
|
||||
SetRect (&lpBand->rcChild,
|
||||
|
@ -1431,6 +1481,8 @@ REBAR_Layout (REBAR_INFO *infoPtr, LPRECT lpRect, BOOL notify, BOOL resetclient)
|
|||
lpBand->fDraw = 0;
|
||||
lpBand->iRow = row;
|
||||
|
||||
SetRectEmpty(&lpBand->rcChevron);
|
||||
|
||||
if (HIDDENBAND(lpBand)) continue;
|
||||
|
||||
lpBand->rcoldBand = lpBand->rcBand;
|
||||
|
@ -2207,7 +2259,7 @@ REBAR_InternalEraseBkGnd (REBAR_INFO *infoPtr, WPARAM wParam, LPARAM lParam, REC
|
|||
}
|
||||
|
||||
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;
|
||||
RECT rect;
|
||||
|
@ -2227,7 +2279,6 @@ REBAR_InternalHitTest (REBAR_INFO *infoPtr, LPPOINT lpPt, UINT *pFlags, INT *pBa
|
|||
}
|
||||
else {
|
||||
/* somewhere inside */
|
||||
infoPtr->ihitBand = -1;
|
||||
for (iCount = 0; iCount < infoPtr->uNumBands; iCount++) {
|
||||
lpBand = &infoPtr->bands[iCount];
|
||||
if (HIDDENBAND(lpBand)) continue;
|
||||
|
@ -2236,7 +2287,6 @@ REBAR_InternalHitTest (REBAR_INFO *infoPtr, LPPOINT lpPt, UINT *pFlags, INT *pBa
|
|||
*pBand = iCount;
|
||||
if (PtInRect (&lpBand->rcGripper, *lpPt)) {
|
||||
*pFlags = RBHT_GRABBER;
|
||||
infoPtr->ihitBand = iCount;
|
||||
TRACE("ON GRABBER %d\n", iCount);
|
||||
return;
|
||||
}
|
||||
|
@ -2255,6 +2305,11 @@ REBAR_InternalHitTest (REBAR_INFO *infoPtr, LPPOINT lpPt, UINT *pFlags, INT *pBa
|
|||
TRACE("ON CLIENT %d\n", iCount);
|
||||
return;
|
||||
}
|
||||
else if (PtInRect (&lpBand->rcChevron, *lpPt)) {
|
||||
*pFlags = RBHT_CHEVRON;
|
||||
TRACE("ON CHEVRON %d\n", iCount);
|
||||
return;
|
||||
}
|
||||
else {
|
||||
*pFlags = RBHT_NOWHERE;
|
||||
TRACE("NOWHERE %d\n", iCount);
|
||||
|
@ -2373,14 +2428,14 @@ REBAR_HandleLRDrag (REBAR_INFO *infoPtr, POINTS *ptsmove)
|
|||
infoPtr->dragStart.x = 0;
|
||||
infoPtr->dragStart.y = 0;
|
||||
infoPtr->dragNow = infoPtr->dragStart;
|
||||
infoPtr->ihitBand = -1;
|
||||
infoPtr->iGrabbedBand = -1;
|
||||
ReleaseCapture ();
|
||||
return ;
|
||||
}
|
||||
infoPtr->fStatus |= BEGIN_DRAG_ISSUED;
|
||||
}
|
||||
|
||||
ihitBand = infoPtr->ihitBand;
|
||||
ihitBand = infoPtr->iGrabbedBand;
|
||||
hitBand = &infoPtr->bands[ihitBand];
|
||||
imaxdBand = ihitBand; /* to suppress warning message */
|
||||
|
||||
|
@ -3402,8 +3457,11 @@ REBAR_SetBandInfoA (REBAR_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
|
|||
}
|
||||
if (lprbbi->lpText) {
|
||||
INT len = MultiByteToWideChar( CP_ACP, 0, lprbbi->lpText, -1, NULL, 0 );
|
||||
lpBand->lpText = (LPWSTR)Alloc (len*sizeof(WCHAR));
|
||||
MultiByteToWideChar( CP_ACP, 0, lprbbi->lpText, -1, lpBand->lpText, len );
|
||||
if (len > 1)
|
||||
{
|
||||
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) {
|
||||
INT len = lstrlenW (lprbbi->lpText);
|
||||
lpBand->lpText = (LPWSTR)Alloc ((len + 1)*sizeof(WCHAR));
|
||||
strcpyW (lpBand->lpText, lprbbi->lpText);
|
||||
if (len > 0)
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
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
|
||||
REBAR_LButtonDown (REBAR_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
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, */
|
||||
/* then ignore the button click. */
|
||||
if (infoPtr->ihitBand == -1) return 0;
|
||||
REBAR_InternalHitTest(infoPtr, &ptMouseDown, &htFlags, &iHitBand);
|
||||
lpBand = &infoPtr->bands[iHitBand];
|
||||
|
||||
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 */
|
||||
lpBand = &infoPtr->bands[infoPtr->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);
|
||||
SetCapture (infoPtr->hwndSelf);
|
||||
infoPtr->iGrabbedBand = iHitBand;
|
||||
|
||||
/* 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;
|
||||
}
|
||||
|
||||
|
||||
static LRESULT
|
||||
REBAR_LButtonUp (REBAR_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
NMHDR layout;
|
||||
RECT rect;
|
||||
INT ihitBand;
|
||||
if (infoPtr->iGrabbedBand >= 0)
|
||||
{
|
||||
NMHDR layout;
|
||||
RECT rect;
|
||||
|
||||
/* If InternalHitTest did not find a hit on the Gripper, */
|
||||
/* then ignore the button click. */
|
||||
if (infoPtr->ihitBand == -1) return 0;
|
||||
infoPtr->dragStart.x = 0;
|
||||
infoPtr->dragStart.y = 0;
|
||||
infoPtr->dragNow = infoPtr->dragStart;
|
||||
|
||||
ihitBand = infoPtr->ihitBand;
|
||||
infoPtr->dragStart.x = 0;
|
||||
infoPtr->dragStart.y = 0;
|
||||
infoPtr->dragNow = infoPtr->dragStart;
|
||||
infoPtr->ihitBand = -1;
|
||||
ReleaseCapture ();
|
||||
|
||||
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) {
|
||||
REBAR_Notify((NMHDR *) &layout, infoPtr, RBN_LAYOUTCHANGED);
|
||||
REBAR_Notify_NMREBAR (infoPtr, ihitBand, RBN_ENDDRAG);
|
||||
infoPtr->fStatus &= ~BEGIN_DRAG_ISSUED;
|
||||
infoPtr->iGrabbedBand = -1;
|
||||
|
||||
GetClientRect(infoPtr->hwndSelf, &rect);
|
||||
InvalidateRect(infoPtr->hwndSelf, NULL, TRUE);
|
||||
}
|
||||
|
||||
GetClientRect(infoPtr->hwndSelf, &rect);
|
||||
InvalidateRect(infoPtr->hwndSelf, NULL, TRUE);
|
||||
|
||||
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
|
||||
REBAR_MouseMove (REBAR_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
REBAR_BAND *band1, *band2;
|
||||
REBAR_BAND *lpChevronBand;
|
||||
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);
|
||||
|
||||
/* if mouse did not move much, exit */
|
||||
if ((abs(ptsmove.x - infoPtr->dragNow.x) <= mindragx) &&
|
||||
(abs(ptsmove.y - infoPtr->dragNow.y) <= mindragy)) return 0;
|
||||
/* if we are currently dragging a band */
|
||||
if (infoPtr->iGrabbedBand >= 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];
|
||||
band2 = &infoPtr->bands[infoPtr->ihitBand];
|
||||
band1 = &infoPtr->bands[infoPtr->iGrabbedBand-1];
|
||||
band2 = &infoPtr->bands[infoPtr->iGrabbedBand];
|
||||
|
||||
/* Test for valid drag case - must not be first band in row */
|
||||
if (infoPtr->dwStyle & CCS_VERT) {
|
||||
if ((ptsmove.x < band2->rcBand.left) ||
|
||||
(ptsmove.x > band2->rcBand.right) ||
|
||||
((infoPtr->ihitBand > 0) && (band1->iRow != band2->iRow))) {
|
||||
FIXME("Cannot drag to other rows yet!!\n");
|
||||
}
|
||||
else {
|
||||
REBAR_HandleLRDrag (infoPtr, &ptsmove);
|
||||
}
|
||||
/* if mouse did not move much, exit */
|
||||
if ((abs(ptsmove.x - infoPtr->dragNow.x) <= mindragx) &&
|
||||
(abs(ptsmove.y - infoPtr->dragNow.y) <= mindragy)) return 0;
|
||||
|
||||
/* Test for valid drag case - must not be first band in row */
|
||||
if (infoPtr->dwStyle & CCS_VERT) {
|
||||
if ((ptsmove.x < band2->rcBand.left) ||
|
||||
(ptsmove.x > band2->rcBand.right) ||
|
||||
((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 {
|
||||
if ((ptsmove.y < band2->rcBand.top) ||
|
||||
(ptsmove.y > band2->rcBand.bottom) ||
|
||||
((infoPtr->ihitBand > 0) && (band1->iRow != band2->iRow))) {
|
||||
FIXME("Cannot drag to other rows yet!!\n");
|
||||
}
|
||||
else {
|
||||
REBAR_HandleLRDrag (infoPtr, &ptsmove);
|
||||
}
|
||||
else
|
||||
{
|
||||
POINT ptMove;
|
||||
INT iHitBand;
|
||||
UINT htFlags;
|
||||
TRACKMOUSEEVENT trackinfo;
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -3869,7 +4046,9 @@ REBAR_NCCreate (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
|||
infoPtr->clrText = CLR_NONE;
|
||||
infoPtr->clrBtnText = GetSysColor (COLOR_BTNTEXT);
|
||||
infoPtr->clrBtnFace = GetSysColor (COLOR_BTNFACE);
|
||||
infoPtr->ihitBand = -1;
|
||||
infoPtr->iOldBand = -1;
|
||||
infoPtr->ichevronhotBand = -2;
|
||||
infoPtr->iGrabbedBand = -1;
|
||||
infoPtr->hwndSelf = hwnd;
|
||||
infoPtr->DoRedraw = TRUE;
|
||||
infoPtr->hcurArrow = LoadCursorA (0, (LPSTR)IDC_ARROW);
|
||||
|
@ -4349,6 +4528,9 @@ REBAR_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
|||
case RB_MOVEBAND:
|
||||
return REBAR_MoveBand (infoPtr, wParam, lParam);
|
||||
|
||||
case RB_PUSHCHEVRON:
|
||||
return REBAR_PushChevron (infoPtr, wParam, lParam);
|
||||
|
||||
case RB_SETBANDINFOA:
|
||||
return REBAR_SetBandInfoA (infoPtr, wParam, lParam);
|
||||
|
||||
|
@ -4425,6 +4607,9 @@ REBAR_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
|||
case WM_MOUSEMOVE:
|
||||
return REBAR_MouseMove (infoPtr, wParam, lParam);
|
||||
|
||||
case WM_MOUSELEAVE:
|
||||
return REBAR_MouseLeave (infoPtr, wParam, lParam);
|
||||
|
||||
case WM_NCCALCSIZE:
|
||||
return REBAR_NCCalcSize (infoPtr, wParam, lParam);
|
||||
|
||||
|
|
|
@ -1,89 +1,89 @@
|
|||
/*
|
||||
* Copyright 2002 Tisheng Chen
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
|
||||
#pragma code_page(936)
|
||||
|
||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "属性 "
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "确定", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "取消", IDCANCEL,58,122,50,14
|
||||
PUSHBUTTON "应用(&A)", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||
PUSHBUTTON "帮助", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,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 "结束", IDC_FINISH_BUTTON,121,138,50,14
|
||||
DEFPUSHBUTTON "下一步(&N) >", IDC_NEXT_BUTTON,121,138,50,14
|
||||
PUSHBUTTON "< 上一步(&B)", IDC_BACK_BUTTON,71,138,50,14
|
||||
PUSHBUTTON "取消", IDCANCEL,178,138,50,14
|
||||
PUSHBUTTON "帮助", IDHELP,235,138,50,14,WS_GROUP
|
||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||
END
|
||||
|
||||
|
||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "自定义工具栏"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "关闭(&C)", IDCANCEL,308,6,44,14
|
||||
PUSHBUTTON "重置(&e)", IDC_RESET_BTN,308,23,44,14
|
||||
PUSHBUTTON "帮助(&H)", IDC_HELP_BTN,308,40,44,14
|
||||
PUSHBUTTON "上移(&U)", IDC_MOVEUP_BTN,308,74,44,14
|
||||
PUSHBUTTON "下移(&D)", IDC_MOVEDN_BTN,308,91,44,14
|
||||
LTEXT "可用工具栏按钮(&V):", -1,4,5,84,10
|
||||
LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "添加(&A) ->", IDOK, 131, 42, 44, 14
|
||||
PUSHBUTTON "<- 删除(&R)", IDC_REMOVE_BTN,131,62,44,14
|
||||
LTEXT "当前工具栏按钮(&T):", -1,182,5,78,10
|
||||
LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_CLOSE "关闭"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDM_TODAY "Today:"
|
||||
IDM_GOTODAY "Go to today"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_SEPARATOR "分隔符"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
HKY_NONE "None"
|
||||
}
|
||||
|
||||
#pragma code_page(default)
|
||||
/*
|
||||
* Copyright 2002 Tisheng Chen
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
|
||||
#pragma code_page(936)
|
||||
|
||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "属性 "
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "确定", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "取消", IDCANCEL,58,122,50,14
|
||||
PUSHBUTTON "应用(&A)", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||
PUSHBUTTON "帮助", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,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 "结束", IDC_FINISH_BUTTON,121,138,50,14
|
||||
DEFPUSHBUTTON "下一步(&N) >", IDC_NEXT_BUTTON,121,138,50,14
|
||||
PUSHBUTTON "< 上一步(&B)", IDC_BACK_BUTTON,71,138,50,14
|
||||
PUSHBUTTON "取消", IDCANCEL,178,138,50,14
|
||||
PUSHBUTTON "帮助", IDHELP,235,138,50,14,WS_GROUP
|
||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||
END
|
||||
|
||||
|
||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "自定义工具栏"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "关闭(&C)", IDCANCEL,308,6,44,14
|
||||
PUSHBUTTON "重置(&e)", IDC_RESET_BTN,308,23,44,14
|
||||
PUSHBUTTON "帮助(&H)", IDC_HELP_BTN,308,40,44,14
|
||||
PUSHBUTTON "上移(&U)", IDC_MOVEUP_BTN,308,74,44,14
|
||||
PUSHBUTTON "下移(&D)", IDC_MOVEDN_BTN,308,91,44,14
|
||||
LTEXT "可用工具栏按钮(&V):", -1,4,5,84,10
|
||||
LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "添加(&A) ->", IDOK, 131, 42, 44, 14
|
||||
PUSHBUTTON "<- 删除(&R)", IDC_REMOVE_BTN,131,62,44,14
|
||||
LTEXT "当前工具栏按钮(&T):", -1,182,5,78,10
|
||||
LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_CLOSE "关闭"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDM_TODAY "Today:"
|
||||
IDM_GOTODAY "Go to today"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_SEPARATOR "分隔符"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
HKY_NONE "None"
|
||||
}
|
||||
|
||||
#pragma code_page(default)
|
||||
|
|
|
@ -1,81 +1,81 @@
|
|||
/*
|
||||
* Copyright 2000 Uwe Bonnes
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_GERMAN, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_CLOSE "Schließen"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDM_TODAY "Heute:"
|
||||
IDM_GOTODAY "Gehe zu Heute"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_SEPARATOR "Trennzeichen"
|
||||
}
|
||||
|
||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Eigenschaften für "
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "A&bbrechen", IDCANCEL,58,122,50,14
|
||||
PUSHBUTTON "&Anwenden", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||
PUSHBUTTON "&Hilfe", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,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 "&Beenden", IDC_FINISH_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 "Abbrechen", IDCANCEL,178,138,50,14
|
||||
PUSHBUTTON "&Hilfe", IDHELP,235,138,50,14,WS_GROUP
|
||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||
END
|
||||
|
||||
|
||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Toolbar einrichten"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&Schließen", IDCANCEL,308,6,44,14
|
||||
PUSHBUTTON "&Zurücksetzen", IDC_RESET_BTN,308,23,44,14
|
||||
PUSHBUTTON "&Hilfe", IDC_HELP_BTN,308,40,44,14
|
||||
PUSHBUTTON "Nach &Oben verschieben", IDC_MOVEUP_BTN,308,74,44,14
|
||||
PUSHBUTTON "Nach &Unten verschieben", IDC_MOVEDN_BTN,308,91,44,14
|
||||
LTEXT "&Vorhandene Knö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
|
||||
PUSHBUTTON "H&inzufügen ->", IDOK, 131, 42, 44, 14
|
||||
PUSHBUTTON "<- &Löschen", IDC_REMOVE_BTN,131,62,44,14
|
||||
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
|
||||
END
|
||||
/*
|
||||
* Copyright 2000 Uwe Bonnes
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_GERMAN, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_CLOSE "Schließen"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDM_TODAY "Heute:"
|
||||
IDM_GOTODAY "Gehe zu Heute"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_SEPARATOR "Trennzeichen"
|
||||
}
|
||||
|
||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Eigenschaften für "
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "A&bbrechen", IDCANCEL,58,122,50,14
|
||||
PUSHBUTTON "&Anwenden", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||
PUSHBUTTON "&Hilfe", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,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 "&Beenden", IDC_FINISH_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 "Abbrechen", IDCANCEL,178,138,50,14
|
||||
PUSHBUTTON "&Hilfe", IDHELP,235,138,50,14,WS_GROUP
|
||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||
END
|
||||
|
||||
|
||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Toolbar einrichten"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&Schließen", IDCANCEL,308,6,44,14
|
||||
PUSHBUTTON "&Zurücksetzen", IDC_RESET_BTN,308,23,44,14
|
||||
PUSHBUTTON "&Hilfe", IDC_HELP_BTN,308,40,44,14
|
||||
PUSHBUTTON "Nach &Oben verschieben", IDC_MOVEUP_BTN,308,74,44,14
|
||||
PUSHBUTTON "Nach &Unten verschieben", IDC_MOVEDN_BTN,308,91,44,14
|
||||
LTEXT "&Vorhandene Knö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
|
||||
PUSHBUTTON "H&inzufügen ->", IDOK, 131, 42, 44, 14
|
||||
PUSHBUTTON "<- &Löschen", IDC_REMOVE_BTN,131,62,44,14
|
||||
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
|
||||
END
|
||||
|
|
|
@ -1,86 +1,86 @@
|
|||
/*
|
||||
* Copyright 1999 Eric Kohl
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
|
||||
|
||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Properties for "
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "Cancel", IDCANCEL,58,122,50,14
|
||||
PUSHBUTTON "&Apply", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||
PUSHBUTTON "Help", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,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 "Finish", IDC_FINISH_BUTTON,121,138,50,14
|
||||
DEFPUSHBUTTON "&Next >", IDC_NEXT_BUTTON,121,138,50,14
|
||||
PUSHBUTTON "< &Back", IDC_BACK_BUTTON,71,138,50,14
|
||||
PUSHBUTTON "Cancel", IDCANCEL,178,138,50,14
|
||||
PUSHBUTTON "Help", IDHELP,235,138,50,14,WS_GROUP
|
||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||
END
|
||||
|
||||
|
||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Customize Toolbar"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&Close", IDCANCEL,308,6,44,14
|
||||
PUSHBUTTON "R&eset", IDC_RESET_BTN,308,23,44,14
|
||||
PUSHBUTTON "&Help", IDC_HELP_BTN,308,40,44,14
|
||||
PUSHBUTTON "Move &Up", IDC_MOVEUP_BTN,308,74,44,14
|
||||
PUSHBUTTON "Move &Down", IDC_MOVEDN_BTN,308,91,44,14
|
||||
LTEXT "A&vailable buttons:", -1,4,5,84,10
|
||||
LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "&Add ->", IDOK, 131, 42, 44, 14
|
||||
PUSHBUTTON "<- &Remove", IDC_REMOVE_BTN,131,62,44,14
|
||||
LTEXT "&Toolbar buttons:", -1,182,5,78,10
|
||||
LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_CLOSE "Close"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDM_TODAY "Today:"
|
||||
IDM_GOTODAY "Go to today"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_SEPARATOR "Separator"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
HKY_NONE "None"
|
||||
}
|
||||
/*
|
||||
* Copyright 1999 Eric Kohl
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
|
||||
|
||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Properties for "
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "Cancel", IDCANCEL,58,122,50,14
|
||||
PUSHBUTTON "&Apply", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||
PUSHBUTTON "Help", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,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 "Finish", IDC_FINISH_BUTTON,121,138,50,14
|
||||
DEFPUSHBUTTON "&Next >", IDC_NEXT_BUTTON,121,138,50,14
|
||||
PUSHBUTTON "< &Back", IDC_BACK_BUTTON,71,138,50,14
|
||||
PUSHBUTTON "Cancel", IDCANCEL,178,138,50,14
|
||||
PUSHBUTTON "Help", IDHELP,235,138,50,14,WS_GROUP
|
||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||
END
|
||||
|
||||
|
||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Customize Toolbar"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&Close", IDCANCEL,308,6,44,14
|
||||
PUSHBUTTON "R&eset", IDC_RESET_BTN,308,23,44,14
|
||||
PUSHBUTTON "&Help", IDC_HELP_BTN,308,40,44,14
|
||||
PUSHBUTTON "Move &Up", IDC_MOVEUP_BTN,308,74,44,14
|
||||
PUSHBUTTON "Move &Down", IDC_MOVEDN_BTN,308,91,44,14
|
||||
LTEXT "A&vailable buttons:", -1,4,5,84,10
|
||||
LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "&Add ->", IDOK, 131, 42, 44, 14
|
||||
PUSHBUTTON "<- &Remove", IDC_REMOVE_BTN,131,62,44,14
|
||||
LTEXT "&Toolbar buttons:", -1,182,5,78,10
|
||||
LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_CLOSE "Close"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDM_TODAY "Today:"
|
||||
IDM_GOTODAY "Go to today"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_SEPARATOR "Separator"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
HKY_NONE "None"
|
||||
}
|
||||
|
|
|
@ -1,86 +1,86 @@
|
|||
/*
|
||||
* Copyright 2003 José Manuel Ferrer Ortiz
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_SPANISH, SUBLANG_DEFAULT
|
||||
|
||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Propiedades de "
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Aceptar", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "Cancelar", IDCANCEL,58,122,50,14
|
||||
PUSHBUTTON "&Aplicar", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||
PUSHBUTTON "Ayuda", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
||||
END
|
||||
|
||||
|
||||
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Ayudante"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Terminar", IDC_FINISH_BUTTON,121,138,50,14
|
||||
DEFPUSHBUTTON "&Siguiente >", IDC_NEXT_BUTTON,121,138,50,14
|
||||
PUSHBUTTON "< &Anterior", IDC_BACK_BUTTON,71,138,50,14
|
||||
PUSHBUTTON "Cancelar", IDCANCEL,178,138,50,14
|
||||
PUSHBUTTON "Ayuda", IDHELP,235,138,50,14,WS_GROUP
|
||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||
END
|
||||
|
||||
|
||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Personalizar barra de herramientas"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&Cerrar", IDCANCEL,308,6,44,14
|
||||
PUSHBUTTON "R&estaurar", IDC_RESET_BTN,308,23,44,14
|
||||
PUSHBUTTON "&Ayuda", IDC_HELP_BTN,308,40,44,14
|
||||
PUSHBUTTON "Mover A&rriba", IDC_MOVEUP_BTN,308,74,44,14
|
||||
PUSHBUTTON "Mover A&bajo", IDC_MOVEDN_BTN,308,91,44,14
|
||||
LTEXT "Botones &disponibles:", -1,4,5,84,10
|
||||
LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "A&ñadir ->", IDOK, 131, 42, 44, 14
|
||||
PUSHBUTTON "<- &Eliminar", IDC_REMOVE_BTN,131,62,44,14
|
||||
LTEXT "B&otones de la barra:", -1,182,5,78,10
|
||||
LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_CLOSE "Cerrar"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDM_TODAY "Hoy:"
|
||||
IDM_GOTODAY "Ir a hoy"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_SEPARATOR "Separador"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
HKY_NONE "Ninguno"
|
||||
}
|
||||
/*
|
||||
* Copyright 2003 José Manuel Ferrer Ortiz
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_SPANISH, SUBLANG_DEFAULT
|
||||
|
||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Propiedades de "
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Aceptar", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "Cancelar", IDCANCEL,58,122,50,14
|
||||
PUSHBUTTON "&Aplicar", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||
PUSHBUTTON "Ayuda", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
||||
END
|
||||
|
||||
|
||||
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Ayudante"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Terminar", IDC_FINISH_BUTTON,121,138,50,14
|
||||
DEFPUSHBUTTON "&Siguiente >", IDC_NEXT_BUTTON,121,138,50,14
|
||||
PUSHBUTTON "< &Anterior", IDC_BACK_BUTTON,71,138,50,14
|
||||
PUSHBUTTON "Cancelar", IDCANCEL,178,138,50,14
|
||||
PUSHBUTTON "Ayuda", IDHELP,235,138,50,14,WS_GROUP
|
||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||
END
|
||||
|
||||
|
||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Personalizar barra de herramientas"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&Cerrar", IDCANCEL,308,6,44,14
|
||||
PUSHBUTTON "R&estaurar", IDC_RESET_BTN,308,23,44,14
|
||||
PUSHBUTTON "&Ayuda", IDC_HELP_BTN,308,40,44,14
|
||||
PUSHBUTTON "Mover A&rriba", IDC_MOVEUP_BTN,308,74,44,14
|
||||
PUSHBUTTON "Mover A&bajo", IDC_MOVEDN_BTN,308,91,44,14
|
||||
LTEXT "Botones &disponibles:", -1,4,5,84,10
|
||||
LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "A&ñadir ->", IDOK, 131, 42, 44, 14
|
||||
PUSHBUTTON "<- &Eliminar", IDC_REMOVE_BTN,131,62,44,14
|
||||
LTEXT "B&otones de la barra:", -1,182,5,78,10
|
||||
LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_CLOSE "Cerrar"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDM_TODAY "Hoy:"
|
||||
IDM_GOTODAY "Ir a hoy"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_SEPARATOR "Separador"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
HKY_NONE "Ninguno"
|
||||
}
|
||||
|
|
|
@ -1,90 +1,90 @@
|
|||
/*
|
||||
* Comctl32
|
||||
* French language support
|
||||
*
|
||||
* Copyright 1999 Eric Kohl
|
||||
* Copyright 2003 Vincent Béron
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Propriétés pour "
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "Annuler", IDCANCEL,58,122,50,14
|
||||
PUSHBUTTON "&Appliquer", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||
PUSHBUTTON "Aide", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||
CONTROL "onglet", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
||||
END
|
||||
|
||||
|
||||
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Assistant"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Terminer", IDC_FINISH_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 "Annuler", IDCANCEL,178,138,50,14
|
||||
PUSHBUTTON "Aide", IDHELP,235,138,50,14,WS_GROUP
|
||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||
CONTROL "Onglet", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||
END
|
||||
|
||||
|
||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Personnaliser la barre d'outils"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&Fermer", IDCANCEL,308,6,44,14
|
||||
PUSHBUTTON "&Réinitialiser", IDC_RESET_BTN,308,23,44,14
|
||||
PUSHBUTTON "&Aide", IDC_HELP_BTN,308,40,44,14
|
||||
PUSHBUTTON "&Monter", IDC_MOVEUP_BTN,308,74,44,14
|
||||
PUSHBUTTON "&Descendre", IDC_MOVEDN_BTN,308,91,44,14
|
||||
LTEXT "Boutons disponibles :", -1,4,5,84,10
|
||||
LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "A&jouter ->", IDOK, 131, 42, 44, 14
|
||||
PUSHBUTTON "<- &Enlever", IDC_REMOVE_BTN,131,62,44,14
|
||||
LTEXT "&Boutons de la barre d'outils :", -1,182,5,78,10
|
||||
LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_CLOSE "Fermer"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDM_TODAY "Aujourd'hui:"
|
||||
IDM_GOTODAY "Aller à aujourd'hui"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_SEPARATOR "Séparateur"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
HKY_NONE "Aucun"
|
||||
}
|
||||
/*
|
||||
* Comctl32
|
||||
* French language support
|
||||
*
|
||||
* Copyright 1999 Eric Kohl
|
||||
* Copyright 2003 Vincent Béron
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Propriétés pour "
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "Annuler", IDCANCEL,58,122,50,14
|
||||
PUSHBUTTON "&Appliquer", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||
PUSHBUTTON "Aide", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||
CONTROL "onglet", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
||||
END
|
||||
|
||||
|
||||
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Assistant"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Terminer", IDC_FINISH_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 "Annuler", IDCANCEL,178,138,50,14
|
||||
PUSHBUTTON "Aide", IDHELP,235,138,50,14,WS_GROUP
|
||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||
CONTROL "Onglet", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||
END
|
||||
|
||||
|
||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Personnaliser la barre d'outils"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&Fermer", IDCANCEL,308,6,44,14
|
||||
PUSHBUTTON "&Réinitialiser", IDC_RESET_BTN,308,23,44,14
|
||||
PUSHBUTTON "&Aide", IDC_HELP_BTN,308,40,44,14
|
||||
PUSHBUTTON "&Monter", IDC_MOVEUP_BTN,308,74,44,14
|
||||
PUSHBUTTON "&Descendre", IDC_MOVEDN_BTN,308,91,44,14
|
||||
LTEXT "Boutons disponibles :", -1,4,5,84,10
|
||||
LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "A&jouter ->", IDOK, 131, 42, 44, 14
|
||||
PUSHBUTTON "<- &Enlever", IDC_REMOVE_BTN,131,62,44,14
|
||||
LTEXT "&Boutons de la barre d'outils :", -1,182,5,78,10
|
||||
LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_CLOSE "Fermer"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDM_TODAY "Aujourd'hui:"
|
||||
IDM_GOTODAY "Aller à aujourd'hui"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_SEPARATOR "Séparateur"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
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>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
|
||||
|
||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Properties for "
|
||||
FONT 9, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "확인", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "취소", IDCANCEL,58,122,50,14
|
||||
PUSHBUTTON "적용(&A)", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||
PUSHBUTTON "도움말", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
||||
END
|
||||
|
||||
|
||||
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Wizard"
|
||||
FONT 9, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "종료", IDC_FINISH_BUTTON,121,138,50,14
|
||||
DEFPUSHBUTTON "다음(&N) >", IDC_NEXT_BUTTON,121,138,50,14
|
||||
PUSHBUTTON "< 이전(&B)", IDC_BACK_BUTTON,71,138,50,14
|
||||
PUSHBUTTON "취소", IDCANCEL,178,138,50,14
|
||||
PUSHBUTTON "도움말", IDHELP,235,138,50,14,WS_GROUP
|
||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||
END
|
||||
|
||||
|
||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Customize Toolbar"
|
||||
FONT 9, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "닫기(&C)", IDCANCEL,308,6,44,14
|
||||
PUSHBUTTON "다시(&e)", IDC_RESET_BTN,308,23,44,14
|
||||
PUSHBUTTON "도움말(&H)", IDC_HELP_BTN,308,40,44,14
|
||||
PUSHBUTTON "Move &Up", IDC_MOVEUP_BTN,308,74,44,14
|
||||
PUSHBUTTON "Move &Down", IDC_MOVEDN_BTN,308,91,44,14
|
||||
LTEXT "A&vailable buttons:", -1,4,5,84,10
|
||||
LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "&Add ->", IDOK, 131, 42, 44, 14
|
||||
PUSHBUTTON "<- &Remove", IDC_REMOVE_BTN,131,62,44,14
|
||||
LTEXT "&Toolbar buttons:", -1,182,5,78,10
|
||||
LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_CLOSE "닫기"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDM_TODAY "오늘:"
|
||||
IDM_GOTODAY "Go to today"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_SEPARATOR "Separator"
|
||||
}
|
||||
/*
|
||||
* Copyright 2002 Won-kyu Park <wkpark@kldp.org>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
|
||||
|
||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Properties for "
|
||||
FONT 9, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "확인", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "취소", IDCANCEL,58,122,50,14
|
||||
PUSHBUTTON "적용(&A)", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||
PUSHBUTTON "도움말", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
||||
END
|
||||
|
||||
|
||||
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Wizard"
|
||||
FONT 9, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "종료", IDC_FINISH_BUTTON,121,138,50,14
|
||||
DEFPUSHBUTTON "다음(&N) >", IDC_NEXT_BUTTON,121,138,50,14
|
||||
PUSHBUTTON "< 이전(&B)", IDC_BACK_BUTTON,71,138,50,14
|
||||
PUSHBUTTON "취소", IDCANCEL,178,138,50,14
|
||||
PUSHBUTTON "도움말", IDHELP,235,138,50,14,WS_GROUP
|
||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||
END
|
||||
|
||||
|
||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Customize Toolbar"
|
||||
FONT 9, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "닫기(&C)", IDCANCEL,308,6,44,14
|
||||
PUSHBUTTON "다시(&e)", IDC_RESET_BTN,308,23,44,14
|
||||
PUSHBUTTON "도움말(&H)", IDC_HELP_BTN,308,40,44,14
|
||||
PUSHBUTTON "Move &Up", IDC_MOVEUP_BTN,308,74,44,14
|
||||
PUSHBUTTON "Move &Down", IDC_MOVEDN_BTN,308,91,44,14
|
||||
LTEXT "A&vailable buttons:", -1,4,5,84,10
|
||||
LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "&Add ->", IDOK, 131, 42, 44, 14
|
||||
PUSHBUTTON "<- &Remove", IDC_REMOVE_BTN,131,62,44,14
|
||||
LTEXT "&Toolbar buttons:", -1,182,5,78,10
|
||||
LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_CLOSE "닫기"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDM_TODAY "오늘:"
|
||||
IDM_GOTODAY "Go to today"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
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 2002 Jacek Bator
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
|
||||
|
||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "W³aœciwoœci "
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "Anuluj", IDCANCEL,58,122,50,14
|
||||
PUSHBUTTON "&Zastosuj", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||
PUSHBUTTON "Pomoc", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
||||
END
|
||||
|
||||
|
||||
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Kreator"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Zakoñcz", IDC_FINISH_BUTTON,121,138,50,14
|
||||
DEFPUSHBUTTON "&Dalej >", IDC_NEXT_BUTTON,121,138,50,14
|
||||
PUSHBUTTON "< &Wstecz", IDC_BACK_BUTTON,71,138,50,14
|
||||
PUSHBUTTON "Anuluj", IDCANCEL,178,138,50,14
|
||||
PUSHBUTTON "Pomoc", IDHELP,235,138,50,14,WS_GROUP
|
||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||
END
|
||||
|
||||
|
||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Dostosowywanie paska narzêdzi"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&Zamknij", IDCANCEL,308,6,44,14
|
||||
PUSHBUTTON "Z&resetuj", IDC_RESET_BTN,308,23,44,14
|
||||
PUSHBUTTON "&Pomoc", IDC_HELP_BTN,308,40,44,14
|
||||
PUSHBUTTON "Przenieœ &w górê", IDC_MOVEUP_BTN,308,74,44,14
|
||||
PUSHBUTTON "Przenieœ w &dó³", IDC_MOVEDN_BTN,308,91,44,14
|
||||
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
|
||||
PUSHBUTTON "D&odaj ->", IDOK, 131, 42, 44, 14
|
||||
PUSHBUTTON "<- &Usuñ", IDC_REMOVE_BTN,131,62,44,14
|
||||
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
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_CLOSE "Zamknij"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDM_TODAY "Dziœ:"
|
||||
IDM_GOTODAY "IdŸ do dziœ"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_SEPARATOR "Odstêp"
|
||||
}
|
||||
/*
|
||||
* Copyright 1999 Eric Kohl
|
||||
* Copyright 2002 Jacek Bator
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
|
||||
|
||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "W³aœciwoœci "
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "Anuluj", IDCANCEL,58,122,50,14
|
||||
PUSHBUTTON "&Zastosuj", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||
PUSHBUTTON "Pomoc", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
||||
END
|
||||
|
||||
|
||||
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Kreator"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Zakoñcz", IDC_FINISH_BUTTON,121,138,50,14
|
||||
DEFPUSHBUTTON "&Dalej >", IDC_NEXT_BUTTON,121,138,50,14
|
||||
PUSHBUTTON "< &Wstecz", IDC_BACK_BUTTON,71,138,50,14
|
||||
PUSHBUTTON "Anuluj", IDCANCEL,178,138,50,14
|
||||
PUSHBUTTON "Pomoc", IDHELP,235,138,50,14,WS_GROUP
|
||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||
END
|
||||
|
||||
|
||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Dostosowywanie paska narzêdzi"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&Zamknij", IDCANCEL,308,6,44,14
|
||||
PUSHBUTTON "Z&resetuj", IDC_RESET_BTN,308,23,44,14
|
||||
PUSHBUTTON "&Pomoc", IDC_HELP_BTN,308,40,44,14
|
||||
PUSHBUTTON "Przenieœ &w górê", IDC_MOVEUP_BTN,308,74,44,14
|
||||
PUSHBUTTON "Przenieœ w &dó³", IDC_MOVEDN_BTN,308,91,44,14
|
||||
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
|
||||
PUSHBUTTON "D&odaj ->", IDOK, 131, 42, 44, 14
|
||||
PUSHBUTTON "<- &Usuñ", IDC_REMOVE_BTN,131,62,44,14
|
||||
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
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_CLOSE "Zamknij"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDM_TODAY "Dziœ:"
|
||||
IDM_GOTODAY "IdŸ do dziœ"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_SEPARATOR "Odstêp"
|
||||
}
|
||||
|
|
|
@ -1,86 +1,86 @@
|
|||
/*
|
||||
* Copyright 2003 Marcelo Duarte
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_PORTUGUESE, SUBLANG_DEFAULT
|
||||
|
||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Propriedades para "
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "Cancelar", IDCANCEL,58,122,50,14
|
||||
PUSHBUTTON "&Aplicar", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||
PUSHBUTTON "Ajuda", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
||||
END
|
||||
|
||||
|
||||
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Assistente"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Finalizar", IDC_FINISH_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 "Cancelar", IDCANCEL,178,138,50,14
|
||||
PUSHBUTTON "Ajuda", IDHELP,235,138,50,14,WS_GROUP
|
||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||
END
|
||||
|
||||
|
||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Personalizar barra de ferramentas"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&Fechar", IDCANCEL,308,6,44,14
|
||||
PUSHBUTTON "R&estaurar", IDC_RESET_BTN,308,23,44,14
|
||||
PUSHBUTTON "&Ajuda", IDC_HELP_BTN,308,40,44,14
|
||||
PUSHBUTTON "A&cima", IDC_MOVEUP_BTN,308,74,44,14
|
||||
PUSHBUTTON "A&baixo", IDC_MOVEDN_BTN,308,91,44,14
|
||||
LTEXT "Botõ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
|
||||
PUSHBUTTON "&Adicionar ->", IDOK, 131, 42, 44, 14
|
||||
PUSHBUTTON "<- &Remover", IDC_REMOVE_BTN,131,62,44,14
|
||||
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
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_CLOSE "Fechar"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDM_TODAY "Hoje:"
|
||||
IDM_GOTODAY "Ir para hoje"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_SEPARATOR "Separador"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
HKY_NONE "Nenhum"
|
||||
}
|
||||
/*
|
||||
* Copyright 2003 Marcelo Duarte
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_PORTUGUESE, SUBLANG_DEFAULT
|
||||
|
||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Propriedades para "
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "Cancelar", IDCANCEL,58,122,50,14
|
||||
PUSHBUTTON "&Aplicar", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||
PUSHBUTTON "Ajuda", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
||||
END
|
||||
|
||||
|
||||
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Assistente"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Finalizar", IDC_FINISH_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 "Cancelar", IDCANCEL,178,138,50,14
|
||||
PUSHBUTTON "Ajuda", IDHELP,235,138,50,14,WS_GROUP
|
||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||
END
|
||||
|
||||
|
||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Personalizar barra de ferramentas"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&Fechar", IDCANCEL,308,6,44,14
|
||||
PUSHBUTTON "R&estaurar", IDC_RESET_BTN,308,23,44,14
|
||||
PUSHBUTTON "&Ajuda", IDC_HELP_BTN,308,40,44,14
|
||||
PUSHBUTTON "A&cima", IDC_MOVEUP_BTN,308,74,44,14
|
||||
PUSHBUTTON "A&baixo", IDC_MOVEDN_BTN,308,91,44,14
|
||||
LTEXT "Botõ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
|
||||
PUSHBUTTON "&Adicionar ->", IDOK, 131, 42, 44, 14
|
||||
PUSHBUTTON "<- &Remover", IDC_REMOVE_BTN,131,62,44,14
|
||||
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
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_CLOSE "Fechar"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDM_TODAY "Hoje:"
|
||||
IDM_GOTODAY "Ir para hoje"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_SEPARATOR "Separador"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
HKY_NONE "Nenhum"
|
||||
}
|
||||
|
|
|
@ -1,88 +1,88 @@
|
|||
/*
|
||||
* comctl (Russian resources)
|
||||
*
|
||||
* Copyright 2003 Igor Stepin
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
|
||||
|
||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Ñâîéñòâà äëÿ "
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "Îòìåíà", IDCANCEL,58,122,50,14
|
||||
PUSHBUTTON "Ïðè&ìåíèòü", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||
PUSHBUTTON "&Ñïðàâêà", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
||||
END
|
||||
|
||||
|
||||
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Ìàñòåð"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Çàâåðøèòü", IDC_FINISH_BUTTON,121,138,50,14
|
||||
DEFPUSHBUTTON "&Äàëåå >", IDC_NEXT_BUTTON,121,138,50,14
|
||||
PUSHBUTTON "< &Íàçàä", IDC_BACK_BUTTON,71,138,50,14
|
||||
PUSHBUTTON "Îòìåíà", IDCANCEL,178,138,50,14
|
||||
PUSHBUTTON "&Ñïðàâêà", IDHELP,235,138,50,14,WS_GROUP
|
||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||
END
|
||||
|
||||
|
||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Íàñòðîéêà ïàíåëè èíñòðóìåíòîâ"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&Çàêðûòü", IDCANCEL,308,6,44,14
|
||||
PUSHBUTTON "Ñ&áðîñèòü", IDC_RESET_BTN,308,23,44,14
|
||||
PUSHBUTTON "&Ñïðàâêà", IDC_HELP_BTN,308,40,44,14
|
||||
PUSHBUTTON "Ïåðåìåñòèòü &ââåðõ", IDC_MOVEUP_BTN,308,74,44,14
|
||||
PUSHBUTTON "Ïåðåìåñòèòü &âíèç", IDC_MOVEDN_BTN,308,91,44,14
|
||||
LTEXT "&Äîñòóïíûå êíîïêè:", -1,4,5,84,10
|
||||
LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "&Äîáàâèòü ->", IDOK, 131, 42, 44, 14
|
||||
PUSHBUTTON "<- &Óäàëèòü", IDC_REMOVE_BTN,131,62,44,14
|
||||
LTEXT "&Êíîïêè ïàíåëè èíñòðóìåíòîâ:", -1,182,5,78,10
|
||||
LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_CLOSE "Çàêðûòü"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDM_TODAY "Ñåãîäíÿ:"
|
||||
IDM_GOTODAY "Òåêóùàÿ äàòà"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_SEPARATOR "Ðàçäåëèòåëü"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
HKY_NONE "Íåò"
|
||||
}
|
||||
/*
|
||||
* comctl (Russian resources)
|
||||
*
|
||||
* Copyright 2003 Igor Stepin
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
|
||||
|
||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Ñâîéñòâà äëÿ "
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "Îòìåíà", IDCANCEL,58,122,50,14
|
||||
PUSHBUTTON "Ïðè&ìåíèòü", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||
PUSHBUTTON "&Ñïðàâêà", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,4,4,212,114
|
||||
END
|
||||
|
||||
|
||||
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Ìàñòåð"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Çàâåðøèòü", IDC_FINISH_BUTTON,121,138,50,14
|
||||
DEFPUSHBUTTON "&Äàëåå >", IDC_NEXT_BUTTON,121,138,50,14
|
||||
PUSHBUTTON "< &Íàçàä", IDC_BACK_BUTTON,71,138,50,14
|
||||
PUSHBUTTON "Îòìåíà", IDCANCEL,178,138,50,14
|
||||
PUSHBUTTON "&Ñïðàâêà", IDHELP,235,138,50,14,WS_GROUP
|
||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||
END
|
||||
|
||||
|
||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Íàñòðîéêà ïàíåëè èíñòðóìåíòîâ"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&Çàêðûòü", IDCANCEL,308,6,44,14
|
||||
PUSHBUTTON "Ñ&áðîñèòü", IDC_RESET_BTN,308,23,44,14
|
||||
PUSHBUTTON "&Ñïðàâêà", IDC_HELP_BTN,308,40,44,14
|
||||
PUSHBUTTON "Ïåðåìåñòèòü &ââåðõ", IDC_MOVEUP_BTN,308,74,44,14
|
||||
PUSHBUTTON "Ïåðåìåñòèòü &âíèç", IDC_MOVEDN_BTN,308,91,44,14
|
||||
LTEXT "&Äîñòóïíûå êíîïêè:", -1,4,5,84,10
|
||||
LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "&Äîáàâèòü ->", IDOK, 131, 42, 44, 14
|
||||
PUSHBUTTON "<- &Óäàëèòü", IDC_REMOVE_BTN,131,62,44,14
|
||||
LTEXT "&Êíîïêè ïàíåëè èíñòðóìåíòîâ:", -1,182,5,78,10
|
||||
LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_CLOSE "Çàêðûòü"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDM_TODAY "Ñåãîäíÿ:"
|
||||
IDM_GOTODAY "Òåêóùàÿ äàòà"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_SEPARATOR "Ðàçäåëèòåëü"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
HKY_NONE "Íåò"
|
||||
}
|
||||
|
|
|
@ -1,81 +1,81 @@
|
|||
/*
|
||||
* Copyright 2002-2003 Rok Mandeljc <rok.mandeljc@gimb.org>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT
|
||||
|
||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Lastnosti"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "V redu", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "Preklièi", IDCANCEL,58,122,50,14
|
||||
PUSHBUTTON "&Uporabi", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||
PUSHBUTTON "Pomoè", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,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 "Èarovnik"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Dokonèaj", IDC_FINISH_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 "Preklièi", IDCANCEL,178,138,50,14
|
||||
PUSHBUTTON "Pomoè", IDHELP,235,138,50,14,WS_GROUP
|
||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||
END
|
||||
|
||||
|
||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Prilagoditev orodne vrstice"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&Zapri", IDCANCEL,308,6,44,14
|
||||
PUSHBUTTON "Po&nastavi", IDC_RESET_BTN,308,23,44,14
|
||||
PUSHBUTTON "&Pomoè", IDC_HELP_BTN,308,40,44,14
|
||||
PUSHBUTTON "N&avzgor", IDC_MOVEUP_BTN,308,74,44,14
|
||||
PUSHBUTTON "Na&vzdol", IDC_MOVEDN_BTN,308,91,44,14
|
||||
LTEXT "&Gumbi na voljo:", -1,4,5,84,10
|
||||
LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "&Dodaj ->", IDOK, 131, 42, 44, 14
|
||||
PUSHBUTTON "<- &Odstrani", IDC_REMOVE_BTN,131,62,44,14
|
||||
LTEXT "G&umbi orodne vrstice:", -1,182,5,78,10
|
||||
LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_CLOSE "Zapri"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDM_TODAY "Danes:"
|
||||
IDM_GOTODAY "&Poglejte danes"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_SEPARATOR "Loèilo"
|
||||
}
|
||||
/*
|
||||
* Copyright 2002-2003 Rok Mandeljc <rok.mandeljc@gimb.org>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT
|
||||
|
||||
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Lastnosti"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "V redu", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "Preklièi", IDCANCEL,58,122,50,14
|
||||
PUSHBUTTON "&Uporabi", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
|
||||
PUSHBUTTON "Pomoè", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP,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 "Èarovnik"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Dokonèaj", IDC_FINISH_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 "Preklièi", IDCANCEL,178,138,50,14
|
||||
PUSHBUTTON "Pomoè", IDHELP,235,138,50,14,WS_GROUP
|
||||
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
|
||||
CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
|
||||
END
|
||||
|
||||
|
||||
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Prilagoditev orodne vrstice"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&Zapri", IDCANCEL,308,6,44,14
|
||||
PUSHBUTTON "Po&nastavi", IDC_RESET_BTN,308,23,44,14
|
||||
PUSHBUTTON "&Pomoè", IDC_HELP_BTN,308,40,44,14
|
||||
PUSHBUTTON "N&avzgor", IDC_MOVEUP_BTN,308,74,44,14
|
||||
PUSHBUTTON "Na&vzdol", IDC_MOVEDN_BTN,308,91,44,14
|
||||
LTEXT "&Gumbi na voljo:", -1,4,5,84,10
|
||||
LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "&Dodaj ->", IDOK, 131, 42, 44, 14
|
||||
PUSHBUTTON "<- &Odstrani", IDC_REMOVE_BTN,131,62,44,14
|
||||
LTEXT "G&umbi orodne vrstice:", -1,182,5,78,10
|
||||
LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_CLOSE "Zapri"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDM_TODAY "Danes:"
|
||||
IDM_GOTODAY "&Poglejte danes"
|
||||
}
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_SEPARATOR "Loèilo"
|
||||
}
|
||||
|
|
|
@ -807,8 +807,8 @@ STATUSBAR_WMDestroy (STATUSWINDOWINFO *infoPtr)
|
|||
if (infoPtr->hwndToolTip)
|
||||
DestroyWindow (infoPtr->hwndToolTip);
|
||||
|
||||
Free (infoPtr);
|
||||
SetWindowLongW(infoPtr->Self, 0, 0);
|
||||
Free (infoPtr);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -79,7 +79,7 @@ typedef struct
|
|||
BOOL DoRedraw; /* flag for redrawing when tab contents is changed*/
|
||||
BOOL needsScrolling; /* TRUE if the size of the tabs is greater than
|
||||
* 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? */
|
||||
HWND hwndUpDown; /* Updown control used for scrolling */
|
||||
} TAB_INFO;
|
||||
|
@ -93,7 +93,7 @@ typedef struct
|
|||
#define DISPLAY_AREA_PADDINGY 2
|
||||
#define CONTROL_BORDER_SIZEX 2
|
||||
#define CONTROL_BORDER_SIZEY 2
|
||||
#define BUTTON_SPACINGX 4
|
||||
#define BUTTON_SPACINGX 3
|
||||
#define BUTTON_SPACINGY 4
|
||||
#define FLAT_BTN_SPACINGX 8
|
||||
#define DEFAULT_TAB_WIDTH 96
|
||||
|
@ -344,11 +344,10 @@ static BOOL TAB_InternalGetItemRect(
|
|||
itemRect->bottom = clientRect.top +
|
||||
infoPtr->tabHeight +
|
||||
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 +
|
||||
SELECTED_TAB_OFFSET +
|
||||
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;
|
||||
RECT* rcItem;
|
||||
INT iIndex;
|
||||
INT icon_width = 0;
|
||||
|
||||
/*
|
||||
* 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;
|
||||
curItemRowCount = infoPtr->uNumItem ? 1 : 0;
|
||||
|
||||
if (!(lStyle & TCS_FIXEDWIDTH) && !((lStyle & TCS_OWNERDRAWFIXED) && infoPtr->fSizeSet) )
|
||||
if (!(infoPtr->fHeightSet))
|
||||
{
|
||||
int item_height;
|
||||
int icon_height = 0;
|
||||
|
@ -1134,38 +1134,36 @@ static void TAB_SetItemBounds (HWND hwnd)
|
|||
|
||||
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++)
|
||||
{
|
||||
/* Set the leftmost position of the tab. */
|
||||
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->tabWidth +
|
||||
2 * infoPtr->uHItemPadding;
|
||||
max(infoPtr->tabWidth, icon_width);
|
||||
}
|
||||
else
|
||||
{
|
||||
int icon_width = 0;
|
||||
int num = 2;
|
||||
|
||||
/* Calculate how wide the tab is depending on the text it contains */
|
||||
GetTextExtentPoint32W(hdc, infoPtr->items[curItem].pszText,
|
||||
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 +
|
||||
size.cx + icon_width +
|
||||
num * infoPtr->uHItemPadding;
|
||||
|
@ -1215,7 +1213,7 @@ static void TAB_SetItemBounds (HWND hwnd)
|
|||
*/
|
||||
if (lStyle & TCS_BUTTONS)
|
||||
{
|
||||
curItemLeftPos = infoPtr->items[curItem].rect.right + 1;
|
||||
curItemLeftPos = infoPtr->items[curItem].rect.right + BUTTON_SPACINGX;
|
||||
if (lStyle & TCS_FLATBUTTONS)
|
||||
curItemLeftPos += FLAT_BTN_SPACINGX;
|
||||
}
|
||||
|
@ -1547,7 +1545,7 @@ TAB_DrawItemInterior
|
|||
|
||||
/* used to center the icon and text in the tab */
|
||||
RECT rcText;
|
||||
INT center_offset;
|
||||
INT center_offset_h, center_offset_v;
|
||||
|
||||
/*
|
||||
* Deflate the rectangle to acount for the padding
|
||||
|
@ -1585,34 +1583,46 @@ TAB_DrawItemInterior
|
|||
ImageList_GetIconSize(infoPtr->himl, &cx, &cy);
|
||||
|
||||
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
|
||||
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",
|
||||
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,
|
||||
(rcText.right-rcText.left));
|
||||
|
||||
if((lStyle & TCS_VERTICAL) && (lStyle & TCS_BOTTOM))
|
||||
{
|
||||
rcImage.top = drawRect->top + center_offset;
|
||||
rcImage.left = drawRect->right - cx; /* 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 */
|
||||
/* this keeps the image always drawn off of the same side of the tab */
|
||||
rcImage.top = drawRect->top + center_offset_h;
|
||||
/* 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 */
|
||||
/* 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);
|
||||
}
|
||||
else if(lStyle & TCS_VERTICAL)
|
||||
{
|
||||
rcImage.top = drawRect->bottom - cy - center_offset;
|
||||
rcImage.left--;
|
||||
rcImage.top = drawRect->bottom - cy - center_offset_h;
|
||||
rcImage.left = drawRect->left + center_offset_v;
|
||||
drawRect->bottom = rcImage.top - infoPtr->uHItemPadding;
|
||||
}
|
||||
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;
|
||||
rcImage.top -= (lStyle & TCS_BOTTOM) ? 2 : 1;
|
||||
rcImage.top = drawRect->top + center_offset_v;
|
||||
}
|
||||
|
||||
TRACE("drawing image=%d, left=%ld, top=%ld\n",
|
||||
|
@ -1626,33 +1636,47 @@ TAB_DrawItemInterior
|
|||
rcImage.top,
|
||||
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)
|
||||
{
|
||||
center_offset = 0;
|
||||
center_offset_h = 0;
|
||||
/*
|
||||
currently the rcText rect is flawed because the rotated font does not
|
||||
often match the horizontal font. So leave this as 0
|
||||
((drawRect->bottom - drawRect->top) - (rcText.right - rcText.left)) / 2;
|
||||
*/
|
||||
if(lStyle & TCS_BOTTOM)
|
||||
drawRect->top+=center_offset;
|
||||
drawRect->top+=center_offset_h;
|
||||
else
|
||||
drawRect->bottom-=center_offset;
|
||||
drawRect->bottom-=center_offset_h;
|
||||
}
|
||||
else
|
||||
{
|
||||
center_offset = ((drawRect->right - drawRect->left) - (rcText.right - rcText.left)) / 2;
|
||||
drawRect->left+=center_offset;
|
||||
center_offset_h = ((drawRect->right - drawRect->left) - (rcText.right - rcText.left)) / 2;
|
||||
drawRect->left+=center_offset_h;
|
||||
}
|
||||
}
|
||||
|
||||
/* Draw the text */
|
||||
if (lStyle & TCS_RIGHTJUSTIFY)
|
||||
uHorizAlign = DT_CENTER;
|
||||
if(lStyle & TCS_VERTICAL)
|
||||
{
|
||||
center_offset_v = ((drawRect->right - drawRect->left) - ((rcText.bottom - rcText.top) + infoPtr->uVItemPadding)) / 2;
|
||||
drawRect->left += center_offset_v;
|
||||
}
|
||||
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;
|
||||
else
|
||||
uHorizAlign = DT_CENTER;
|
||||
|
||||
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)
|
||||
{
|
||||
/* Background color */
|
||||
if (!((lStyle & TCS_OWNERDRAWFIXED) && infoPtr->fSizeSet))
|
||||
if (!(lStyle & TCS_OWNERDRAWFIXED))
|
||||
{
|
||||
DeleteObject(hbr);
|
||||
hbr = GetSysColorBrush(COLOR_SCROLLBAR);
|
||||
|
@ -2334,36 +2358,41 @@ static void TAB_InvalidateTabArea(
|
|||
RECT clientRect, r;
|
||||
DWORD lStyle = GetWindowLongA(hwnd, GWL_STYLE);
|
||||
INT lastRow = infoPtr->uNumRows - 1;
|
||||
RECT rect;
|
||||
|
||||
if (lastRow < 0) return;
|
||||
|
||||
GetClientRect(hwnd, &clientRect);
|
||||
|
||||
TAB_InternalGetItemRect(hwnd, infoPtr, infoPtr->uNumItem-1 , &rect, NULL);
|
||||
if ((lStyle & TCS_BOTTOM) && !(lStyle & TCS_VERTICAL))
|
||||
{
|
||||
clientRect.top = clientRect.bottom -
|
||||
infoPtr->tabHeight -
|
||||
lastRow * (infoPtr->tabHeight - 2) -
|
||||
((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))
|
||||
{
|
||||
clientRect.left = clientRect.right - infoPtr->tabHeight -
|
||||
lastRow * (infoPtr->tabHeight - 2) -
|
||||
((lStyle & TCS_BUTTONS) ? lastRow * BUTTON_SPACINGY : 0) - 2;
|
||||
clientRect.bottom = clientRect.top + rect.bottom + 2 * SELECTED_TAB_OFFSET;
|
||||
}
|
||||
else if(lStyle & TCS_VERTICAL)
|
||||
{
|
||||
clientRect.right = clientRect.left + infoPtr->tabHeight +
|
||||
lastRow * (infoPtr->tabHeight - 2) -
|
||||
((lStyle & TCS_BUTTONS) ? lastRow * BUTTON_SPACINGY : 0) + 2;
|
||||
|
||||
clientRect.bottom = clientRect.top + rect.bottom + 2 * SELECTED_TAB_OFFSET;
|
||||
}
|
||||
else
|
||||
{
|
||||
clientRect.bottom = clientRect.top + infoPtr->tabHeight +
|
||||
lastRow * (infoPtr->tabHeight - 2) +
|
||||
((lStyle & TCS_BUTTONS) ? lastRow * BUTTON_SPACINGY : 0) + 2;
|
||||
clientRect.right = clientRect.left + rect.right + 2 * SELECTED_TAB_OFFSET;
|
||||
}
|
||||
|
||||
/* Punch out the updown control */
|
||||
|
@ -2385,15 +2414,20 @@ TAB_Paint (HWND hwnd, WPARAM wParam)
|
|||
HDC hdc;
|
||||
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",
|
||||
ps.fErase,
|
||||
ps.rcPaint.left,ps.rcPaint.top,ps.rcPaint.right,ps.rcPaint.bottom);
|
||||
|
||||
if (ps.fErase)
|
||||
if (ps.fErase)
|
||||
TAB_EraseBackground (hwnd, hdc);
|
||||
|
||||
} else {
|
||||
hdc = (HDC)wParam;
|
||||
}
|
||||
|
||||
TAB_Refresh (hwnd, hdc);
|
||||
|
||||
if(!wParam)
|
||||
|
@ -2557,20 +2591,34 @@ TAB_SetItemSize (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
|||
TAB_INFO *infoPtr = TAB_GetInfoPtr(hwnd);
|
||||
LONG lStyle = GetWindowLongA(hwnd, GWL_STYLE);
|
||||
LONG lResult = 0;
|
||||
BOOL bNeedPaint = FALSE;
|
||||
|
||||
TRACE("\n");
|
||||
if ((lStyle & TCS_FIXEDWIDTH) || (lStyle & TCS_OWNERDRAWFIXED))
|
||||
lResult = MAKELONG(infoPtr->tabWidth, infoPtr->tabHeight);
|
||||
|
||||
/* 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);
|
||||
/* UNDOCUMENTED: If requested Width or Height is 0 this means that program wants to use default. */
|
||||
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->tabWidth = max((INT)LOWORD(lParam), infoPtr->tabMinWidth);
|
||||
bNeedPaint = TRUE;
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -2776,61 +2824,63 @@ TAB_GetItemW (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
|||
static LRESULT
|
||||
TAB_DeleteItem (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
TAB_INFO *infoPtr = TAB_GetInfoPtr(hwnd);
|
||||
INT iItem = (INT) wParam;
|
||||
BOOL bResult = FALSE;
|
||||
TAB_INFO *infoPtr = TAB_GetInfoPtr(hwnd);
|
||||
INT iItem = (INT) wParam;
|
||||
BOOL bResult = FALSE;
|
||||
|
||||
if ((iItem >= 0) && (iItem < infoPtr->uNumItem))
|
||||
{
|
||||
TAB_ITEM *oldItems = infoPtr->items;
|
||||
if ((iItem >= 0) && (iItem < infoPtr->uNumItem))
|
||||
{
|
||||
TAB_ITEM *oldItems = infoPtr->items;
|
||||
|
||||
TAB_InvalidateTabArea(hwnd, infoPtr);
|
||||
|
||||
infoPtr->uNumItem--;
|
||||
infoPtr->items = Alloc(sizeof (TAB_ITEM) * infoPtr->uNumItem);
|
||||
infoPtr->uNumItem--;
|
||||
infoPtr->items = Alloc(sizeof (TAB_ITEM) * infoPtr->uNumItem);
|
||||
|
||||
if (iItem > 0)
|
||||
memcpy(&infoPtr->items[0], &oldItems[0], iItem * sizeof(TAB_ITEM));
|
||||
if (iItem > 0)
|
||||
memcpy(&infoPtr->items[0], &oldItems[0], iItem * sizeof(TAB_ITEM));
|
||||
|
||||
if (iItem < infoPtr->uNumItem)
|
||||
memcpy(&infoPtr->items[iItem], &oldItems[iItem + 1],
|
||||
(infoPtr->uNumItem - iItem) * sizeof(TAB_ITEM));
|
||||
if (iItem < infoPtr->uNumItem)
|
||||
memcpy(&infoPtr->items[iItem], &oldItems[iItem + 1],
|
||||
(infoPtr->uNumItem - iItem) * sizeof(TAB_ITEM));
|
||||
|
||||
Free(oldItems);
|
||||
Free(oldItems);
|
||||
|
||||
/* Readjust the selected index */
|
||||
if ((iItem == infoPtr->iSelected) && (iItem > 0))
|
||||
infoPtr->iSelected--;
|
||||
/* Readjust the selected index */
|
||||
if ((iItem == infoPtr->iSelected) && (iItem > 0))
|
||||
infoPtr->iSelected--;
|
||||
|
||||
if (iItem < infoPtr->iSelected)
|
||||
infoPtr->iSelected--;
|
||||
if (iItem < infoPtr->iSelected)
|
||||
infoPtr->iSelected--;
|
||||
|
||||
if (infoPtr->uNumItem == 0)
|
||||
infoPtr->iSelected = -1;
|
||||
if (infoPtr->uNumItem == 0)
|
||||
infoPtr->iSelected = -1;
|
||||
|
||||
/* Reposition and repaint tabs */
|
||||
TAB_SetItemBounds(hwnd);
|
||||
TAB_InvalidateTabArea(hwnd,infoPtr);
|
||||
/* Reposition and repaint tabs */
|
||||
TAB_SetItemBounds(hwnd);
|
||||
|
||||
bResult = TRUE;
|
||||
}
|
||||
bResult = TRUE;
|
||||
}
|
||||
|
||||
return bResult;
|
||||
return bResult;
|
||||
}
|
||||
|
||||
static LRESULT
|
||||
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);
|
||||
infoPtr->uNumItem = 0;
|
||||
infoPtr->iSelected = -1;
|
||||
if (infoPtr->iHotTracked >= 0)
|
||||
KillTimer(hwnd, TAB_HOTTRACK_TIMER);
|
||||
infoPtr->iHotTracked = -1;
|
||||
|
||||
TAB_SetItemBounds(hwnd);
|
||||
TAB_InvalidateTabArea(hwnd,infoPtr);
|
||||
return TRUE;
|
||||
Free (infoPtr->items);
|
||||
infoPtr->uNumItem = 0;
|
||||
infoPtr->iSelected = -1;
|
||||
if (infoPtr->iHotTracked >= 0)
|
||||
KillTimer(hwnd, TAB_HOTTRACK_TIMER);
|
||||
infoPtr->iHotTracked = -1;
|
||||
|
||||
TAB_SetItemBounds(hwnd);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
@ -2966,7 +3016,7 @@ TAB_Create (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
|||
infoPtr->needsScrolling = FALSE;
|
||||
infoPtr->hwndUpDown = 0;
|
||||
infoPtr->leftmostVisible = 0;
|
||||
infoPtr->fSizeSet = FALSE;
|
||||
infoPtr->fHeightSet = FALSE;
|
||||
infoPtr->bUnicode = IsWindowUnicode (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. */
|
||||
infoPtr->tabWidth = DEFAULT_TAB_WIDTH;
|
||||
/* The minimum width is the default width at creation */
|
||||
infoPtr->tabMinWidth = DEFAULT_TAB_WIDTH;
|
||||
infoPtr->tabMinWidth = 0;
|
||||
|
||||
TRACE("tabH=%d, tabW=%d\n", infoPtr->tabHeight, infoPtr->tabWidth);
|
||||
|
||||
|
|
|
@ -176,6 +176,12 @@ typedef struct
|
|||
WCHAR text[64];
|
||||
} CUSTOMBUTTON, *PCUSTOMBUTTON;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
IMAGE_LIST_DEFAULT,
|
||||
IMAGE_LIST_HOT,
|
||||
IMAGE_LIST_DISABLED
|
||||
} IMAGE_LIST_TYPE;
|
||||
|
||||
#define SEPARATOR_WIDTH 8
|
||||
#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.
|
||||
*/
|
||||
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)
|
||||
{
|
||||
INT index;
|
||||
|
||||
if (!himl) return FALSE;
|
||||
HIMAGELIST himl;
|
||||
|
||||
if (!TOOLBAR_IsValidBitmapIndex(infoPtr,btnPtr->iBitmap)) {
|
||||
if (btnPtr->iBitmap == I_IMAGENONE) return FALSE;
|
||||
|
@ -385,6 +390,29 @@ TOOLBAR_DrawImageList (TOOLBAR_INFO *infoPtr, TBUTTON_INFO *btnPtr, HIMAGELIST h
|
|||
index);
|
||||
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",
|
||||
index, himl, left, top, draw_flags);
|
||||
|
||||
|
@ -524,31 +552,32 @@ TOOLBAR_DrawArrow (HDC hdc, INT left, INT top, INT colorRef)
|
|||
*/
|
||||
static void
|
||||
TOOLBAR_DrawString (TOOLBAR_INFO *infoPtr, TBUTTON_INFO *btnPtr,
|
||||
HDC hdc, INT nState, DWORD dwStyle,
|
||||
HDC hdc, DWORD dwStyle,
|
||||
RECT *rcText, LPWSTR lpText, NMTBCUSTOMDRAW *tbcd)
|
||||
{
|
||||
HFONT hOldFont = 0;
|
||||
COLORREF clrOld = 0;
|
||||
UINT state = tbcd->nmcd.uItemState;
|
||||
|
||||
/* draw text */
|
||||
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);
|
||||
|
||||
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);
|
||||
OffsetRect (rcText, 1, 1);
|
||||
DrawTextW (hdc, lpText, -1, rcText, infoPtr->dwDTFlags);
|
||||
SetTextColor (hdc, comctl32_color.clr3dShadow);
|
||||
OffsetRect (rcText, -1, -1);
|
||||
}
|
||||
else if (nState & TBSTATE_INDETERMINATE) {
|
||||
else if (state & CDIS_INDETERMINATE) {
|
||||
clrOld = SetTextColor (hdc, comctl32_color.clr3dShadow);
|
||||
}
|
||||
else if (btnPtr->bHot && (infoPtr->dwItemCDFlag & TBCDRF_HILITEHOTTRACK )) {
|
||||
clrOld = SetTextColor (hdc, tbcd->clrTextHighlight);
|
||||
}
|
||||
else {
|
||||
clrOld = SetTextColor (hdc, tbcd->clrText);
|
||||
}
|
||||
|
@ -636,7 +665,6 @@ TOOLBAR_DrawButton (HWND hwnd, TBUTTON_INFO *btnPtr, HDC hdc)
|
|||
NMTBCUSTOMDRAW tbcd;
|
||||
DWORD ntfret;
|
||||
INT offset;
|
||||
HIMAGELIST himlDef;
|
||||
|
||||
if (btnPtr->fsState & TBSTATE_HIDDEN)
|
||||
return;
|
||||
|
@ -734,6 +762,10 @@ TOOLBAR_DrawButton (HWND hwnd, TBUTTON_INFO *btnPtr, HDC hdc)
|
|||
tbcd.rcText.top = 0;
|
||||
tbcd.rcText.right = rcText.right - rc.left;
|
||||
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 ????? */
|
||||
tbcd.hbrMonoDither = 0;
|
||||
|
@ -749,7 +781,6 @@ TOOLBAR_DrawButton (HWND hwnd, TBUTTON_INFO *btnPtr, HDC hdc)
|
|||
tbcd.nmcd.hdc = hdc;
|
||||
tbcd.nmcd.rc = rc;
|
||||
tbcd.nmcd.dwItemSpec = btnPtr->idCommand;
|
||||
tbcd.nmcd.uItemState = TOOLBAR_TranslateState(btnPtr);
|
||||
tbcd.nmcd.lItemlParam = btnPtr->dwData;
|
||||
ntfret = TOOLBAR_SendNotify ((NMHDR *)&tbcd, infoPtr, NM_CUSTOMDRAW);
|
||||
infoPtr->dwItemCustDraw = ntfret & 0xffff;
|
||||
|
@ -784,12 +815,31 @@ TOOLBAR_DrawButton (HWND hwnd, TBUTTON_INFO *btnPtr, HDC hdc)
|
|||
goto FINALNOTIFY;
|
||||
}
|
||||
|
||||
/* Determine index of image list */
|
||||
himlDef = GETDEFIMAGELIST(infoPtr, GETHIMLID(infoPtr, btnPtr->iBitmap));
|
||||
if ((dwStyle & TBSTYLE_FLAT) && (tbcd.nmcd.uItemState & CDIS_HOT))
|
||||
{
|
||||
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 */
|
||||
if (!(btnPtr->fsState & TBSTATE_ENABLED)) {
|
||||
HIMAGELIST himlDis = GETDISIMAGELIST(infoPtr, GETHIMLID(infoPtr, btnPtr->iBitmap));
|
||||
if (tbcd.nmcd.uItemState & CDIS_DISABLED) {
|
||||
if (!(dwStyle & TBSTYLE_FLAT) && !(infoPtr->dwItemCDFlag & TBCDRF_NOEDGES))
|
||||
{
|
||||
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);
|
||||
}
|
||||
|
||||
if (!TOOLBAR_DrawImageList (infoPtr, btnPtr, himlDis,
|
||||
if (!TOOLBAR_DrawImageList (infoPtr, btnPtr, IMAGE_LIST_DISABLED,
|
||||
hdc, rcBitmap.left, rcBitmap.top,
|
||||
ILD_NORMAL))
|
||||
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;
|
||||
}
|
||||
|
||||
/* pressed TBSTYLE_BUTTON */
|
||||
if (btnPtr->fsState & TBSTATE_PRESSED) {
|
||||
if (tbcd.nmcd.uItemState & CDIS_SELECTED) {
|
||||
offset = (infoPtr->dwItemCDFlag & TBCDRF_NOOFFSET) ? 0 : 1;
|
||||
if (!(infoPtr->dwItemCDFlag & TBCDRF_NOEDGES))
|
||||
{
|
||||
|
@ -836,17 +886,17 @@ TOOLBAR_DrawButton (HWND hwnd, TBUTTON_INFO *btnPtr, HDC hdc)
|
|||
if (hasDropDownArrow)
|
||||
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,
|
||||
ILD_NORMAL);
|
||||
|
||||
TOOLBAR_DrawString (infoPtr, btnPtr, hdc, btnPtr->fsState, dwStyle, &rcText, lpText, &tbcd);
|
||||
TOOLBAR_DrawString (infoPtr, btnPtr, hdc, dwStyle, &rcText, lpText, &tbcd);
|
||||
goto FINALNOTIFY;
|
||||
}
|
||||
|
||||
/* checked TBSTYLE_CHECK */
|
||||
if ((btnPtr->fsStyle & TBSTYLE_CHECK) &&
|
||||
(btnPtr->fsState & TBSTATE_CHECKED)) {
|
||||
if ((tbcd.nmcd.uItemState & CDIS_CHECKED) &&
|
||||
(btnPtr->fsStyle & TBSTYLE_CHECK)) {
|
||||
if (!(infoPtr->dwItemCDFlag & TBCDRF_NOEDGES))
|
||||
{
|
||||
if (dwStyle & TBSTYLE_FLAT)
|
||||
|
@ -859,80 +909,45 @@ TOOLBAR_DrawButton (HWND hwnd, TBUTTON_INFO *btnPtr, HDC hdc)
|
|||
|
||||
TOOLBAR_DrawPattern (hdc, &rc);
|
||||
|
||||
TOOLBAR_DrawImageList (infoPtr, btnPtr, himlDef,
|
||||
TOOLBAR_DrawImageList (infoPtr, btnPtr, IMAGE_LIST_DEFAULT,
|
||||
hdc, rcBitmap.left+1, rcBitmap.top+1,
|
||||
ILD_NORMAL);
|
||||
|
||||
TOOLBAR_DrawString (infoPtr, btnPtr, hdc, btnPtr->fsState, dwStyle, &rcText, lpText, &tbcd);
|
||||
TOOLBAR_DrawString (infoPtr, btnPtr, hdc, dwStyle, &rcText, lpText, &tbcd);
|
||||
goto FINALNOTIFY;
|
||||
}
|
||||
|
||||
/* indeterminate */
|
||||
if (btnPtr->fsState & TBSTATE_INDETERMINATE) {
|
||||
if (tbcd.nmcd.uItemState & CDIS_INDETERMINATE) {
|
||||
if (!(infoPtr->dwItemCDFlag & TBCDRF_NOEDGES))
|
||||
DrawEdge (hdc, &rc, EDGE_RAISED,
|
||||
BF_SOFT | BF_RECT | BF_MIDDLE | BF_ADJUST);
|
||||
|
||||
TOOLBAR_DrawPattern (hdc, &rc);
|
||||
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;
|
||||
}
|
||||
|
||||
/* normal state */
|
||||
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)
|
||||
TOOLBAR_DrawArrow(hdc, rcArrow.left+1, rcArrow.top + (rcArrow.bottom - rcArrow.top - ARROW_HEIGHT) / 2, COLOR_WINDOWFRAME);
|
||||
|
||||
if (btnPtr->bHot) {
|
||||
HIMAGELIST himlHot = GETHOTIMAGELIST(infoPtr,
|
||||
GETHIMLID(infoPtr, btnPtr->iBitmap));
|
||||
/* if hot, attempt to draw with himlHot, if fails, use himlDef */
|
||||
if (tbcd.nmcd.uItemState & CDIS_HOT) {
|
||||
/* if hot, attempt to draw with hot image list, if fails,
|
||||
use default image list */
|
||||
if (!TOOLBAR_DrawImageList (infoPtr, btnPtr,
|
||||
himlHot,
|
||||
IMAGE_LIST_HOT,
|
||||
hdc, rcBitmap.left,
|
||||
rcBitmap.top, ILD_NORMAL))
|
||||
TOOLBAR_DrawImageList (infoPtr, btnPtr, himlDef,
|
||||
TOOLBAR_DrawImageList (infoPtr, btnPtr, IMAGE_LIST_DEFAULT,
|
||||
hdc, rcBitmap.left, rcBitmap.top,
|
||||
ILD_NORMAL);
|
||||
}
|
||||
else
|
||||
TOOLBAR_DrawImageList (infoPtr, btnPtr, himlDef,
|
||||
TOOLBAR_DrawImageList (infoPtr, btnPtr, IMAGE_LIST_DEFAULT,
|
||||
hdc, rcBitmap.left, rcBitmap.top,
|
||||
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_DrawImageList (infoPtr, btnPtr, himlDef,
|
||||
TOOLBAR_DrawImageList (infoPtr, btnPtr, IMAGE_LIST_DEFAULT,
|
||||
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:
|
||||
if (infoPtr->dwItemCustDraw & CDRF_NOTIFYPOSTPAINT)
|
||||
|
@ -2716,11 +2732,15 @@ TOOLBAR_AutoSize (HWND hwnd)
|
|||
cy = infoPtr->nHeight;
|
||||
cx = infoPtr->nWidth;
|
||||
|
||||
if (dwStyle & CCS_NOMOVEY) {
|
||||
if ((dwStyle & CCS_BOTTOM) == CCS_NOMOVEY) {
|
||||
GetWindowRect(hwnd, &window_rect);
|
||||
ScreenToClient(parent, (LPPOINT)&window_rect.left);
|
||||
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)
|
||||
|
@ -2737,10 +2757,9 @@ TOOLBAR_AutoSize (HWND hwnd)
|
|||
}
|
||||
|
||||
infoPtr->bAutoSize = TRUE;
|
||||
SetWindowPos (hwnd, HWND_TOP, parent_rect.left - x, parent_rect.top - y,
|
||||
cx, cy, uPosFlags);
|
||||
/* The following line makes sure that the infoPtr->bAutoSize is turned off after
|
||||
* the setwindowpos calls */
|
||||
SetWindowPos (hwnd, HWND_TOP, x, y, cx, cy, uPosFlags);
|
||||
/* The following line makes sure that the infoPtr->bAutoSize is turned off
|
||||
* after the setwindowpos calls */
|
||||
infoPtr->bAutoSize = FALSE;
|
||||
|
||||
return 0;
|
||||
|
@ -2780,6 +2799,8 @@ TOOLBAR_ChangeBitmap (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
|||
TBUTTON_INFO *btnPtr;
|
||||
INT nIndex;
|
||||
|
||||
TRACE("button %d, iBitmap now %d\n", wParam, LOWORD(lParam));
|
||||
|
||||
nIndex = TOOLBAR_GetButtonIndex (infoPtr, (INT)wParam, FALSE);
|
||||
if (nIndex == -1)
|
||||
return FALSE;
|
||||
|
@ -4227,6 +4248,8 @@ TOOLBAR_SetHotImageList (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
|||
if (infoPtr->iVersion >= 5)
|
||||
id = wParam;
|
||||
|
||||
TRACE("hwnd = %p, himl = %p, id = %d\n", hwnd, himl, id);
|
||||
|
||||
himlTemp = TOOLBAR_InsertImageList(&infoPtr->himlHot,
|
||||
&infoPtr->cimlHot, himl, id);
|
||||
|
||||
|
@ -5170,10 +5193,9 @@ TOOLBAR_MouseMove (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
|||
|
||||
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 */
|
||||
if(infoPtr->nOldHit >= 0 && infoPtr->nOldHit == infoPtr->nHotItem &&
|
||||
(infoPtr->buttons[infoPtr->nOldHit].fsState & TBSTATE_ENABLED))
|
||||
if(infoPtr->nOldHit >= 0 && infoPtr->nOldHit == infoPtr->nHotItem)
|
||||
{
|
||||
oldBtnPtr = &infoPtr->buttons[infoPtr->nOldHit];
|
||||
oldBtnPtr->bHot = FALSE;
|
||||
|
@ -5186,11 +5208,7 @@ TOOLBAR_MouseMove (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
|||
|
||||
infoPtr->nHotItem = nHit;
|
||||
|
||||
/* only enabled buttons show hot effect */
|
||||
if(infoPtr->buttons[nHit].fsState & TBSTATE_ENABLED)
|
||||
{
|
||||
btnPtr->bHot = TRUE;
|
||||
}
|
||||
btnPtr->bHot = TRUE;
|
||||
}
|
||||
|
||||
nmhotitem.dwFlags = HICF_MOUSE;
|
||||
|
@ -5208,7 +5226,7 @@ TOOLBAR_MouseMove (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
|||
if (oldBtnPtr)
|
||||
InvalidateRect (hwnd, &oldBtnPtr->rect,
|
||||
TOOLBAR_HasText(infoPtr, oldBtnPtr));
|
||||
if (btnPtr && (btnPtr->fsState & TBSTATE_ENABLED))
|
||||
if (btnPtr)
|
||||
InvalidateRect(hwnd, &btnPtr->rect,
|
||||
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
|
||||
* *previous* status of the redraw flag (either 0 or 1)
|
||||
* 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.)
|
||||
*
|
||||
*****************************************************/
|
||||
|
@ -5558,11 +5576,16 @@ TOOLBAR_Size (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
|||
cy = infoPtr->nHeight;
|
||||
cx = infoPtr->nWidth;
|
||||
|
||||
if (dwStyle & CCS_NOMOVEY) {
|
||||
if ((dwStyle & CCS_BOTTOM) == CCS_NOMOVEY) {
|
||||
GetWindowRect(hwnd, &window_rect);
|
||||
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) {
|
||||
|
@ -5581,8 +5604,7 @@ TOOLBAR_Size (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
|||
cx += GetSystemMetrics(SM_CYEDGE);
|
||||
}
|
||||
|
||||
SetWindowPos (hwnd, 0, parent_rect.left - x, parent_rect.top - y,
|
||||
cx, cy, uPosFlags | SWP_NOZORDER);
|
||||
SetWindowPos (hwnd, 0, x, y, cx, cy, uPosFlags | SWP_NOZORDER);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -97,16 +97,49 @@ typedef struct
|
|||
#define TIC_SELECTIONMARKMIN 0x100
|
||||
#define TIC_SELECTIONMARK (TIC_SELECTIONMARKMAX | TIC_SELECTIONMARKMIN)
|
||||
|
||||
static BOOL TRACKBAR_SendNotify (TRACKBAR_INFO *infoPtr, UINT code);
|
||||
|
||||
static inline int
|
||||
notify_customdraw(NMCUSTOMDRAW *pnmcd, int stage)
|
||||
notify_customdraw(TRACKBAR_INFO *infoPtr, NMCUSTOMDRAW *pnmcd, int stage)
|
||||
{
|
||||
pnmcd->dwDrawStage = stage;
|
||||
return SendMessageW (GetParent(pnmcd->hdr.hwndFrom), WM_NOTIFY,
|
||||
return SendMessageW (infoPtr->hwndNotify, WM_NOTIFY,
|
||||
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)
|
||||
{
|
||||
int i, tic, nrTics;
|
||||
|
@ -126,7 +159,7 @@ static void TRACKBAR_RecalculateTics (TRACKBAR_INFO *infoPtr)
|
|||
(nrTics+1)*sizeof (DWORD));
|
||||
if (!infoPtr->tics) {
|
||||
infoPtr->uNumTics = 0;
|
||||
TRACKBAR_SendNotify(infoPtr, NM_OUTOFMEMORY);
|
||||
notify(infoPtr, NM_OUTOFMEMORY);
|
||||
return;
|
||||
}
|
||||
infoPtr->uNumTics = nrTics;
|
||||
|
@ -200,26 +233,44 @@ TRACKBAR_GetAutoPageDirection (TRACKBAR_INFO *infoPtr, POINT clickPoint)
|
|||
}
|
||||
|
||||
static void inline
|
||||
TRACKBAR_PageUp (TRACKBAR_INFO *infoPtr)
|
||||
TRACKBAR_PageDown (TRACKBAR_INFO *infoPtr)
|
||||
{
|
||||
if (infoPtr->lPos == infoPtr->lRangeMax) return;
|
||||
|
||||
infoPtr->lPos += infoPtr->lPageSize;
|
||||
if (infoPtr->lPos > infoPtr->lRangeMax)
|
||||
infoPtr->lPos = infoPtr->lRangeMax;
|
||||
TRACKBAR_SendNotify (infoPtr, TB_PAGEUP);
|
||||
notify_with_scroll (infoPtr, TB_PAGEDOWN);
|
||||
}
|
||||
|
||||
|
||||
static void inline
|
||||
TRACKBAR_PageDown (TRACKBAR_INFO *infoPtr)
|
||||
TRACKBAR_PageUp (TRACKBAR_INFO *infoPtr)
|
||||
{
|
||||
if (infoPtr->lPos == infoPtr->lRangeMin) return;
|
||||
|
||||
infoPtr->lPos -= infoPtr->lPageSize;
|
||||
if (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
|
||||
|
@ -398,9 +449,9 @@ TRACKBAR_AutoPage (TRACKBAR_INFO *infoPtr, POINT clickPoint)
|
|||
TRACE("x=%ld, y=%ld, dir=%ld\n", clickPoint.x, clickPoint.y, dir);
|
||||
|
||||
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);
|
||||
else if (dir < 0 && (infoPtr->flags & TB_AUTO_PAGE_LEFT))
|
||||
TRACKBAR_PageUp(infoPtr);
|
||||
else return FALSE;
|
||||
|
||||
infoPtr->flags |= TB_THUMBPOSCHANGED;
|
||||
|
@ -763,15 +814,15 @@ TRACKBAR_Refresh (TRACKBAR_INFO *infoPtr, HDC hdcDst)
|
|||
|
||||
/* start the paint cycle */
|
||||
nmcd.rc = rcClient;
|
||||
gcdrf = notify_customdraw(&nmcd, CDDS_PREPAINT);
|
||||
gcdrf = notify_customdraw(infoPtr, &nmcd, CDDS_PREPAINT);
|
||||
if (gcdrf & CDRF_SKIPDEFAULT) goto cleanup;
|
||||
|
||||
/* Erase backbround */
|
||||
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));
|
||||
if (gcdrf != CDRF_DODEFAULT)
|
||||
notify_customdraw(&nmcd, CDDS_POSTERASE);
|
||||
notify_customdraw(infoPtr, &nmcd, CDDS_POSTERASE);
|
||||
}
|
||||
|
||||
/* draw channel */
|
||||
|
@ -779,12 +830,12 @@ TRACKBAR_Refresh (TRACKBAR_INFO *infoPtr, HDC hdcDst)
|
|||
nmcd.dwItemSpec = TBCD_CHANNEL;
|
||||
nmcd.uItemState = CDIS_DEFAULT;
|
||||
nmcd.rc = infoPtr->rcChannel;
|
||||
icdrf = notify_customdraw(&nmcd, CDDS_ITEMPREPAINT);
|
||||
icdrf = notify_customdraw(infoPtr, &nmcd, CDDS_ITEMPREPAINT);
|
||||
} else icdrf = CDRF_DODEFAULT;
|
||||
if ( !(icdrf & CDRF_SKIPDEFAULT) ) {
|
||||
TRACKBAR_DrawChannel (infoPtr, hdc, dwStyle);
|
||||
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.uItemState = CDIS_DEFAULT;
|
||||
nmcd.rc = rcClient;
|
||||
icdrf = notify_customdraw(&nmcd, CDDS_ITEMPREPAINT);
|
||||
icdrf = notify_customdraw(infoPtr, &nmcd, CDDS_ITEMPREPAINT);
|
||||
} else icdrf = CDRF_DODEFAULT;
|
||||
if ( !(icdrf & CDRF_SKIPDEFAULT) ) {
|
||||
TRACKBAR_DrawTics (infoPtr, hdc, dwStyle);
|
||||
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.uItemState = infoPtr->flags & TB_DRAG_MODE ? CDIS_HOT : CDIS_DEFAULT;
|
||||
nmcd.rc = infoPtr->rcThumb;
|
||||
icdrf = notify_customdraw(&nmcd, CDDS_ITEMPREPAINT);
|
||||
icdrf = notify_customdraw(infoPtr, &nmcd, CDDS_ITEMPREPAINT);
|
||||
} else icdrf = CDRF_DODEFAULT;
|
||||
if ( !(icdrf & CDRF_SKIPDEFAULT) ) {
|
||||
TRACKBAR_DrawThumb(infoPtr, hdc, dwStyle);
|
||||
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 */
|
||||
if (gcdrf & CDRF_NOTIFYPOSTPAINT)
|
||||
notify_customdraw(&nmcd, CDDS_POSTPAINT);
|
||||
notify_customdraw(infoPtr, &nmcd, CDDS_POSTPAINT);
|
||||
|
||||
cleanup:
|
||||
/* cleanup, if we rendered offscreen */
|
||||
|
@ -1196,7 +1247,7 @@ TRACKBAR_SetTic (TRACKBAR_INFO *infoPtr, LONG lPos)
|
|||
(infoPtr->uNumTics)*sizeof (DWORD));
|
||||
if (!infoPtr->tics) {
|
||||
infoPtr->uNumTics = 0;
|
||||
TRACKBAR_SendNotify(infoPtr, NM_OUTOFMEMORY);
|
||||
notify(infoPtr, NM_OUTOFMEMORY);
|
||||
return FALSE;
|
||||
}
|
||||
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->uTicFreq = 1;
|
||||
infoPtr->tics = NULL;
|
||||
infoPtr->hwndNotify= GetParent (hwnd);
|
||||
infoPtr->hwndNotify= lpcs->hwndParent;
|
||||
|
||||
TRACKBAR_InitializeThumb (infoPtr);
|
||||
|
||||
|
@ -1394,18 +1445,20 @@ static LRESULT
|
|||
TRACKBAR_LButtonUp (TRACKBAR_INFO *infoPtr, DWORD fwKeys, POINTS pts)
|
||||
{
|
||||
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;
|
||||
ReleaseCapture ();
|
||||
TRACKBAR_SendNotify(infoPtr, NM_RELEASEDCAPTURE);
|
||||
notify(infoPtr, NM_RELEASEDCAPTURE);
|
||||
TRACKBAR_ActivateToolTip(infoPtr, FALSE);
|
||||
TRACKBAR_InvalidateThumb(infoPtr, infoPtr->lPos);
|
||||
}
|
||||
if (infoPtr->flags & TB_AUTO_PAGE) {
|
||||
KillTimer (infoPtr->hwndSelf, TB_REFRESH_TIMER);
|
||||
infoPtr->flags &= ~TB_AUTO_PAGE;
|
||||
notify_with_scroll (infoPtr, TB_ENDTRACK);
|
||||
ReleaseCapture ();
|
||||
TRACKBAR_SendNotify(infoPtr, NM_RELEASEDCAPTURE);
|
||||
notify(infoPtr, NM_RELEASEDCAPTURE);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -1415,7 +1468,7 @@ TRACKBAR_LButtonUp (TRACKBAR_INFO *infoPtr, DWORD fwKeys, POINTS pts)
|
|||
static LRESULT
|
||||
TRACKBAR_CaptureChanged (TRACKBAR_INFO *infoPtr)
|
||||
{
|
||||
TRACKBAR_SendNotify (infoPtr, TB_ENDTRACK);
|
||||
notify_with_scroll (infoPtr, TB_ENDTRACK);
|
||||
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
|
||||
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->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);
|
||||
|
@ -1517,55 +1557,50 @@ TRACKBAR_MouseMove (TRACKBAR_INFO *infoPtr, DWORD fwKeys, POINTS pts)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
static BOOL
|
||||
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;
|
||||
|
||||
TRACE("%x\n", nVirtKey);
|
||||
|
||||
switch (nVirtKey) {
|
||||
case VK_UP:
|
||||
if (downIsLeft) goto step_right;
|
||||
if (!vert && downIsLeft) TRACKBAR_LineDown(infoPtr);
|
||||
else TRACKBAR_LineUp(infoPtr);
|
||||
break;
|
||||
case VK_LEFT:
|
||||
step_left:
|
||||
if (infoPtr->lPos == infoPtr->lRangeMin) return FALSE;
|
||||
infoPtr->lPos -= infoPtr->lLineSize;
|
||||
if (infoPtr->lPos < infoPtr->lRangeMin)
|
||||
infoPtr->lPos = infoPtr->lRangeMin;
|
||||
TRACKBAR_SendNotify (infoPtr, TB_LINEUP);
|
||||
if (vert && downIsLeft) TRACKBAR_LineDown(infoPtr);
|
||||
else TRACKBAR_LineUp(infoPtr);
|
||||
break;
|
||||
case VK_DOWN:
|
||||
if (downIsLeft) goto step_left;
|
||||
if (!vert && downIsLeft) TRACKBAR_LineUp(infoPtr);
|
||||
else TRACKBAR_LineDown(infoPtr);
|
||||
break;
|
||||
case VK_RIGHT:
|
||||
step_right:
|
||||
if (infoPtr->lPos == infoPtr->lRangeMax) return FALSE;
|
||||
infoPtr->lPos += infoPtr->lLineSize;
|
||||
if (infoPtr->lPos > infoPtr->lRangeMax)
|
||||
infoPtr->lPos = infoPtr->lRangeMax;
|
||||
TRACKBAR_SendNotify (infoPtr, TB_LINEDOWN);
|
||||
if (vert && downIsLeft) TRACKBAR_LineUp(infoPtr);
|
||||
else TRACKBAR_LineDown(infoPtr);
|
||||
break;
|
||||
case VK_NEXT:
|
||||
if (downIsLeft) goto page_left;
|
||||
page_right:
|
||||
TRACKBAR_PageUp(infoPtr);
|
||||
if (!vert && downIsLeft) TRACKBAR_PageUp(infoPtr);
|
||||
else TRACKBAR_PageDown(infoPtr);
|
||||
break;
|
||||
case VK_PRIOR:
|
||||
if (downIsLeft) goto page_right;
|
||||
page_left:
|
||||
TRACKBAR_PageDown(infoPtr);
|
||||
if (!vert && downIsLeft) TRACKBAR_PageDown(infoPtr);
|
||||
else TRACKBAR_PageUp(infoPtr);
|
||||
break;
|
||||
case VK_HOME:
|
||||
if (infoPtr->lPos == infoPtr->lRangeMin) return FALSE;
|
||||
infoPtr->lPos = infoPtr->lRangeMin;
|
||||
TRACKBAR_SendNotify (infoPtr, TB_TOP);
|
||||
notify_with_scroll (infoPtr, TB_TOP);
|
||||
break;
|
||||
case VK_END:
|
||||
if (infoPtr->lPos == infoPtr->lRangeMax) return FALSE;
|
||||
infoPtr->lPos = infoPtr->lRangeMax;
|
||||
TRACKBAR_SendNotify (infoPtr, TB_BOTTOM);
|
||||
notify_with_scroll (infoPtr, TB_BOTTOM);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1590,7 +1625,7 @@ TRACKBAR_KeyUp (TRACKBAR_INFO *infoPtr, INT nVirtKey, DWORD lKeyData)
|
|||
case VK_PRIOR:
|
||||
case VK_HOME:
|
||||
case VK_END:
|
||||
TRACKBAR_SendNotify (infoPtr, TB_ENDTRACK);
|
||||
notify_with_scroll (infoPtr, TB_ENDTRACK);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
@ -3063,6 +3063,7 @@ TREEVIEW_Sort(TREEVIEW_INFO *infoPtr, BOOL fRecurse, HTREEITEM parent,
|
|||
break;
|
||||
}
|
||||
|
||||
if (!item) item = parent->firstChild;
|
||||
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));
|
||||
|
||||
if (bUser || !(wineItem->state & TVIS_EXPANDEDONCE))
|
||||
if (bUser || ((wineItem->cChildren != 0) &&
|
||||
!(wineItem->state & TVIS_EXPANDEDONCE)))
|
||||
{
|
||||
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_INFO *infoPtr = TREEVIEW_GetInfoPtr(hwnd);
|
||||
|
||||
TRACE("hwnd %p msg %04x wp=%08x lp=%08lx\n", hwnd, uMsg, wParam, lParam);
|
||||
|
||||
if (infoPtr) TREEVIEW_VerifyTree(infoPtr);
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue