mirror of
https://github.com/reactos/reactos.git
synced 2025-02-23 08:55:19 +00:00
[WINHLP32]
* Sync with Wine 1.5.26. svn path=/trunk/; revision=58776
This commit is contained in:
parent
6f32c8afee
commit
39349fee62
10 changed files with 1107 additions and 873 deletions
|
@ -11,14 +11,11 @@ list(APPEND SOURCE
|
|||
callback.c
|
||||
hlpfile.c
|
||||
macro.c
|
||||
macro.lex.yy.c
|
||||
string.c
|
||||
winhelp.c
|
||||
lex.yy.c)
|
||||
|
||||
add_executable(winhlp32
|
||||
${SOURCE}
|
||||
rsrc.rc)
|
||||
winhelp.c)
|
||||
|
||||
add_executable(winhlp32 ${SOURCE} rsrc.rc)
|
||||
set_module_type(winhlp32 win32gui)
|
||||
target_link_libraries(winhlp32 wine)
|
||||
add_importlibs(winhlp32 user32 gdi32 shell32 comctl32 comdlg32 msvcrt kernel32 ntdll)
|
||||
|
|
|
@ -45,7 +45,7 @@ static HANDLE CALLBACK WHD_Open(LPSTR name, BYTE flags)
|
|||
case 2: mode = GENERIC_READ; break;
|
||||
default: WINE_FIXME("Undocumented flags %x\n", flags);
|
||||
}
|
||||
return CreateFile(name, mode, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
|
||||
return CreateFileA(name, mode, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
|
||||
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
|
||||
}
|
||||
|
||||
|
|
|
@ -711,7 +711,7 @@ static BOOL HLPFILE_RtfAddText(struct RtfData* rd, const char* str)
|
|||
}
|
||||
for (last = p = str; *p; p++)
|
||||
{
|
||||
if (*p < 0) /* escape non ASCII chars */
|
||||
if (*p & 0x80) /* escape non-ASCII chars */
|
||||
{
|
||||
static char xx[8];
|
||||
rlen = sprintf(xx, "\\'%x", *(const BYTE*)p);
|
||||
|
@ -901,7 +901,7 @@ static BOOL HLPFILE_RtfAddTransparentBitmap(struct RtfData* rd, const BITMAPINFO
|
|||
DeleteDC(hdcMem);
|
||||
|
||||
/* we create the bitmap on the fly */
|
||||
hdcEMF = CreateEnhMetaFile(NULL, NULL, NULL, NULL);
|
||||
hdcEMF = CreateEnhMetaFileW(NULL, NULL, NULL, NULL);
|
||||
hdcMem = CreateCompatibleDC(hdcEMF);
|
||||
|
||||
/* sets to RGB(0,0,0) the transparent bits in final bitmap */
|
||||
|
@ -1366,14 +1366,14 @@ static BOOL HLPFILE_BrowseParagraph(HLPFILE_PAGE* page, struct RtfData* rd,
|
|||
BYTE brdr = *format++;
|
||||
short w;
|
||||
|
||||
if (brdr & 0x01 && !HLPFILE_RtfAddControl(rd, "\\box")) goto done;
|
||||
if (brdr & 0x02 && !HLPFILE_RtfAddControl(rd, "\\brdrt")) goto done;
|
||||
if (brdr & 0x04 && !HLPFILE_RtfAddControl(rd, "\\brdrl")) goto done;
|
||||
if (brdr & 0x08 && !HLPFILE_RtfAddControl(rd, "\\brdrb")) goto done;
|
||||
if (brdr & 0x10 && !HLPFILE_RtfAddControl(rd, "\\brdrr")) goto done;
|
||||
if (brdr & 0x20 && !HLPFILE_RtfAddControl(rd, "\\brdrth")) goto done;
|
||||
if ((brdr & 0x01) && !HLPFILE_RtfAddControl(rd, "\\box")) goto done;
|
||||
if ((brdr & 0x02) && !HLPFILE_RtfAddControl(rd, "\\brdrt")) goto done;
|
||||
if ((brdr & 0x04) && !HLPFILE_RtfAddControl(rd, "\\brdrl")) goto done;
|
||||
if ((brdr & 0x08) && !HLPFILE_RtfAddControl(rd, "\\brdrb")) goto done;
|
||||
if ((brdr & 0x10) && !HLPFILE_RtfAddControl(rd, "\\brdrr")) goto done;
|
||||
if ((brdr & 0x20) && !HLPFILE_RtfAddControl(rd, "\\brdrth")) goto done;
|
||||
if (!(brdr & 0x20) && !HLPFILE_RtfAddControl(rd, "\\brdrs")) goto done;
|
||||
if (brdr & 0x40 && !HLPFILE_RtfAddControl(rd, "\\brdrdb")) goto done;
|
||||
if ((brdr & 0x40) && !HLPFILE_RtfAddControl(rd, "\\brdrdb")) goto done;
|
||||
/* 0x80: unknown */
|
||||
|
||||
w = GET_SHORT(format, 0); format += 2;
|
||||
|
@ -1526,7 +1526,6 @@ static BOOL HLPFILE_BrowseParagraph(HLPFILE_PAGE* page, struct RtfData* rd,
|
|||
case 0x88:
|
||||
{
|
||||
BYTE type = format[1];
|
||||
LONG size;
|
||||
|
||||
/* FIXME: we don't use 'BYTE pos = (*format - 0x86);' for the image position */
|
||||
format += 2;
|
||||
|
@ -1536,7 +1535,7 @@ static BOOL HLPFILE_BrowseParagraph(HLPFILE_PAGE* page, struct RtfData* rd,
|
|||
{
|
||||
case 0x22:
|
||||
fetch_ushort(&format); /* hot spot */
|
||||
/* fall thru */
|
||||
/* fall through */
|
||||
case 0x03:
|
||||
switch (GET_SHORT(format, 0))
|
||||
{
|
||||
|
@ -1584,7 +1583,7 @@ static BOOL HLPFILE_BrowseParagraph(HLPFILE_PAGE* page, struct RtfData* rd,
|
|||
|
||||
case 0x8C:
|
||||
if (!HLPFILE_RtfAddControl(rd, "\\_")) goto done;
|
||||
/* FIXME: it could be that hypen is also in input stream !! */
|
||||
/* FIXME: it could be that hyphen is also in input stream !! */
|
||||
format += 1;
|
||||
rd->char_pos++;
|
||||
break;
|
||||
|
@ -1873,9 +1872,9 @@ static BOOL HLPFILE_ReadFont(HLPFILE* hlpfile)
|
|||
hlpfile->fonts[i].LogFont.lfEscapement = 0;
|
||||
hlpfile->fonts[i].LogFont.lfOrientation = 0;
|
||||
hlpfile->fonts[i].LogFont.lfWeight = (flag & 1) ? 700 : 400;
|
||||
hlpfile->fonts[i].LogFont.lfItalic = (flag & 2) ? TRUE : FALSE;
|
||||
hlpfile->fonts[i].LogFont.lfUnderline = (flag & 4) ? TRUE : FALSE;
|
||||
hlpfile->fonts[i].LogFont.lfStrikeOut = (flag & 8) ? TRUE : FALSE;
|
||||
hlpfile->fonts[i].LogFont.lfItalic = (flag & 2) != 0;
|
||||
hlpfile->fonts[i].LogFont.lfUnderline = (flag & 4) != 0;
|
||||
hlpfile->fonts[i].LogFont.lfStrikeOut = (flag & 8) != 0;
|
||||
hlpfile->fonts[i].LogFont.lfCharSet = hlpfile->charset;
|
||||
hlpfile->fonts[i].LogFont.lfOutPrecision = OUT_DEFAULT_PRECIS;
|
||||
hlpfile->fonts[i].LogFont.lfClipPrecision = CLIP_DEFAULT_PRECIS;
|
||||
|
@ -2013,7 +2012,7 @@ static BOOL HLPFILE_SystemCommands(HLPFILE* hlpfile)
|
|||
|
||||
hlpfile->lpszTitle = HeapAlloc(GetProcessHeap(), 0, strlen(str) + 1);
|
||||
if (!hlpfile->lpszTitle) return FALSE;
|
||||
lstrcpy(hlpfile->lpszTitle, str);
|
||||
strcpy(hlpfile->lpszTitle, str);
|
||||
WINE_TRACE("Title: %s\n", hlpfile->lpszTitle);
|
||||
/* Nothing more to parse */
|
||||
return TRUE;
|
||||
|
@ -2027,7 +2026,7 @@ static BOOL HLPFILE_SystemCommands(HLPFILE* hlpfile)
|
|||
if (hlpfile->lpszTitle) {WINE_WARN("title\n"); break;}
|
||||
hlpfile->lpszTitle = HeapAlloc(GetProcessHeap(), 0, strlen(str) + 1);
|
||||
if (!hlpfile->lpszTitle) return FALSE;
|
||||
lstrcpy(hlpfile->lpszTitle, str);
|
||||
strcpy(hlpfile->lpszTitle, str);
|
||||
WINE_TRACE("Title: %s\n", hlpfile->lpszTitle);
|
||||
break;
|
||||
|
||||
|
@ -2035,7 +2034,7 @@ static BOOL HLPFILE_SystemCommands(HLPFILE* hlpfile)
|
|||
if (hlpfile->lpszCopyright) {WINE_WARN("copyright\n"); break;}
|
||||
hlpfile->lpszCopyright = HeapAlloc(GetProcessHeap(), 0, strlen(str) + 1);
|
||||
if (!hlpfile->lpszCopyright) return FALSE;
|
||||
lstrcpy(hlpfile->lpszCopyright, str);
|
||||
strcpy(hlpfile->lpszCopyright, str);
|
||||
WINE_TRACE("Copyright: %s\n", hlpfile->lpszCopyright);
|
||||
break;
|
||||
|
||||
|
@ -2046,10 +2045,10 @@ static BOOL HLPFILE_SystemCommands(HLPFILE* hlpfile)
|
|||
break;
|
||||
|
||||
case 4:
|
||||
macro = HeapAlloc(GetProcessHeap(), 0, sizeof(HLPFILE_MACRO) + lstrlen(str) + 1);
|
||||
macro = HeapAlloc(GetProcessHeap(), 0, sizeof(HLPFILE_MACRO) + strlen(str) + 1);
|
||||
if (!macro) break;
|
||||
p = (char*)macro + sizeof(HLPFILE_MACRO);
|
||||
lstrcpy(p, str);
|
||||
strcpy(p, str);
|
||||
macro->lpszMacro = p;
|
||||
macro->next = 0;
|
||||
for (m = &hlpfile->first_macro; *m; m = &(*m)->next);
|
||||
|
@ -2077,9 +2076,9 @@ static BOOL HLPFILE_SystemCommands(HLPFILE* hlpfile)
|
|||
|
||||
if (hlpfile->windows)
|
||||
{
|
||||
unsigned flags = GET_USHORT(ptr, 4);
|
||||
HLPFILE_WINDOWINFO* wi = &hlpfile->windows[hlpfile->numWindows - 1];
|
||||
|
||||
flags = GET_USHORT(ptr, 4);
|
||||
if (flags & 0x0001) strcpy(wi->type, &str[2]);
|
||||
else wi->type[0] = '\0';
|
||||
if (flags & 0x0002) strcpy(wi->name, &str[12]);
|
||||
|
@ -2357,14 +2356,14 @@ static BOOL HLPFILE_Uncompress_Phrases40(HLPFILE* hlpfile)
|
|||
INT dec_size, cpr_size;
|
||||
BYTE *buf_idx, *end_idx;
|
||||
BYTE *buf_phs, *end_phs;
|
||||
LONG* ptr, mask = 0;
|
||||
ULONG* ptr, mask = 0;
|
||||
unsigned int i;
|
||||
unsigned short bc, n;
|
||||
|
||||
if (!HLPFILE_FindSubFile(hlpfile, "|PhrIndex", &buf_idx, &end_idx) ||
|
||||
!HLPFILE_FindSubFile(hlpfile, "|PhrImage", &buf_phs, &end_phs)) return FALSE;
|
||||
|
||||
ptr = (LONG*)(buf_idx + 9 + 28);
|
||||
ptr = (ULONG*)(buf_idx + 9 + 28);
|
||||
bc = GET_USHORT(buf_idx, 9 + 24) & 0x0F;
|
||||
num = hlpfile->num_phrases = GET_USHORT(buf_idx, 9 + 4);
|
||||
|
||||
|
@ -2399,9 +2398,10 @@ static BOOL HLPFILE_Uncompress_Phrases40(HLPFILE* hlpfile)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
#define getbit() (ptr += (mask < 0), mask = mask*2 + (mask<=0), (*ptr & mask) != 0)
|
||||
#define getbit() ((mask <<= 1) ? (*ptr & mask) != 0: (*++ptr & (mask=1)) != 0)
|
||||
|
||||
hlpfile->phrases_offsets[0] = 0;
|
||||
ptr--; /* as we'll first increment ptr because mask is 0 on first getbit() call */
|
||||
for (i = 0; i < num; i++)
|
||||
{
|
||||
for (n = 1; getbit(); n += 1 << bc);
|
||||
|
@ -2645,7 +2645,6 @@ static BOOL HLPFILE_DoReadHlpFile(HLPFILE *hlpfile, LPCSTR lpszPath)
|
|||
if (!HLPFILE_Uncompress_Topic(hlpfile)) return FALSE;
|
||||
if (!HLPFILE_ReadFont(hlpfile)) return FALSE;
|
||||
|
||||
buf = hlpfile->topic_map[0];
|
||||
old_index = -1;
|
||||
offs = 0;
|
||||
do
|
||||
|
@ -2733,7 +2732,7 @@ HLPFILE *HLPFILE_ReadHlpFile(LPCSTR lpszPath)
|
|||
}
|
||||
|
||||
hlpfile = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY,
|
||||
sizeof(HLPFILE) + lstrlen(lpszPath) + 1);
|
||||
sizeof(HLPFILE) + strlen(lpszPath) + 1);
|
||||
if (!hlpfile) return 0;
|
||||
|
||||
hlpfile->lpszPath = (char*)hlpfile + sizeof(HLPFILE);
|
||||
|
|
|
@ -90,7 +90,7 @@ typedef struct
|
|||
|
||||
typedef struct
|
||||
{
|
||||
LOGFONT LogFont;
|
||||
LOGFONTA LogFont;
|
||||
HFONT hFont;
|
||||
COLORREF color;
|
||||
} HLPFILE_FONT;
|
||||
|
|
|
@ -61,7 +61,7 @@ static WINHELP_BUTTON** MACRO_LookupButton(WINHELP_WINDOW* win, LPCSTR na
|
|||
WINHELP_BUTTON** b;
|
||||
|
||||
for (b = &win->first_button; *b; b = &(*b)->next)
|
||||
if (!lstrcmpi(name, (*b)->lpszID)) break;
|
||||
if (!lstrcmpiA(name, (*b)->lpszID)) break;
|
||||
return b;
|
||||
}
|
||||
|
||||
|
@ -79,7 +79,7 @@ void CALLBACK MACRO_CreateButton(LPCSTR id, LPCSTR name, LPCSTR macro)
|
|||
|
||||
WINE_TRACE("(\"%s\", \"%s\", %s)\n", id, name, macro);
|
||||
|
||||
size = sizeof(WINHELP_BUTTON) + lstrlen(id) + lstrlen(name) + lstrlen(macro) + 3;
|
||||
size = sizeof(WINHELP_BUTTON) + strlen(id) + strlen(name) + strlen(macro) + 3;
|
||||
|
||||
button = HeapAlloc(GetProcessHeap(), 0, size);
|
||||
if (!button) return;
|
||||
|
@ -89,15 +89,15 @@ void CALLBACK MACRO_CreateButton(LPCSTR id, LPCSTR name, LPCSTR macro)
|
|||
|
||||
ptr = (char*)button + sizeof(WINHELP_BUTTON);
|
||||
|
||||
lstrcpy(ptr, id);
|
||||
strcpy(ptr, id);
|
||||
button->lpszID = ptr;
|
||||
ptr += lstrlen(id) + 1;
|
||||
ptr += strlen(id) + 1;
|
||||
|
||||
lstrcpy(ptr, name);
|
||||
strcpy(ptr, name);
|
||||
button->lpszName = ptr;
|
||||
ptr += lstrlen(name) + 1;
|
||||
ptr += strlen(name) + 1;
|
||||
|
||||
lstrcpy(ptr, macro);
|
||||
strcpy(ptr, macro);
|
||||
button->lpszMacro = ptr;
|
||||
|
||||
button->wParam = WH_FIRST_BUTTON;
|
||||
|
@ -236,8 +236,8 @@ static void CALLBACK MACRO_ChangeButtonBinding(LPCSTR id, LPCSTR macro)
|
|||
b = MACRO_LookupButton(win, id);
|
||||
if (!*b) {WINE_FIXME("Couldn't find button '%s'\n", id); return;}
|
||||
|
||||
size = sizeof(WINHELP_BUTTON) + lstrlen(id) +
|
||||
lstrlen((*b)->lpszName) + lstrlen(macro) + 3;
|
||||
size = sizeof(WINHELP_BUTTON) + strlen(id) +
|
||||
strlen((*b)->lpszName) + strlen(macro) + 3;
|
||||
|
||||
button = HeapAlloc(GetProcessHeap(), 0, size);
|
||||
if (!button) return;
|
||||
|
@ -248,15 +248,15 @@ static void CALLBACK MACRO_ChangeButtonBinding(LPCSTR id, LPCSTR macro)
|
|||
|
||||
ptr = (char*)button + sizeof(WINHELP_BUTTON);
|
||||
|
||||
lstrcpy(ptr, id);
|
||||
strcpy(ptr, id);
|
||||
button->lpszID = ptr;
|
||||
ptr += lstrlen(id) + 1;
|
||||
ptr += strlen(id) + 1;
|
||||
|
||||
lstrcpy(ptr, (*b)->lpszName);
|
||||
strcpy(ptr, (*b)->lpszName);
|
||||
button->lpszName = ptr;
|
||||
ptr += lstrlen((*b)->lpszName) + 1;
|
||||
ptr += strlen((*b)->lpszName) + 1;
|
||||
|
||||
lstrcpy(ptr, macro);
|
||||
strcpy(ptr, macro);
|
||||
button->lpszMacro = ptr;
|
||||
|
||||
*b = button;
|
||||
|
@ -291,7 +291,7 @@ static void CALLBACK MACRO_CloseSecondarys(void)
|
|||
for (win = Globals.win_list; win; win = next)
|
||||
{
|
||||
next = win->next;
|
||||
if (lstrcmpi(win->info->name, "main"))
|
||||
if (lstrcmpiA(win->info->name, "main"))
|
||||
WINHELP_ReleaseWindow(win);
|
||||
}
|
||||
}
|
||||
|
@ -308,7 +308,7 @@ static void CALLBACK MACRO_CloseWindow(LPCSTR lpszWindow)
|
|||
for (win = Globals.win_list; win; win = next)
|
||||
{
|
||||
next = win->next;
|
||||
if (!lstrcmpi(win->info->name, lpszWindow))
|
||||
if (!lstrcmpiA(win->info->name, lpszWindow))
|
||||
WINHELP_ReleaseWindow(win);
|
||||
}
|
||||
}
|
||||
|
@ -415,7 +415,7 @@ static void CALLBACK MACRO_ExtInsertMenu(LPCSTR str1, LPCSTR str2, LPCSTR str3,
|
|||
static BOOL CALLBACK MACRO_FileExist(LPCSTR str)
|
||||
{
|
||||
WINE_TRACE("(\"%s\")\n", str);
|
||||
return GetFileAttributes(str) != INVALID_FILE_ATTRIBUTES;
|
||||
return GetFileAttributesA(str) != INVALID_FILE_ATTRIBUTES;
|
||||
}
|
||||
|
||||
void CALLBACK MACRO_FileOpen(void)
|
||||
|
@ -457,7 +457,7 @@ static void CALLBACK MACRO_FocusWindow(LPCSTR lpszWindow)
|
|||
if (!lpszWindow || !lpszWindow[0]) lpszWindow = "main";
|
||||
|
||||
for (win = Globals.win_list; win; win = win->next)
|
||||
if (!lstrcmpi(win->info->name, lpszWindow))
|
||||
if (!lstrcmpiA(win->info->name, lpszWindow))
|
||||
SetFocus(win->hMainWnd);
|
||||
}
|
||||
|
||||
|
@ -488,7 +488,29 @@ void CALLBACK MACRO_HelpOn(void)
|
|||
|
||||
void CALLBACK MACRO_HelpOnTop(void)
|
||||
{
|
||||
WINE_FIXME("()\n");
|
||||
static BOOL on_top = FALSE;
|
||||
WINHELP_WINDOW *win;
|
||||
HWND main_wnd = NULL;
|
||||
HMENU menu;
|
||||
|
||||
for (win = Globals.win_list; win; win = win->next)
|
||||
if (!lstrcmpiA(win->info->name, "main"))
|
||||
main_wnd = win->hMainWnd;
|
||||
if (!main_wnd)
|
||||
{
|
||||
WINE_ERR("could not find the main window!\n");
|
||||
return;
|
||||
}
|
||||
menu = GetMenu(main_wnd);
|
||||
|
||||
on_top = !on_top;
|
||||
if (on_top) {
|
||||
CheckMenuItem(menu, MNID_HELP_HELPTOP, MF_BYCOMMAND|MF_CHECKED);
|
||||
SetWindowPos(main_wnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);
|
||||
} else {
|
||||
CheckMenuItem(menu, MNID_HELP_HELPTOP, MF_BYCOMMAND|MF_UNCHECKED);
|
||||
SetWindowPos(main_wnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);
|
||||
}
|
||||
}
|
||||
|
||||
void CALLBACK MACRO_History(void)
|
||||
|
@ -497,7 +519,7 @@ void CALLBACK MACRO_History(void)
|
|||
|
||||
if (Globals.active_win && !Globals.active_win->hHistoryWnd)
|
||||
{
|
||||
HWND hWnd = CreateWindow(HISTORY_WIN_CLASS_NAME, "History", WS_OVERLAPPEDWINDOW,
|
||||
HWND hWnd = CreateWindowA(HISTORY_WIN_CLASS_NAME, "History", WS_OVERLAPPEDWINDOW,
|
||||
0, 0, 0, 0, 0, 0, Globals.hInstance, Globals.active_win);
|
||||
ShowWindow(hWnd, SW_NORMAL);
|
||||
}
|
||||
|
@ -553,11 +575,11 @@ void CALLBACK MACRO_JumpContext(LPCSTR lpszPath, LPCSTR lpszWindow, LONG context
|
|||
HLPFILE* hlpfile;
|
||||
|
||||
WINE_TRACE("(\"%s\", \"%s\", %d)\n", lpszPath, lpszWindow, context);
|
||||
hlpfile = WINHELP_LookupHelpFile(lpszPath);
|
||||
/* Some madness: what user calls 'context', hlpfile calls 'map' */
|
||||
WINHELP_OpenHelpWindow(HLPFILE_PageByMap, hlpfile, context,
|
||||
WINHELP_GetWindowInfo(hlpfile, lpszWindow),
|
||||
SW_NORMAL);
|
||||
if ((hlpfile = WINHELP_LookupHelpFile(lpszPath)))
|
||||
/* Some madness: what user calls 'context', hlpfile calls 'map' */
|
||||
WINHELP_OpenHelpWindow(HLPFILE_PageByMap, hlpfile, context,
|
||||
WINHELP_GetWindowInfo(hlpfile, lpszWindow),
|
||||
SW_NORMAL);
|
||||
}
|
||||
|
||||
void CALLBACK MACRO_JumpHash(LPCSTR lpszPath, LPCSTR lpszWindow, LONG lHash)
|
||||
|
@ -569,9 +591,10 @@ void CALLBACK MACRO_JumpHash(LPCSTR lpszPath, LPCSTR lpszWindow, LONG lHash)
|
|||
hlpfile = MACRO_CurrentWindow()->page->file;
|
||||
else
|
||||
hlpfile = WINHELP_LookupHelpFile(lpszPath);
|
||||
WINHELP_OpenHelpWindow(HLPFILE_PageByHash, hlpfile, lHash,
|
||||
WINHELP_GetWindowInfo(hlpfile, lpszWindow),
|
||||
SW_NORMAL);
|
||||
if (hlpfile)
|
||||
WINHELP_OpenHelpWindow(HLPFILE_PageByHash, hlpfile, lHash,
|
||||
WINHELP_GetWindowInfo(hlpfile, lpszWindow),
|
||||
SW_NORMAL);
|
||||
}
|
||||
|
||||
static void CALLBACK MACRO_JumpHelpOn(void)
|
||||
|
@ -691,7 +714,7 @@ static void CALLBACK MACRO_Prev(void)
|
|||
|
||||
void CALLBACK MACRO_Print(void)
|
||||
{
|
||||
PRINTDLG printer;
|
||||
PRINTDLGW printer;
|
||||
|
||||
WINE_TRACE("()\n");
|
||||
|
||||
|
@ -715,7 +738,7 @@ void CALLBACK MACRO_Print(void)
|
|||
printer.hPrintTemplate = 0;
|
||||
printer.hSetupTemplate = 0;
|
||||
|
||||
if (PrintDlgA(&printer)) {
|
||||
if (PrintDlgW(&printer)) {
|
||||
WINE_FIXME("Print()\n");
|
||||
}
|
||||
}
|
||||
|
@ -742,7 +765,7 @@ static void CALLBACK MACRO_RegisterRoutine(LPCSTR dll_name, LPCSTR proc, LPCSTR
|
|||
}
|
||||
if (!dll)
|
||||
{
|
||||
HANDLE hLib = LoadLibrary(dll_name);
|
||||
HANDLE hLib = LoadLibraryA(dll_name);
|
||||
|
||||
/* FIXME: the library will not be unloaded until exit of program
|
||||
* We don't send the DW_TERM message
|
||||
|
@ -1006,6 +1029,32 @@ int MACRO_Lookup(const char* name, struct lexret* lr)
|
|||
return ret;
|
||||
if (MACRO_Loaded && (ret = MACRO_DoLookUp(MACRO_Loaded, name, lr, MACRO_NumLoaded)) != EMPTY)
|
||||
return ret;
|
||||
if (!strcmp(name, "hwndApp"))
|
||||
{
|
||||
WINHELP_WINDOW* win;
|
||||
lr->integer = 0;
|
||||
for (win = Globals.win_list; win; win = win->next)
|
||||
{
|
||||
if (!strcmp(win->info->name, "main"))
|
||||
{
|
||||
lr->integer = (LONG_PTR)win->hMainWnd;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return INTEGER;
|
||||
}
|
||||
if (!strcmp(name, "hwndContext"))
|
||||
{
|
||||
lr->integer = Globals.active_win ?
|
||||
(LONG_PTR)Globals.active_win->hMainWnd : 0;
|
||||
return INTEGER;
|
||||
}
|
||||
if (!strcmp(name, "qchPath") || !strcmp(name, "qError") || !strcmp(name, "lTopicNo") ||
|
||||
!strcmp(name, "hfs") || !strcmp(name, "coForeground") || !strcmp(name, "coBackground"))
|
||||
{
|
||||
WINE_FIXME("keyword %s not substituted in macro parsing\n", name);
|
||||
return EMPTY;
|
||||
}
|
||||
|
||||
lr->string = name;
|
||||
return IDENTIFIER;
|
||||
|
|
|
@ -20,17 +20,14 @@
|
|||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
%}
|
||||
%option noinput nounput interactive 8bit
|
||||
%option noinput nounput never-interactive 8bit
|
||||
%x quote
|
||||
%{
|
||||
#include "config.h"
|
||||
#include <assert.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
#ifndef HAVE_UNISTD_H
|
||||
#define YY_NO_UNISTD_H
|
||||
#endif
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wingdi.h"
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -58,15 +58,15 @@ WINHELP_GLOBALS Globals = {3, NULL, TRUE, NULL, NULL, NULL, NULL, NULL, {{{NULL,
|
|||
*/
|
||||
static void WINHELP_InitFonts(HWND hWnd)
|
||||
{
|
||||
WINHELP_WINDOW *win = (WINHELP_WINDOW*) GetWindowLongPtr(hWnd, 0);
|
||||
LOGFONT logfontlist[] = {
|
||||
{-10, 0, 0, 0, 400, 0, 0, 0, DEFAULT_CHARSET, 0, 0, 0, 32, "Helv"},
|
||||
{-12, 0, 0, 0, 700, 0, 0, 0, DEFAULT_CHARSET, 0, 0, 0, 32, "Helv"},
|
||||
{-12, 0, 0, 0, 700, 0, 0, 0, DEFAULT_CHARSET, 0, 0, 0, 32, "Helv"},
|
||||
{-12, 0, 0, 0, 400, 0, 0, 0, DEFAULT_CHARSET, 0, 0, 0, 32, "Helv"},
|
||||
{-12, 0, 0, 0, 700, 0, 0, 0, DEFAULT_CHARSET, 0, 0, 0, 32, "Helv"},
|
||||
{-10, 0, 0, 0, 700, 0, 0, 0, DEFAULT_CHARSET, 0, 0, 0, 32, "Helv"},
|
||||
{ -8, 0, 0, 0, 400, 0, 0, 0, DEFAULT_CHARSET, 0, 0, 0, 32, "Helv"}};
|
||||
WINHELP_WINDOW *win = (WINHELP_WINDOW*) GetWindowLongPtrW(hWnd, 0);
|
||||
LOGFONTW logfontlist[] = {
|
||||
{-10, 0, 0, 0, 400, 0, 0, 0, DEFAULT_CHARSET, 0, 0, 0, 32, {'H','e','l','v',0}},
|
||||
{-12, 0, 0, 0, 700, 0, 0, 0, DEFAULT_CHARSET, 0, 0, 0, 32, {'H','e','l','v',0}},
|
||||
{-12, 0, 0, 0, 700, 0, 0, 0, DEFAULT_CHARSET, 0, 0, 0, 32, {'H','e','l','v',0}},
|
||||
{-12, 0, 0, 0, 400, 0, 0, 0, DEFAULT_CHARSET, 0, 0, 0, 32, {'H','e','l','v',0}},
|
||||
{-12, 0, 0, 0, 700, 0, 0, 0, DEFAULT_CHARSET, 0, 0, 0, 32, {'H','e','l','v',0}},
|
||||
{-10, 0, 0, 0, 700, 0, 0, 0, DEFAULT_CHARSET, 0, 0, 0, 32, {'H','e','l','v',0}},
|
||||
{ -8, 0, 0, 0, 400, 0, 0, 0, DEFAULT_CHARSET, 0, 0, 0, 32, {'H','e','l','v',0}}};
|
||||
#define FONTS_LEN (sizeof(logfontlist)/sizeof(*logfontlist))
|
||||
|
||||
static HFONT fonts[FONTS_LEN];
|
||||
|
@ -81,7 +81,7 @@ static void WINHELP_InitFonts(HWND hWnd)
|
|||
|
||||
for (i = 0; i < FONTS_LEN; i++)
|
||||
{
|
||||
fonts[i] = CreateFontIndirect(&logfontlist[i]);
|
||||
fonts[i] = CreateFontIndirectW(&logfontlist[i]);
|
||||
}
|
||||
|
||||
init = 1;
|
||||
|
@ -104,12 +104,13 @@ static DWORD CALLBACK WINHELP_RtfStreamIn(DWORD_PTR cookie, BYTE* buff,
|
|||
|
||||
static void WINHELP_SetupText(HWND hTextWnd, WINHELP_WINDOW* win, ULONG relative)
|
||||
{
|
||||
static const WCHAR emptyW[1];
|
||||
/* At first clear area - needed by EM_POSFROMCHAR/EM_SETSCROLLPOS */
|
||||
SendMessage(hTextWnd, WM_SETTEXT, 0, (LPARAM)"");
|
||||
SendMessage(hTextWnd, WM_SETREDRAW, FALSE, 0);
|
||||
SendMessage(hTextWnd, EM_SETBKGNDCOLOR, 0, (LPARAM)win->info->sr_color);
|
||||
SendMessageW(hTextWnd, WM_SETTEXT, 0, (LPARAM)emptyW);
|
||||
SendMessageW(hTextWnd, WM_SETREDRAW, FALSE, 0);
|
||||
SendMessageW(hTextWnd, EM_SETBKGNDCOLOR, 0, (LPARAM)win->info->sr_color);
|
||||
/* set word-wrap to window size (undocumented) */
|
||||
SendMessage(hTextWnd, EM_SETTARGETDEVICE, 0, 0);
|
||||
SendMessageW(hTextWnd, EM_SETTARGETDEVICE, 0, 0);
|
||||
if (win->page)
|
||||
{
|
||||
struct RtfData rd;
|
||||
|
@ -131,11 +132,11 @@ static void WINHELP_SetupText(HWND hTextWnd, WINHELP_WINDOW* win, ULONG relative
|
|||
}
|
||||
/* FIXME: else leaking potentially the rd.first_link chain */
|
||||
HeapFree(GetProcessHeap(), 0, rd.data);
|
||||
SendMessage(hTextWnd, EM_POSFROMCHAR, (WPARAM)&ptl, cp ? cp - 1 : 0);
|
||||
SendMessageW(hTextWnd, EM_POSFROMCHAR, (WPARAM)&ptl, cp ? cp - 1 : 0);
|
||||
pt.x = 0; pt.y = ptl.y;
|
||||
SendMessage(hTextWnd, EM_SETSCROLLPOS, 0, (LPARAM)&pt);
|
||||
SendMessageW(hTextWnd, EM_SETSCROLLPOS, 0, (LPARAM)&pt);
|
||||
}
|
||||
SendMessage(hTextWnd, WM_SETREDRAW, TRUE, 0);
|
||||
SendMessageW(hTextWnd, WM_SETREDRAW, TRUE, 0);
|
||||
RedrawWindow(hTextWnd, NULL, NULL, RDW_FRAME|RDW_INVALIDATE);
|
||||
}
|
||||
|
||||
|
@ -145,28 +146,28 @@ static void WINHELP_SetupText(HWND hTextWnd, WINHELP_WINDOW* win, ULONG relative
|
|||
*/
|
||||
BOOL WINHELP_GetOpenFileName(LPSTR lpszFile, int len)
|
||||
{
|
||||
OPENFILENAME openfilename;
|
||||
OPENFILENAMEA openfilename;
|
||||
CHAR szDir[MAX_PATH];
|
||||
CHAR szzFilter[2 * MAX_STRING_LEN + 100];
|
||||
LPSTR p = szzFilter;
|
||||
|
||||
WINE_TRACE("()\n");
|
||||
|
||||
LoadString(Globals.hInstance, STID_HELP_FILES_HLP, p, MAX_STRING_LEN);
|
||||
LoadStringA(Globals.hInstance, STID_HELP_FILES_HLP, p, MAX_STRING_LEN);
|
||||
p += strlen(p) + 1;
|
||||
lstrcpy(p, "*.hlp");
|
||||
strcpy(p, "*.hlp");
|
||||
p += strlen(p) + 1;
|
||||
LoadString(Globals.hInstance, STID_ALL_FILES, p, MAX_STRING_LEN);
|
||||
LoadStringA(Globals.hInstance, STID_ALL_FILES, p, MAX_STRING_LEN);
|
||||
p += strlen(p) + 1;
|
||||
lstrcpy(p, "*.*");
|
||||
strcpy(p, "*.*");
|
||||
p += strlen(p) + 1;
|
||||
*p = '\0';
|
||||
|
||||
GetCurrentDirectory(sizeof(szDir), szDir);
|
||||
GetCurrentDirectoryA(sizeof(szDir), szDir);
|
||||
|
||||
lpszFile[0]='\0';
|
||||
|
||||
openfilename.lStructSize = sizeof(OPENFILENAME);
|
||||
openfilename.lStructSize = sizeof(openfilename);
|
||||
openfilename.hwndOwner = (Globals.active_win ? Globals.active_win->hMainWnd : 0);
|
||||
openfilename.hInstance = Globals.hInstance;
|
||||
openfilename.lpstrFilter = szzFilter;
|
||||
|
@ -187,7 +188,7 @@ BOOL WINHELP_GetOpenFileName(LPSTR lpszFile, int len)
|
|||
openfilename.lpfnHook = 0;
|
||||
openfilename.lpTemplateName = 0;
|
||||
|
||||
return GetOpenFileName(&openfilename);
|
||||
return GetOpenFileNameA(&openfilename);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
|
@ -199,10 +200,10 @@ static INT WINHELP_MessageBoxIDS_s(UINT ids_text, LPCSTR str, UINT ids_title, WO
|
|||
CHAR text[MAX_STRING_LEN];
|
||||
CHAR newtext[MAX_STRING_LEN + MAX_PATH];
|
||||
|
||||
LoadString(Globals.hInstance, ids_text, text, sizeof(text));
|
||||
wsprintf(newtext, text, str);
|
||||
LoadStringA(Globals.hInstance, ids_text, text, sizeof(text));
|
||||
wsprintfA(newtext, text, str);
|
||||
|
||||
return MessageBox(0, newtext, MAKEINTRESOURCE(ids_title), type);
|
||||
return MessageBoxA(0, newtext, MAKEINTRESOURCEA(ids_title), type);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
|
@ -230,8 +231,8 @@ HLPFILE* WINHELP_LookupHelpFile(LPCSTR lpszFile)
|
|||
/*
|
||||
* FIXME: Should we swap conditions?
|
||||
*/
|
||||
if (!SearchPath(NULL, lpszFile, ".hlp", MAX_PATH, szFullName, NULL) &&
|
||||
!SearchPath(szAddPath, lpszFile, ".hlp", MAX_PATH, szFullName, NULL))
|
||||
if (!SearchPathA(NULL, lpszFile, ".hlp", MAX_PATH, szFullName, NULL) &&
|
||||
!SearchPathA(szAddPath, lpszFile, ".hlp", MAX_PATH, szFullName, NULL))
|
||||
{
|
||||
if (WINHELP_MessageBoxIDS_s(STID_FILE_NOT_FOUND_s, lpszFile, STID_WHERROR,
|
||||
MB_YESNO|MB_ICONQUESTION) != IDYES)
|
||||
|
@ -261,7 +262,7 @@ HLPFILE_WINDOWINFO* WINHELP_GetWindowInfo(HLPFILE* hlpfile, LPCSTR name)
|
|||
|
||||
if (hlpfile)
|
||||
for (i = 0; i < hlpfile->numWindows; i++)
|
||||
if (!lstrcmpi(hlpfile->windows[i].name, name))
|
||||
if (!lstrcmpiA(hlpfile->windows[i].name, name))
|
||||
return &hlpfile->windows[i];
|
||||
|
||||
if (strcmp(name, "main") != 0)
|
||||
|
@ -277,12 +278,12 @@ HLPFILE_WINDOWINFO* WINHELP_GetWindowInfo(HLPFILE* hlpfile, LPCSTR name)
|
|||
if (hlpfile && hlpfile->lpszTitle[0])
|
||||
{
|
||||
char tmp[128];
|
||||
LoadString(Globals.hInstance, STID_WINE_HELP, tmp, sizeof(tmp));
|
||||
LoadStringA(Globals.hInstance, STID_WINE_HELP, tmp, sizeof(tmp));
|
||||
snprintf(mwi.caption, sizeof(mwi.caption), "%s %s - %s",
|
||||
hlpfile->lpszTitle, tmp, hlpfile->lpszPath);
|
||||
}
|
||||
else
|
||||
LoadString(Globals.hInstance, STID_WINE_HELP, mwi.caption, sizeof(mwi.caption));
|
||||
LoadStringA(Globals.hInstance, STID_WINE_HELP, mwi.caption, sizeof(mwi.caption));
|
||||
mwi.origin.x = mwi.origin.y = mwi.size.cx = mwi.size.cy = CW_USEDEFAULT;
|
||||
mwi.style = SW_SHOW;
|
||||
mwi.win_style = WS_OVERLAPPEDWINDOW;
|
||||
|
@ -551,7 +552,7 @@ static void WINHELP_DeleteWindow(WINHELP_WINDOW* win)
|
|||
break;
|
||||
}
|
||||
}
|
||||
bExit = (Globals.wVersion >= 4 && !lstrcmpi(win->info->name, "main"));
|
||||
bExit = (Globals.wVersion >= 4 && !lstrcmpiA(win->info->name, "main"));
|
||||
|
||||
if (Globals.active_win == win)
|
||||
{
|
||||
|
@ -564,8 +565,7 @@ static void WINHELP_DeleteWindow(WINHELP_WINDOW* win)
|
|||
Globals.active_popup = NULL;
|
||||
|
||||
hTextWnd = GetDlgItem(win->hMainWnd, CTL_ID_TEXT);
|
||||
SetWindowLongPtr(hTextWnd, GWLP_WNDPROC,
|
||||
(LONG_PTR)win->origRicheditWndProc);
|
||||
SetWindowLongPtrA(hTextWnd, GWLP_WNDPROC, (LONG_PTR)win->origRicheditWndProc);
|
||||
|
||||
WINHELP_DeleteButtons(win);
|
||||
|
||||
|
@ -671,7 +671,7 @@ static HLPFILE_LINK* WINHELP_FindLink(WINHELP_WINDOW* win, LPARAM pos)
|
|||
static LRESULT CALLBACK WINHELP_RicheditWndProc(HWND hWnd, UINT msg,
|
||||
WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
WINHELP_WINDOW *win = (WINHELP_WINDOW*) GetWindowLongPtr(GetParent(hWnd), 0);
|
||||
WINHELP_WINDOW *win = (WINHELP_WINDOW*) GetWindowLongPtrW(GetParent(hWnd), 0);
|
||||
DWORD messagePos;
|
||||
POINT pt;
|
||||
switch(msg)
|
||||
|
@ -703,14 +703,14 @@ BOOL WINHELP_CreateHelpWindow(WINHELP_WNDPAGE* wpage, int nCmdShow, BOOL remembe
|
|||
HICON hIcon;
|
||||
HWND hTextWnd = NULL;
|
||||
|
||||
bPrimary = !lstrcmpi(wpage->wininfo->name, "main");
|
||||
bPrimary = !lstrcmpiA(wpage->wininfo->name, "main");
|
||||
bPopup = !bPrimary && (wpage->wininfo->win_style & WS_POPUP);
|
||||
|
||||
if (!bPopup)
|
||||
{
|
||||
for (win = Globals.win_list; win; win = win->next)
|
||||
{
|
||||
if (!lstrcmpi(win->info->name, wpage->wininfo->name))
|
||||
if (!lstrcmpiA(win->info->name, wpage->wininfo->name))
|
||||
{
|
||||
if (win->page == wpage->page && win->info == wpage->wininfo)
|
||||
{
|
||||
|
@ -722,7 +722,7 @@ BOOL WINHELP_CreateHelpWindow(WINHELP_WNDPAGE* wpage, int nCmdShow, BOOL remembe
|
|||
}
|
||||
WINHELP_DeleteButtons(win);
|
||||
bReUsed = TRUE;
|
||||
SetWindowText(win->hMainWnd, WINHELP_GetCaption(wpage));
|
||||
SetWindowTextA(win->hMainWnd, WINHELP_GetCaption(wpage));
|
||||
if (win->info != wpage->wininfo)
|
||||
{
|
||||
POINT pt = {0, 0};
|
||||
|
@ -793,43 +793,43 @@ BOOL WINHELP_CreateHelpWindow(WINHELP_WNDPAGE* wpage, int nCmdShow, BOOL remembe
|
|||
{
|
||||
CHAR buffer[MAX_STRING_LEN];
|
||||
|
||||
LoadString(Globals.hInstance, STID_CONTENTS, buffer, sizeof(buffer));
|
||||
LoadStringA(Globals.hInstance, STID_CONTENTS, buffer, sizeof(buffer));
|
||||
MACRO_CreateButton("BTN_CONTENTS", buffer, "Contents()");
|
||||
LoadString(Globals.hInstance, STID_INDEX, buffer, sizeof(buffer));
|
||||
LoadStringA(Globals.hInstance, STID_INDEX, buffer, sizeof(buffer));
|
||||
MACRO_CreateButton("BTN_INDEX", buffer, "Finder()");
|
||||
LoadString(Globals.hInstance, STID_BACK, buffer, sizeof(buffer));
|
||||
LoadStringA(Globals.hInstance, STID_BACK, buffer, sizeof(buffer));
|
||||
MACRO_CreateButton("BTN_BACK", buffer, "Back()");
|
||||
if (win->back.index <= 1) MACRO_DisableButton("BTN_BACK");
|
||||
}
|
||||
|
||||
if (!bReUsed)
|
||||
{
|
||||
win->hMainWnd = CreateWindowEx((bPopup) ? WS_EX_TOOLWINDOW : 0, MAIN_WIN_CLASS_NAME,
|
||||
win->hMainWnd = CreateWindowExA((bPopup) ? WS_EX_TOOLWINDOW : 0, MAIN_WIN_CLASS_NAME,
|
||||
WINHELP_GetCaption(wpage),
|
||||
bPrimary ? WS_OVERLAPPEDWINDOW : wpage->wininfo->win_style,
|
||||
wpage->wininfo->origin.x, wpage->wininfo->origin.y,
|
||||
wpage->wininfo->size.cx, wpage->wininfo->size.cy,
|
||||
bPopup ? Globals.active_win->hMainWnd : NULL,
|
||||
bPrimary ? LoadMenu(Globals.hInstance, MAKEINTRESOURCE(MAIN_MENU)) : 0,
|
||||
bPrimary ? LoadMenuW(Globals.hInstance, MAKEINTRESOURCEW(MAIN_MENU)) : 0,
|
||||
Globals.hInstance, win);
|
||||
if (!bPopup)
|
||||
/* Create button box and text Window */
|
||||
CreateWindow(BUTTON_BOX_WIN_CLASS_NAME, "", WS_CHILD | WS_VISIBLE,
|
||||
CreateWindowA(BUTTON_BOX_WIN_CLASS_NAME, "", WS_CHILD | WS_VISIBLE,
|
||||
0, 0, 0, 0, win->hMainWnd, (HMENU)CTL_ID_BUTTON, Globals.hInstance, NULL);
|
||||
|
||||
hTextWnd = CreateWindow(RICHEDIT_CLASS, NULL,
|
||||
hTextWnd = CreateWindowA(RICHEDIT_CLASS20A, NULL,
|
||||
ES_MULTILINE | ES_READONLY | WS_CHILD | WS_HSCROLL | WS_VSCROLL | WS_VISIBLE,
|
||||
0, 0, 0, 0, win->hMainWnd, (HMENU)CTL_ID_TEXT, Globals.hInstance, NULL);
|
||||
SendMessage(hTextWnd, EM_SETEVENTMASK, 0,
|
||||
SendMessage(hTextWnd, EM_GETEVENTMASK, 0, 0) | ENM_MOUSEEVENTS);
|
||||
win->origRicheditWndProc = (WNDPROC)SetWindowLongPtr(hTextWnd, GWLP_WNDPROC,
|
||||
SendMessageW(hTextWnd, EM_SETEVENTMASK, 0,
|
||||
SendMessageW(hTextWnd, EM_GETEVENTMASK, 0, 0) | ENM_MOUSEEVENTS);
|
||||
win->origRicheditWndProc = (WNDPROC)SetWindowLongPtrA(hTextWnd, GWLP_WNDPROC,
|
||||
(LONG_PTR)WINHELP_RicheditWndProc);
|
||||
}
|
||||
|
||||
hIcon = (wpage->page) ? wpage->page->file->hIcon : NULL;
|
||||
if (!hIcon) hIcon = LoadImage(Globals.hInstance, MAKEINTRESOURCE(IDI_WINHELP), IMAGE_ICON,
|
||||
if (!hIcon) hIcon = LoadImageW(Globals.hInstance, MAKEINTRESOURCEW(IDI_WINHELP), IMAGE_ICON,
|
||||
GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), LR_SHARED);
|
||||
SendMessage(win->hMainWnd, WM_SETICON, ICON_SMALL, (DWORD_PTR)hIcon);
|
||||
SendMessageW(win->hMainWnd, WM_SETICON, ICON_SMALL, (DWORD_PTR)hIcon);
|
||||
|
||||
/* Initialize file specific pushbuttons */
|
||||
if (!(wpage->wininfo->win_style & WS_POPUP) && wpage->page)
|
||||
|
@ -846,22 +846,22 @@ BOOL WINHELP_CreateHelpWindow(WINHELP_WNDPAGE* wpage, int nCmdShow, BOOL remembe
|
|||
*/
|
||||
for (win = Globals.win_list; win; win = win->next)
|
||||
{
|
||||
if (!lstrcmpi(win->info->name, wpage->wininfo->name)) break;
|
||||
if (!lstrcmpiA(win->info->name, wpage->wininfo->name)) break;
|
||||
}
|
||||
if (!win || !WINHELP_ReleaseWindow(win)) return TRUE;
|
||||
|
||||
if (bPopup)
|
||||
{
|
||||
DWORD mask = SendMessage(hTextWnd, EM_GETEVENTMASK, 0, 0);
|
||||
DWORD mask = SendMessageW(hTextWnd, EM_GETEVENTMASK, 0, 0);
|
||||
|
||||
win->font_scale = Globals.active_win->font_scale;
|
||||
WINHELP_SetupText(hTextWnd, win, wpage->relative);
|
||||
|
||||
/* we need the window to be shown for richedit to compute the size */
|
||||
ShowWindow(win->hMainWnd, nCmdShow);
|
||||
SendMessage(hTextWnd, EM_SETEVENTMASK, 0, mask | ENM_REQUESTRESIZE);
|
||||
SendMessage(hTextWnd, EM_REQUESTRESIZE, 0, 0);
|
||||
SendMessage(hTextWnd, EM_SETEVENTMASK, 0, mask);
|
||||
SendMessageW(hTextWnd, EM_SETEVENTMASK, 0, mask | ENM_REQUESTRESIZE);
|
||||
SendMessageW(hTextWnd, EM_REQUESTRESIZE, 0, 0);
|
||||
SendMessageW(hTextWnd, EM_SETEVENTMASK, 0, mask);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1009,11 +1009,11 @@ static LRESULT CALLBACK WINHELP_ButtonWndProc(HWND hWnd, UINT msg, WPARAM wParam
|
|||
case VK_PRIOR:
|
||||
case VK_NEXT:
|
||||
case VK_ESCAPE:
|
||||
return SendMessage(GetParent(hWnd), msg, wParam, lParam);
|
||||
return SendMessageA(GetParent(hWnd), msg, wParam, lParam);
|
||||
}
|
||||
}
|
||||
|
||||
return CallWindowProc(Globals.button_proc, hWnd, msg, wParam, lParam);
|
||||
return CallWindowProcA(Globals.button_proc, hWnd, msg, wParam, lParam);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
|
@ -1034,7 +1034,7 @@ static LRESULT CALLBACK WINHELP_ButtonBoxWndProc(HWND hWnd, UINT msg, WPARAM wPa
|
|||
{
|
||||
case WM_WINDOWPOSCHANGING:
|
||||
winpos = (WINDOWPOS*) lParam;
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtr(GetParent(hWnd), 0);
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtrW(GetParent(hWnd), 0);
|
||||
|
||||
/* Update buttons */
|
||||
button_size.cx = 0;
|
||||
|
@ -1045,7 +1045,7 @@ static LRESULT CALLBACK WINHELP_ButtonBoxWndProc(HWND hWnd, UINT msg, WPARAM wPa
|
|||
SIZE textsize;
|
||||
if (!button->hWnd)
|
||||
{
|
||||
button->hWnd = CreateWindow(STRING_BUTTON, button->lpszName,
|
||||
button->hWnd = CreateWindowA(STRING_BUTTON, button->lpszName,
|
||||
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
|
||||
0, 0, 0, 0,
|
||||
hWnd, (HMENU) button->wParam,
|
||||
|
@ -1055,21 +1055,20 @@ static LRESULT CALLBACK WINHELP_ButtonBoxWndProc(HWND hWnd, UINT msg, WPARAM wPa
|
|||
if (Globals.button_proc == NULL)
|
||||
{
|
||||
NONCLIENTMETRICSW ncm;
|
||||
Globals.button_proc = (WNDPROC) GetWindowLongPtr(button->hWnd, GWLP_WNDPROC);
|
||||
Globals.button_proc = (WNDPROC) GetWindowLongPtrA(button->hWnd, GWLP_WNDPROC);
|
||||
|
||||
ncm.cbSize = sizeof(NONCLIENTMETRICSW);
|
||||
SystemParametersInfoW(SPI_GETNONCLIENTMETRICS,
|
||||
sizeof(NONCLIENTMETRICSW), &ncm, 0);
|
||||
Globals.hButtonFont = CreateFontIndirectW(&ncm.lfMenuFont);
|
||||
}
|
||||
SetWindowLongPtr(button->hWnd, GWLP_WNDPROC, (LONG_PTR) WINHELP_ButtonWndProc);
|
||||
SetWindowLongPtrA(button->hWnd, GWLP_WNDPROC, (LONG_PTR) WINHELP_ButtonWndProc);
|
||||
if (Globals.hButtonFont)
|
||||
SendMessage(button->hWnd, WM_SETFONT, (WPARAM)Globals.hButtonFont, TRUE);
|
||||
SendMessageW(button->hWnd, WM_SETFONT, (WPARAM)Globals.hButtonFont, TRUE);
|
||||
}
|
||||
}
|
||||
hDc = GetDC(button->hWnd);
|
||||
GetTextExtentPoint(hDc, button->lpszName,
|
||||
lstrlen(button->lpszName), &textsize);
|
||||
GetTextExtentPointA(hDc, button->lpszName, strlen(button->lpszName), &textsize);
|
||||
ReleaseDC(button->hWnd, hDc);
|
||||
|
||||
button_size.cx = max(button_size.cx, textsize.cx + BUTTON_CX);
|
||||
|
@ -1091,7 +1090,7 @@ static LRESULT CALLBACK WINHELP_ButtonBoxWndProc(HWND hWnd, UINT msg, WPARAM wPa
|
|||
break;
|
||||
|
||||
case WM_COMMAND:
|
||||
SendMessage(GetParent(hWnd), msg, wParam, lParam);
|
||||
SendMessageW(GetParent(hWnd), msg, wParam, lParam);
|
||||
break;
|
||||
|
||||
case WM_KEYDOWN:
|
||||
|
@ -1102,12 +1101,12 @@ static LRESULT CALLBACK WINHELP_ButtonBoxWndProc(HWND hWnd, UINT msg, WPARAM wPa
|
|||
case VK_PRIOR:
|
||||
case VK_NEXT:
|
||||
case VK_ESCAPE:
|
||||
return SendMessage(GetParent(hWnd), msg, wParam, lParam);
|
||||
return SendMessageA(GetParent(hWnd), msg, wParam, lParam);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return DefWindowProc(hWnd, msg, wParam, lParam);
|
||||
return DefWindowProcA(hWnd, msg, wParam, lParam);
|
||||
}
|
||||
|
||||
/******************************************************************
|
||||
|
@ -1120,26 +1119,26 @@ static LRESULT CALLBACK WINHELP_HistoryWndProc(HWND hWnd, UINT msg, WPARAM wPara
|
|||
WINHELP_WINDOW* win;
|
||||
PAINTSTRUCT ps;
|
||||
HDC hDc;
|
||||
TEXTMETRIC tm;
|
||||
TEXTMETRICW tm;
|
||||
unsigned int i;
|
||||
RECT r;
|
||||
|
||||
switch (msg)
|
||||
{
|
||||
case WM_NCCREATE:
|
||||
win = (WINHELP_WINDOW*)((LPCREATESTRUCT)lParam)->lpCreateParams;
|
||||
SetWindowLongPtr(hWnd, 0, (ULONG_PTR)win);
|
||||
win = (WINHELP_WINDOW*)((LPCREATESTRUCTA)lParam)->lpCreateParams;
|
||||
SetWindowLongPtrW(hWnd, 0, (ULONG_PTR)win);
|
||||
win->hHistoryWnd = hWnd;
|
||||
break;
|
||||
case WM_CREATE:
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtr(hWnd, 0);
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtrW(hWnd, 0);
|
||||
hDc = GetDC(hWnd);
|
||||
GetTextMetrics(hDc, &tm);
|
||||
GetTextMetricsW(hDc, &tm);
|
||||
GetWindowRect(hWnd, &r);
|
||||
|
||||
r.right = r.left + 30 * tm.tmAveCharWidth;
|
||||
r.bottom = r.top + (sizeof(Globals.history.set) / sizeof(Globals.history.set[0])) * tm.tmHeight;
|
||||
AdjustWindowRect(&r, GetWindowLong(hWnd, GWL_STYLE), FALSE);
|
||||
AdjustWindowRect(&r, GetWindowLongW(hWnd, GWL_STYLE), FALSE);
|
||||
if (r.left < 0) {r.right -= r.left; r.left = 0;}
|
||||
if (r.top < 0) {r.bottom -= r.top; r.top = 0;}
|
||||
|
||||
|
@ -1147,9 +1146,9 @@ static LRESULT CALLBACK WINHELP_HistoryWndProc(HWND hWnd, UINT msg, WPARAM wPara
|
|||
ReleaseDC(hWnd, hDc);
|
||||
break;
|
||||
case WM_LBUTTONDOWN:
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtr(hWnd, 0);
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtrW(hWnd, 0);
|
||||
hDc = GetDC(hWnd);
|
||||
GetTextMetrics(hDc, &tm);
|
||||
GetTextMetricsW(hDc, &tm);
|
||||
i = HIWORD(lParam) / tm.tmHeight;
|
||||
if (i < Globals.history.index)
|
||||
WINHELP_CreateHelpWindow(&Globals.history.set[i], SW_SHOW, TRUE);
|
||||
|
@ -1157,14 +1156,14 @@ static LRESULT CALLBACK WINHELP_HistoryWndProc(HWND hWnd, UINT msg, WPARAM wPara
|
|||
break;
|
||||
case WM_PAINT:
|
||||
hDc = BeginPaint(hWnd, &ps);
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtr(hWnd, 0);
|
||||
GetTextMetrics(hDc, &tm);
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtrW(hWnd, 0);
|
||||
GetTextMetricsW(hDc, &tm);
|
||||
|
||||
for (i = 0; i < Globals.history.index; i++)
|
||||
{
|
||||
if (Globals.history.set[i].page->file == Globals.active_win->page->file)
|
||||
{
|
||||
TextOut(hDc, 0, i * tm.tmHeight,
|
||||
TextOutA(hDc, 0, i * tm.tmHeight,
|
||||
Globals.history.set[i].page->lpszTitle,
|
||||
strlen(Globals.history.set[i].page->lpszTitle));
|
||||
}
|
||||
|
@ -1183,20 +1182,19 @@ static LRESULT CALLBACK WINHELP_HistoryWndProc(HWND hWnd, UINT msg, WPARAM wPara
|
|||
if (len > sizeof(buffer)) len = sizeof(buffer);
|
||||
memcpy(buffer, ptr1, len);
|
||||
if (len < sizeof(buffer)) buffer[len++] = ':';
|
||||
strncpy(&buffer[len], Globals.history.set[i].page->lpszTitle, sizeof(buffer) - len);
|
||||
buffer[sizeof(buffer) - 1] = '\0';
|
||||
TextOut(hDc, 0, i * tm.tmHeight, buffer, strlen(buffer));
|
||||
lstrcpynA(&buffer[len], Globals.history.set[i].page->lpszTitle, sizeof(buffer) - len);
|
||||
TextOutA(hDc, 0, i * tm.tmHeight, buffer, strlen(buffer));
|
||||
}
|
||||
}
|
||||
EndPaint(hWnd, &ps);
|
||||
break;
|
||||
case WM_DESTROY:
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtr(hWnd, 0);
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtrW(hWnd, 0);
|
||||
if (hWnd == win->hHistoryWnd)
|
||||
win->hHistoryWnd = 0;
|
||||
break;
|
||||
}
|
||||
return DefWindowProc(hWnd, msg, wParam, lParam);
|
||||
return DefWindowProcA(hWnd, msg, wParam, lParam);
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
|
@ -1211,9 +1209,9 @@ static void cb_KWBTree(void *p, void **next, void *cookie)
|
|||
int count;
|
||||
|
||||
WINE_TRACE("Adding '%s' to search list\n", (char *)p);
|
||||
SendMessage(hListWnd, LB_INSERTSTRING, -1, (LPARAM)p);
|
||||
count = SendMessage(hListWnd, LB_GETCOUNT, 0, 0);
|
||||
SendMessage(hListWnd, LB_SETITEMDATA, count-1, (LPARAM)p);
|
||||
SendMessageA(hListWnd, LB_INSERTSTRING, -1, (LPARAM)p);
|
||||
count = SendMessageW(hListWnd, LB_GETCOUNT, 0, 0);
|
||||
SendMessageW(hListWnd, LB_SETITEMDATA, count-1, (LPARAM)p);
|
||||
*next = (char*)p + strlen((char*)p) + 7;
|
||||
}
|
||||
|
||||
|
@ -1236,7 +1234,7 @@ static INT_PTR CALLBACK WINHELP_IndexDlgProc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||
switch (msg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
id = (struct index_data*)((PROPSHEETPAGE*)lParam)->lParam;
|
||||
id = (struct index_data*)((PROPSHEETPAGEA*)lParam)->lParam;
|
||||
HLPFILE_BPTreeEnum(id->hlpfile->kwbtree, cb_KWBTree,
|
||||
GetDlgItem(hWnd, IDC_INDEXLIST));
|
||||
id->jump = FALSE;
|
||||
|
@ -1247,7 +1245,7 @@ static INT_PTR CALLBACK WINHELP_IndexDlgProc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||
{
|
||||
case LBN_DBLCLK:
|
||||
if (LOWORD(wParam) == IDC_INDEXLIST)
|
||||
SendMessage(GetParent(hWnd), PSM_PRESSBUTTON, PSBTN_OK, 0);
|
||||
SendMessageW(GetParent(hWnd), PSM_PRESSBUTTON, PSBTN_OK, 0);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
@ -1255,31 +1253,30 @@ static INT_PTR CALLBACK WINHELP_IndexDlgProc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||
switch (((NMHDR*)lParam)->code)
|
||||
{
|
||||
case PSN_APPLY:
|
||||
sel = SendDlgItemMessage(hWnd, IDC_INDEXLIST, LB_GETCURSEL, 0, 0);
|
||||
sel = SendDlgItemMessageW(hWnd, IDC_INDEXLIST, LB_GETCURSEL, 0, 0);
|
||||
if (sel != LB_ERR)
|
||||
{
|
||||
BYTE *p;
|
||||
int count;
|
||||
|
||||
p = (BYTE*)SendDlgItemMessage(hWnd, IDC_INDEXLIST,
|
||||
LB_GETITEMDATA, sel, 0);
|
||||
p = (BYTE*)SendDlgItemMessageW(hWnd, IDC_INDEXLIST, LB_GETITEMDATA, sel, 0);
|
||||
count = *(short*)((char *)p + strlen((char *)p) + 1);
|
||||
if (count > 1)
|
||||
{
|
||||
MessageBox(hWnd, "count > 1 not supported yet", "Error", MB_OK | MB_ICONSTOP);
|
||||
SetWindowLongPtr(hWnd, DWLP_MSGRESULT, PSNRET_INVALID);
|
||||
MessageBoxA(hWnd, "count > 1 not supported yet", "Error", MB_OK | MB_ICONSTOP);
|
||||
SetWindowLongPtrW(hWnd, DWLP_MSGRESULT, PSNRET_INVALID);
|
||||
return TRUE;
|
||||
}
|
||||
id->offset = *(ULONG*)((char *)p + strlen((char *)p) + 3);
|
||||
id->offset = *(long*)(id->hlpfile->kwdata + id->offset + 9);
|
||||
if (id->offset == 0xFFFFFFFF)
|
||||
{
|
||||
MessageBox(hWnd, "macro keywords not supported yet", "Error", MB_OK | MB_ICONSTOP);
|
||||
SetWindowLongPtr(hWnd, DWLP_MSGRESULT, PSNRET_INVALID);
|
||||
MessageBoxA(hWnd, "macro keywords not supported yet", "Error", MB_OK | MB_ICONSTOP);
|
||||
SetWindowLongPtrW(hWnd, DWLP_MSGRESULT, PSNRET_INVALID);
|
||||
return TRUE;
|
||||
}
|
||||
id->jump = TRUE;
|
||||
SetWindowLongPtr(hWnd, DWLP_MSGRESULT, PSNRET_NOERROR);
|
||||
SetWindowLongPtrW(hWnd, DWLP_MSGRESULT, PSNRET_NOERROR);
|
||||
}
|
||||
return TRUE;
|
||||
default:
|
||||
|
@ -1306,7 +1303,7 @@ static INT_PTR CALLBACK WINHELP_SearchDlgProc(HWND hWnd, UINT msg, WPARAM wParam
|
|||
switch (((NMHDR*)lParam)->code)
|
||||
{
|
||||
case PSN_APPLY:
|
||||
SetWindowLongPtr(hWnd, DWLP_MSGRESULT, PSNRET_NOERROR);
|
||||
SetWindowLongPtrW(hWnd, DWLP_MSGRESULT, PSNRET_NOERROR);
|
||||
return TRUE;
|
||||
default:
|
||||
return FALSE;
|
||||
|
@ -1334,20 +1331,20 @@ static LRESULT CALLBACK WINHELP_MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||
switch (msg)
|
||||
{
|
||||
case WM_NCCREATE:
|
||||
win = (WINHELP_WINDOW*) ((LPCREATESTRUCT) lParam)->lpCreateParams;
|
||||
SetWindowLongPtr(hWnd, 0, (ULONG_PTR) win);
|
||||
win = (WINHELP_WINDOW*) ((LPCREATESTRUCTA) lParam)->lpCreateParams;
|
||||
SetWindowLongPtrW(hWnd, 0, (ULONG_PTR) win);
|
||||
if (!win->page && Globals.isBook)
|
||||
PostMessage(hWnd, WM_COMMAND, MNID_FILE_OPEN, 0);
|
||||
PostMessageW(hWnd, WM_COMMAND, MNID_FILE_OPEN, 0);
|
||||
win->hMainWnd = hWnd;
|
||||
break;
|
||||
|
||||
case WM_WINDOWPOSCHANGED:
|
||||
WINHELP_LayoutMainWindow((WINHELP_WINDOW*) GetWindowLongPtr(hWnd, 0));
|
||||
WINHELP_LayoutMainWindow((WINHELP_WINDOW*) GetWindowLongPtrW(hWnd, 0));
|
||||
break;
|
||||
|
||||
case WM_COMMAND:
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtr(hWnd, 0);
|
||||
switch (wParam)
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtrW(hWnd, 0);
|
||||
switch (LOWORD(wParam))
|
||||
{
|
||||
/* Menu FILE */
|
||||
case MNID_FILE_OPEN: MACRO_FileOpen(); break;
|
||||
|
@ -1357,7 +1354,7 @@ static LRESULT CALLBACK WINHELP_MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||
|
||||
/* Menu EDIT */
|
||||
case MNID_EDIT_COPYDLG:
|
||||
SendMessage(GetDlgItem(hWnd, CTL_ID_TEXT), WM_COPY, 0, 0);
|
||||
SendDlgItemMessageW(hWnd, CTL_ID_TEXT, WM_COPY, 0, 0);
|
||||
break;
|
||||
case MNID_EDIT_ANNOTATE:MACRO_Annotate(); break;
|
||||
|
||||
|
@ -1376,7 +1373,7 @@ static LRESULT CALLBACK WINHELP_MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||
case MNID_OPTS_HISTORY: MACRO_History(); break;
|
||||
case MNID_OPTS_FONTS_SMALL:
|
||||
case MNID_CTXT_FONTS_SMALL:
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtr(hWnd, 0);
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtrW(hWnd, 0);
|
||||
if (win->font_scale != 0)
|
||||
{
|
||||
win->font_scale = 0;
|
||||
|
@ -1385,7 +1382,7 @@ static LRESULT CALLBACK WINHELP_MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||
break;
|
||||
case MNID_OPTS_FONTS_NORMAL:
|
||||
case MNID_CTXT_FONTS_NORMAL:
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtr(hWnd, 0);
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtrW(hWnd, 0);
|
||||
if (win->font_scale != 1)
|
||||
{
|
||||
win->font_scale = 1;
|
||||
|
@ -1394,22 +1391,13 @@ static LRESULT CALLBACK WINHELP_MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||
break;
|
||||
case MNID_OPTS_FONTS_LARGE:
|
||||
case MNID_CTXT_FONTS_LARGE:
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtr(hWnd, 0);
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtrW(hWnd, 0);
|
||||
if (win->font_scale != 2)
|
||||
{
|
||||
win->font_scale = 2;
|
||||
WINHELP_SetupText(GetDlgItem(hWnd, CTL_ID_TEXT), win, 0 /* FIXME */);
|
||||
}
|
||||
break;
|
||||
case MNID_OPTS_HELP_DEFAULT:
|
||||
case MNID_OPTS_HELP_VISIBLE:
|
||||
case MNID_OPTS_HELP_NONVISIBLE:
|
||||
case MNID_OPTS_SYSTEM_COLORS:
|
||||
case MNID_CTXT_HELP_DEFAULT:
|
||||
case MNID_CTXT_HELP_VISIBLE:
|
||||
case MNID_CTXT_HELP_NONVISIBLE:
|
||||
case MNID_CTXT_SYSTEM_COLORS:
|
||||
/* FIXME: NIY */
|
||||
|
||||
default:
|
||||
/* Buttons */
|
||||
|
@ -1418,8 +1406,8 @@ static LRESULT CALLBACK WINHELP_MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||
if (button)
|
||||
MACRO_ExecuteMacro(win, button->lpszMacro);
|
||||
else if (!HIWORD(wParam))
|
||||
MessageBox(0, MAKEINTRESOURCE(STID_NOT_IMPLEMENTED),
|
||||
MAKEINTRESOURCE(STID_WHERROR), MB_OK);
|
||||
MessageBoxW(0, MAKEINTRESOURCEW(STID_NOT_IMPLEMENTED),
|
||||
MAKEINTRESOURCEW(STID_WHERROR), MB_OK);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
@ -1432,28 +1420,28 @@ static LRESULT CALLBACK WINHELP_MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||
case WM_CHAR:
|
||||
if (wParam == 3)
|
||||
{
|
||||
SendMessage(GetDlgItem(hWnd, CTL_ID_TEXT), WM_COPY, 0, 0);
|
||||
SendDlgItemMessageW(hWnd, CTL_ID_TEXT, WM_COPY, 0, 0);
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_KEYDOWN:
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtr(hWnd, 0);
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtrW(hWnd, 0);
|
||||
hTextWnd = GetDlgItem(win->hMainWnd, CTL_ID_TEXT);
|
||||
|
||||
switch (wParam)
|
||||
{
|
||||
case VK_UP:
|
||||
SendMessage(hTextWnd, EM_SCROLL, SB_LINEUP, 0);
|
||||
SendMessageW(hTextWnd, EM_SCROLL, SB_LINEUP, 0);
|
||||
return 0;
|
||||
case VK_DOWN:
|
||||
SendMessage(hTextWnd, EM_SCROLL, SB_LINEDOWN, 0);
|
||||
SendMessageW(hTextWnd, EM_SCROLL, SB_LINEDOWN, 0);
|
||||
return 0;
|
||||
case VK_PRIOR:
|
||||
SendMessage(hTextWnd, EM_SCROLL, SB_PAGEUP, 0);
|
||||
SendMessageW(hTextWnd, EM_SCROLL, SB_PAGEUP, 0);
|
||||
return 0;
|
||||
case VK_NEXT:
|
||||
SendMessage(hTextWnd, EM_SCROLL, SB_PAGEDOWN, 0);
|
||||
SendMessageW(hTextWnd, EM_SCROLL, SB_PAGEDOWN, 0);
|
||||
return 0;
|
||||
case VK_ESCAPE:
|
||||
MACRO_Exit();
|
||||
|
@ -1475,15 +1463,15 @@ static LRESULT CALLBACK WINHELP_MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||
{
|
||||
case WM_KEYUP:
|
||||
if (msgf->wParam == VK_ESCAPE)
|
||||
WINHELP_ReleaseWindow((WINHELP_WINDOW*)GetWindowLongPtr(hWnd, 0));
|
||||
WINHELP_ReleaseWindow((WINHELP_WINDOW*)GetWindowLongPtrW(hWnd, 0));
|
||||
break;
|
||||
case WM_RBUTTONDOWN:
|
||||
{
|
||||
HMENU hMenu;
|
||||
POINT pt;
|
||||
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtr(hWnd, 0);
|
||||
hMenu = LoadMenu(Globals.hInstance, (LPSTR)CONTEXT_MENU);
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtrW(hWnd, 0);
|
||||
hMenu = LoadMenuW(Globals.hInstance, MAKEINTRESOURCEW(CONTEXT_MENU));
|
||||
switch (win->font_scale)
|
||||
{
|
||||
case 0:
|
||||
|
@ -1492,6 +1480,7 @@ static LRESULT CALLBACK WINHELP_MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||
break;
|
||||
default:
|
||||
WINE_FIXME("Unsupported %d\n", win->font_scale);
|
||||
/* fall through */
|
||||
case 1:
|
||||
CheckMenuItem(hMenu, MNID_CTXT_FONTS_NORMAL,
|
||||
MF_BYCOMMAND|MF_CHECKED);
|
||||
|
@ -1510,7 +1499,7 @@ static LRESULT CALLBACK WINHELP_MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||
}
|
||||
break;
|
||||
default:
|
||||
return WINHELP_HandleTextMouse((WINHELP_WINDOW*)GetWindowLongPtr(hWnd, 0),
|
||||
return WINHELP_HandleTextMouse((WINHELP_WINDOW*)GetWindowLongPtrW(hWnd, 0),
|
||||
msgf->msg, msgf->lParam);
|
||||
}
|
||||
}
|
||||
|
@ -1518,8 +1507,8 @@ static LRESULT CALLBACK WINHELP_MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||
|
||||
case EN_REQUESTRESIZE:
|
||||
rc = ((REQRESIZE*)lParam)->rc;
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtr(hWnd, 0);
|
||||
AdjustWindowRect(&rc, GetWindowLong(win->hMainWnd, GWL_STYLE),
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtrW(hWnd, 0);
|
||||
AdjustWindowRect(&rc, GetWindowLongW(win->hMainWnd, GWL_STYLE),
|
||||
FALSE);
|
||||
SetWindowPos(win->hMainWnd, HWND_TOP, 0, 0,
|
||||
rc.right - rc.left, rc.bottom - rc.top,
|
||||
|
@ -1531,7 +1520,7 @@ static LRESULT CALLBACK WINHELP_MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||
break;
|
||||
|
||||
case WM_INITMENUPOPUP:
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtr(hWnd, 0);
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtrW(hWnd, 0);
|
||||
CheckMenuItem((HMENU)wParam, MNID_OPTS_FONTS_SMALL,
|
||||
MF_BYCOMMAND | (win->font_scale == 0) ? MF_CHECKED : 0);
|
||||
CheckMenuItem((HMENU)wParam, MNID_OPTS_FONTS_NORMAL,
|
||||
|
@ -1540,11 +1529,11 @@ static LRESULT CALLBACK WINHELP_MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||
MF_BYCOMMAND | (win->font_scale == 2) ? MF_CHECKED : 0);
|
||||
break;
|
||||
case WM_DESTROY:
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtr(hWnd, 0);
|
||||
win = (WINHELP_WINDOW*) GetWindowLongPtrW(hWnd, 0);
|
||||
WINHELP_DeleteWindow(win);
|
||||
break;
|
||||
}
|
||||
return DefWindowProc(hWnd, msg, wParam, lParam);
|
||||
return DefWindowProcA(hWnd, msg, wParam, lParam);
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
|
@ -1556,8 +1545,8 @@ static LRESULT CALLBACK WINHELP_MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||
BOOL WINHELP_CreateIndexWindow(BOOL is_search)
|
||||
{
|
||||
HPROPSHEETPAGE psPage[3];
|
||||
PROPSHEETPAGE psp;
|
||||
PROPSHEETHEADER psHead;
|
||||
PROPSHEETPAGEA psp;
|
||||
PROPSHEETHEADERA psHead;
|
||||
struct index_data id;
|
||||
char buf[256];
|
||||
|
||||
|
@ -1580,20 +1569,20 @@ BOOL WINHELP_CreateIndexWindow(BOOL is_search)
|
|||
psp.dwFlags = 0;
|
||||
psp.hInstance = Globals.hInstance;
|
||||
|
||||
psp.u.pszTemplate = MAKEINTRESOURCE(IDD_INDEX);
|
||||
psp.u.pszTemplate = MAKEINTRESOURCEA(IDD_INDEX);
|
||||
psp.lParam = (LPARAM)&id;
|
||||
psp.pfnDlgProc = WINHELP_IndexDlgProc;
|
||||
psPage[0] = CreatePropertySheetPage(&psp);
|
||||
psPage[0] = CreatePropertySheetPageA(&psp);
|
||||
|
||||
psp.u.pszTemplate = MAKEINTRESOURCE(IDD_SEARCH);
|
||||
psp.u.pszTemplate = MAKEINTRESOURCEA(IDD_SEARCH);
|
||||
psp.lParam = (LPARAM)&id;
|
||||
psp.pfnDlgProc = WINHELP_SearchDlgProc;
|
||||
psPage[1] = CreatePropertySheetPage(&psp);
|
||||
psPage[1] = CreatePropertySheetPageA(&psp);
|
||||
|
||||
memset(&psHead, 0, sizeof(psHead));
|
||||
psHead.dwSize = sizeof(psHead);
|
||||
|
||||
LoadString(Globals.hInstance, STID_PSH_INDEX, buf, sizeof(buf));
|
||||
LoadStringA(Globals.hInstance, STID_PSH_INDEX, buf, sizeof(buf));
|
||||
strcat(buf, Globals.active_win->info->caption);
|
||||
|
||||
psHead.pszCaption = buf;
|
||||
|
@ -1603,7 +1592,7 @@ BOOL WINHELP_CreateIndexWindow(BOOL is_search)
|
|||
psHead.u3.phpage = psPage;
|
||||
psHead.dwFlags = PSH_NOAPPLYNOW;
|
||||
|
||||
PropertySheet(&psHead);
|
||||
PropertySheetA(&psHead);
|
||||
if (id.jump)
|
||||
{
|
||||
WINE_TRACE("got %d as an offset\n", id.offset);
|
||||
|
@ -1619,7 +1608,7 @@ BOOL WINHELP_CreateIndexWindow(BOOL is_search)
|
|||
*/
|
||||
static BOOL WINHELP_RegisterWinClasses(void)
|
||||
{
|
||||
WNDCLASSEX class_main, class_button_box, class_history;
|
||||
WNDCLASSEXA class_main, class_button_box, class_history;
|
||||
|
||||
class_main.cbSize = sizeof(class_main);
|
||||
class_main.style = CS_HREDRAW | CS_VREDRAW;
|
||||
|
@ -1627,12 +1616,12 @@ static BOOL WINHELP_RegisterWinClasses(void)
|
|||
class_main.cbClsExtra = 0;
|
||||
class_main.cbWndExtra = sizeof(WINHELP_WINDOW *);
|
||||
class_main.hInstance = Globals.hInstance;
|
||||
class_main.hIcon = LoadIcon(Globals.hInstance, MAKEINTRESOURCE(IDI_WINHELP));
|
||||
class_main.hCursor = LoadCursor(0, IDC_ARROW);
|
||||
class_main.hIcon = LoadIconW(Globals.hInstance, MAKEINTRESOURCEW(IDI_WINHELP));
|
||||
class_main.hCursor = LoadCursorW(0, (LPWSTR)IDC_ARROW);
|
||||
class_main.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
|
||||
class_main.lpszMenuName = 0;
|
||||
class_main.lpszClassName = MAIN_WIN_CLASS_NAME;
|
||||
class_main.hIconSm = LoadImage(Globals.hInstance, MAKEINTRESOURCE(IDI_WINHELP), IMAGE_ICON,
|
||||
class_main.hIconSm = LoadImageW(Globals.hInstance, MAKEINTRESOURCEW(IDI_WINHELP), IMAGE_ICON,
|
||||
GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON),
|
||||
LR_SHARED);
|
||||
|
||||
|
@ -1646,9 +1635,9 @@ static BOOL WINHELP_RegisterWinClasses(void)
|
|||
class_history.lpfnWndProc = WINHELP_HistoryWndProc;
|
||||
class_history.lpszClassName = HISTORY_WIN_CLASS_NAME;
|
||||
|
||||
return (RegisterClassEx(&class_main) &&
|
||||
RegisterClassEx(&class_button_box) &&
|
||||
RegisterClassEx(&class_history));
|
||||
return (RegisterClassExA(&class_main) &&
|
||||
RegisterClassExA(&class_button_box) &&
|
||||
RegisterClassExA(&class_history));
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
|
@ -1663,12 +1652,13 @@ int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE prev, LPSTR cmdline, int show)
|
|||
static CHAR default_wndname[] = "main";
|
||||
LPSTR wndname = default_wndname;
|
||||
WINHELP_DLL* dll;
|
||||
HACCEL hAccel;
|
||||
|
||||
Globals.hInstance = hInstance;
|
||||
|
||||
if (LoadLibrary("riched20.dll") == NULL)
|
||||
return MessageBox(0, MAKEINTRESOURCE(STID_NO_RICHEDIT),
|
||||
MAKEINTRESOURCE(STID_WHERROR), MB_OK);
|
||||
if (LoadLibraryA("riched20.dll") == NULL)
|
||||
return MessageBoxW(0, MAKEINTRESOURCEW(STID_NO_RICHEDIT),
|
||||
MAKEINTRESOURCEW(STID_WHERROR), MB_OK);
|
||||
|
||||
/* Get options */
|
||||
while (*cmdline && (*cmdline == ' ' || *cmdline == '-'))
|
||||
|
@ -1734,10 +1724,15 @@ int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE prev, LPSTR cmdline, int show)
|
|||
WINHELP_GetWindowInfo(hlpfile, wndname), show);
|
||||
|
||||
/* Message loop */
|
||||
while ((Globals.win_list || Globals.active_popup) && GetMessage(&msg, 0, 0, 0))
|
||||
hAccel = LoadAcceleratorsW(hInstance, MAKEINTRESOURCEW(MAIN_ACCEL));
|
||||
while ((Globals.win_list || Globals.active_popup) && GetMessageW(&msg, 0, 0, 0))
|
||||
{
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessage(&msg);
|
||||
HWND hWnd = Globals.active_win ? Globals.active_win->hMainWnd : NULL;
|
||||
if (!TranslateAcceleratorW(hWnd, hAccel, &msg))
|
||||
{
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessageW(&msg);
|
||||
}
|
||||
}
|
||||
for (dll = Globals.dlls; dll; dll = dll->next)
|
||||
{
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
|
||||
#define MAIN_MENU 0xF000
|
||||
#define CONTEXT_MENU 0xF001
|
||||
#define MAIN_ACCEL 0xF002
|
||||
|
||||
#define STID_WINE_HELP 0x120
|
||||
#define STID_WHERROR 0x121
|
||||
|
|
|
@ -215,7 +215,7 @@ reactos/base/applications/iexplore # Autosync
|
|||
reactos/base/applications/notepad # Forked at Wine-20041201
|
||||
reactos/base/applications/reg # Autosync
|
||||
reactos/base/applications/regedit # Out of sync
|
||||
reactos/base/applications/winhlp32 # Autosync
|
||||
reactos/base/applications/winhlp32 # Synced to Wine-1.5.26
|
||||
reactos/base/applications/wordpad # Autosync
|
||||
reactos/base/services/rpcss # Synced to Wine-20081105
|
||||
reactos/base/system/expand # Autosync
|
||||
|
|
Loading…
Reference in a new issue