source: trunk/src/comctl32/CCBase.h@ 3830

Last change on this file since 3830 was 3410, checked in by cbratschi, 25 years ago

* empty log message *

File size: 2.6 KB
Line 
1/* $Id: CCBase.h,v 1.10 2000-04-16 18:52:38 cbratschi Exp $ */
2/*
3 * COMCTL32 Base Functions and Macros for all Controls
4 *
5 * Copyright 2000 Christoph Bratschi (cbratschi@datacomm.ch)
6 */
7#ifndef __CCBASE_H
8#define __CCBASE_H
9
10#define getInfoPtr(hwnd) ((COMCTL32_HEADER*)GetWindowLongA(hwnd,0))
11#define setInfoPtr(hwnd,infoPtr) (SetWindowLongA(hwnd,0,(DWORD)infoPtr))
12
13typedef struct
14{
15 DWORD dwSize; //whole structure size
16 INT iVersion; //version
17 BOOL fUnicode; //Unicode flag
18 UINT uNotifyFormat; //notify format
19 HWND hwndNotify; //notify window
20} COMCTL32_HEADER;
21
22PVOID initControl(HWND hwnd,DWORD dwSize);
23VOID doneControl(HWND hwnd);
24
25LRESULT defComCtl32ProcA(HWND hwnd,UINT Msg,WPARAM wParam,LPARAM lParam);
26LRESULT defComCtl32ProcW(HWND hwnd,UINT Msg,WPARAM wParam,LPARAM lParam);
27
28BOOL isUnicodeNotify(COMCTL32_HEADER *infoPtr);
29BOOL isUnicodeNotify(HWND hwnd);
30
31HWND getNotifyWindow(COMCTL32_HEADER *infoPtr);
32HWND getNotifyWindow(COMCTL32_HEADER *infoPtr);
33
34LRESULT sendNotify(HWND hwnd,UINT code);
35LRESULT sendNotify(HWND hwndFrom,HWND hwndTo,UINT code);
36LRESULT sendNotify(HWND hwnd,UINT code,LPNMHDR nmhdr);
37LRESULT sendNotify(HWND hwndFrom,HWND hwndTo,UINT code,LPNMHDR nmhdr);
38LRESULT sendNotifyFormat(HWND hwnd,HWND hwndFrom,LPARAM command);
39LRESULT sendCommand(HWND hwnd,UINT wNotifyCode);
40LRESULT sendHScroll(HWND hwnd,UINT wNotifyCode);
41LRESULT sendVScroll(HWND hwnd,UINT wNotifyCode);
42
43HWND createToolTip(HWND hwnd,UINT flags,BOOL addtool);
44VOID destroyToolTip(HWND hwndToolTip);
45
46VOID drawStubControl(HWND hwnd,HDC hdc);
47
48#define lstrlenAW(text,unicode) (unicode ? lstrlenW((WCHAR*)text):lstrlenA((CHAR*)text))
49
50#define lstrcpyAW(textA,unicodeA,textB,unicodeB) (unicodeA ? (unicodeB ? lstrcpyW((WCHAR*)textA,(WCHAR*)textB):lstrcpyAtoW((WCHAR*)textA,(CHAR*)textB)):(unicodeB ? lstrcpyWtoA((CHAR*)textA,(WCHAR*)textB):lstrcpyA((CHAR*)textA,(CHAR*)textB)))
51
52INT lstrcmpAtoW(CHAR *textA,WCHAR *textW);
53INT lstrcmpAW(WCHAR *textA,BOOL textaunicode,WCHAR *textB,BOOL textbunicode);
54
55//read note in CCBase.cpp!!
56INT lstrcmpniA(CHAR *textA,CHAR *textB,INT len);
57INT lstrcmpniAtoW(CHAR *textA,WCHAR* textB,INT len);
58INT lstrcmpniW(WCHAR *textA,WCHAR *textB,INT len);
59INT lstrcmpniAW(WCHAR *textA,BOOL unicodeA,WCHAR *textB,BOOL unicodeB,INT len);
60
61CHAR* lstrstrA(CHAR *text,CHAR *subtext);
62WCHAR* lstrstrW(WCHAR *text,WCHAR *subtext);
63CHAR* lstrstrAtoW(CHAR *text,WCHAR *subtext);
64WCHAR* lstrstrWtoA(WCHAR *text,CHAR *subtext);
65WCHAR* lstrstrAW(WCHAR *text,BOOL textunicode,WCHAR *subtext,BOOL subtextunicode);
66
67#define TICKDIFF(start,end) ((end > start) ? (end-start):(0xFFFFFFFF-start+end))
68
69#endif
Note: See TracBrowser for help on using the repository browser.