31,6 → 31,8 |
#include "version.h" |
|
HWND preview_hwnd; |
HCURSOR hCurHandOpen; |
HCURSOR hCurHandGrab; |
|
extern HANDLE hDllInstance; |
|
78,6 → 80,8 |
|
switch(wMsg){ |
case WM_INITDIALOG: |
gdata->hWndMainDlg = hDlg; |
|
if(gdata->standalone){ |
myp2cstrcpy(s,gdata->parm.title); |
SetWindowText(hDlg,s); // window title bar |
87,8 → 91,12 |
// see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/fontext_3pbo.asp |
hfnt = GetStockObject(ANSI_FIXED_FONT); |
|
hCurHandOpen = LoadCursor(hDllInstance, MAKEINTRESOURCE(IDC_FF_HAND_OPEN)); |
hCurHandGrab = LoadCursor(hDllInstance, MAKEINTRESOURCE(IDC_FF_HAND_GRAB)); |
|
preview_hwnd = GetDlgItem(hDlg, PREVIEWITEM); |
GetClientRect(preview_hwnd, &preview_rect); |
SetClassLongPtr(preview_hwnd, GCL_HCURSOR, (LONG_PTR)hCurHandOpen); |
|
for(i = 0; i < 8; ++i){ |
SendDlgItemMessage(hDlg,FIRSTCTLITEM+i, TBM_SETRANGE,TRUE,MAKELONG(0,255)); |
97,12 → 105,15 |
SendDlgItemMessage(hDlg,FIRSTCTLTEXTITEM+i, EM_SETLIMITTEXT,3,0); |
} |
for(i = 0; i < 4; ++i){ |
SendDlgItemMessage(hDlg,FIRSTEXPRITEM+i, EM_SETLIMITTEXT,MAXEXPR,0); |
SendDlgItemMessage(hDlg,FIRSTEXPRITEM+i, EM_SETLIMITTEXT,MAXEXPR-1,0); // we need 1 byte as NUL terminator, so our formula can be max 1023 |
SendDlgItemMessage(hDlg,FIRSTEXPRITEM+i, WM_SETFONT,(WPARAM)hfnt,false); |
} |
|
maindlginit(hDlg); |
break; |
case WM_DESTROY: |
gdata->hWndMainDlg = 0; |
break; |
case WM_DRAWITEM: |
pdi = (DRAWITEMSTRUCT*)lParam; |
if(pdi->itemAction == ODA_DRAWENTIRE){ |
124,6 → 135,7 |
if(item==PREVIEWITEM && GetCursorPos(&origpos)){ |
panning = true; |
origscroll = preview_scroll; |
SetCursor(hCurHandGrab); |
SetCapture(hDlg); |
break; |
} |
160,6 → 172,15 |
} |
|
Boolean maindialog(FilterRecordPtr pb){ |
|
// For the preview image, we register a class, so that we can assign a mouse cursor to this class. |
WNDCLASSEX clx; |
clx.cbSize = sizeof(WNDCLASSEX); |
GetClassInfoEx(hDllInstance, "Static", &clx); |
clx.lpszClassName = "Preview"; |
RegisterClassEx(&clx); |
|
// Now show the dialog |
PlatformData *p = pb->platformData; |
return DialogBoxParam(hDllInstance,MAKEINTRESOURCE(gdata->standalone ? ID_PARAMDLG : ID_MAINDLG), |
(HWND)p->hwnd,maindlgproc,0) == IDOK; |