wordpad: Add initial printing support.
This commit is contained in:
parent
695a94f139
commit
61876c7205
|
@ -27,6 +27,8 @@ BEGIN
|
||||||
MENUITEM "&Speichern\tCtrl+S", ID_FILE_SAVE
|
MENUITEM "&Speichern\tCtrl+S", ID_FILE_SAVE
|
||||||
MENUITEM "Speichern &unter...", ID_FILE_SAVEAS
|
MENUITEM "Speichern &unter...", ID_FILE_SAVEAS
|
||||||
MENUITEM SEPARATOR
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "&Print . . .\tCtrl+P", ID_PRINT
|
||||||
|
MENUITEM SEPARATOR
|
||||||
MENUITEM "&Beenden", ID_FILE_EXIT
|
MENUITEM "&Beenden", ID_FILE_EXIT
|
||||||
END
|
END
|
||||||
POPUP "&Bearbeiten"
|
POPUP "&Bearbeiten"
|
||||||
|
@ -156,7 +158,12 @@ END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
STRING_UNITS_CM, "cm"
|
STRING_PRINTER_FILES_PRN, "Printer files (*.PRN)"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGTABLE DISCARDABLE
|
||||||
|
BEGIN
|
||||||
|
STRING_UNITS_CM, "cm"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
|
|
|
@ -27,6 +27,8 @@ BEGIN
|
||||||
MENUITEM "&Save\tCtrl+S", ID_FILE_SAVE
|
MENUITEM "&Save\tCtrl+S", ID_FILE_SAVE
|
||||||
MENUITEM "Save &as . . .", ID_FILE_SAVEAS
|
MENUITEM "Save &as . . .", ID_FILE_SAVEAS
|
||||||
MENUITEM SEPARATOR
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "&Print . . .\tCtrl+P", ID_PRINT
|
||||||
|
MENUITEM SEPARATOR
|
||||||
MENUITEM "E&xit", ID_FILE_EXIT
|
MENUITEM "E&xit", ID_FILE_EXIT
|
||||||
END
|
END
|
||||||
POPUP "&Edit"
|
POPUP "&Edit"
|
||||||
|
@ -157,7 +159,12 @@ END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
STRING_UNITS_CM, "cm"
|
STRING_PRINTER_FILES_PRN, "Printer files (*.PRN)"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGTABLE DISCARDABLE
|
||||||
|
BEGIN
|
||||||
|
STRING_UNITS_CM, "cm"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
|
|
|
@ -27,6 +27,8 @@ BEGIN
|
||||||
MENUITEM "&Enregistrer\tCtrl+S", ID_FILE_SAVE
|
MENUITEM "&Enregistrer\tCtrl+S", ID_FILE_SAVE
|
||||||
MENUITEM "Enregistrer &sous...", ID_FILE_SAVEAS
|
MENUITEM "Enregistrer &sous...", ID_FILE_SAVEAS
|
||||||
MENUITEM SEPARATOR
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "&Print . . .\tCtrl+P", ID_PRINT
|
||||||
|
MENUITEM SEPARATOR
|
||||||
MENUITEM "&Quitter", ID_FILE_EXIT
|
MENUITEM "&Quitter", ID_FILE_EXIT
|
||||||
END
|
END
|
||||||
POPUP "É&dition"
|
POPUP "É&dition"
|
||||||
|
@ -156,7 +158,12 @@ END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
STRING_UNITS_CM, "cm"
|
STRING_PRINTER_FILES_PRN, "Printer files (*.PRN)"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGTABLE DISCARDABLE
|
||||||
|
BEGIN
|
||||||
|
STRING_UNITS_CM, "cm"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
|
|
|
@ -27,6 +27,8 @@ BEGIN
|
||||||
MENUITEM "M&entés\tCtrl+S", ID_FILE_SAVE
|
MENUITEM "M&entés\tCtrl+S", ID_FILE_SAVE
|
||||||
MENUITEM "Mentés má&sként...", ID_FILE_SAVEAS
|
MENUITEM "Mentés má&sként...", ID_FILE_SAVEAS
|
||||||
MENUITEM SEPARATOR
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "&Print . . .\tCtrl+P", ID_PRINT
|
||||||
|
MENUITEM SEPARATOR
|
||||||
MENUITEM "&Kilépés", ID_FILE_EXIT
|
MENUITEM "&Kilépés", ID_FILE_EXIT
|
||||||
END
|
END
|
||||||
POPUP "Sz&erkesztés"
|
POPUP "Sz&erkesztés"
|
||||||
|
@ -156,7 +158,12 @@ END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
STRING_UNITS_CM, "cm"
|
STRING_PRINTER_FILES_PRN, "Printer files (*.PRN)"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGTABLE DISCARDABLE
|
||||||
|
BEGIN
|
||||||
|
STRING_UNITS_CM, "cm"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
|
|
|
@ -28,6 +28,8 @@ BEGIN
|
||||||
MENUITEM "저장(&S)\tCtrl+S", ID_FILE_SAVE
|
MENUITEM "저장(&S)\tCtrl+S", ID_FILE_SAVE
|
||||||
MENUITEM "다른 이름으로 저장(&A)...", ID_FILE_SAVEAS
|
MENUITEM "다른 이름으로 저장(&A)...", ID_FILE_SAVEAS
|
||||||
MENUITEM SEPARATOR
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "&Print . . .\tCtrl+P", ID_PRINT
|
||||||
|
MENUITEM SEPARATOR
|
||||||
MENUITEM "나가기(&X)", ID_FILE_EXIT
|
MENUITEM "나가기(&X)", ID_FILE_EXIT
|
||||||
END
|
END
|
||||||
POPUP "편집(&E)"
|
POPUP "편집(&E)"
|
||||||
|
@ -143,14 +145,19 @@ END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
STRING_UNITS_CM, "cm"
|
STRING_ALIGN_LEFT, "Left"
|
||||||
|
STRING_ALIGN_RIGHT, "Right"
|
||||||
|
STRING_ALIGN_CENTER, "Center"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
STRING_ALIGN_LEFT, "Left"
|
STRING_PRINTER_FILES_PRN, "Printer files (*.PRN)"
|
||||||
STRING_ALIGN_RIGHT, "Right"
|
END
|
||||||
STRING_ALIGN_CENTER, "Center"
|
|
||||||
|
STRINGTABLE DISCARDABLE
|
||||||
|
BEGIN
|
||||||
|
STRING_UNITS_CM, "cm"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
|
|
|
@ -27,6 +27,8 @@ BEGIN
|
||||||
MENUITEM "O&pslaan\tCtrl+S", ID_FILE_SAVE
|
MENUITEM "O&pslaan\tCtrl+S", ID_FILE_SAVE
|
||||||
MENUITEM "Ops&laan als...", ID_FILE_SAVEAS
|
MENUITEM "Ops&laan als...", ID_FILE_SAVEAS
|
||||||
MENUITEM SEPARATOR
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "&Print . . .\tCtrl+P", ID_PRINT
|
||||||
|
MENUITEM SEPARATOR
|
||||||
MENUITEM "&Afsluiten", ID_FILE_EXIT
|
MENUITEM "&Afsluiten", ID_FILE_EXIT
|
||||||
END
|
END
|
||||||
POPUP "Be&werken"
|
POPUP "Be&werken"
|
||||||
|
@ -156,7 +158,12 @@ END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
STRING_UNITS_CM, "cm"
|
STRING_PRINTER_FILES_PRN, "Printer files (*.PRN)"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGTABLE DISCARDABLE
|
||||||
|
BEGIN
|
||||||
|
STRING_UNITS_CM, "cm"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
|
|
|
@ -27,6 +27,8 @@ BEGIN
|
||||||
MENUITEM "&Lagre\tCtrl+S", ID_FILE_SAVE
|
MENUITEM "&Lagre\tCtrl+S", ID_FILE_SAVE
|
||||||
MENUITEM "Lagre &som . . .", ID_FILE_SAVEAS
|
MENUITEM "Lagre &som . . .", ID_FILE_SAVEAS
|
||||||
MENUITEM SEPARATOR
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "&Skriv ut . . .\tCtrl+P", ID_PRINT
|
||||||
|
MENUITEM SEPARATOR
|
||||||
MENUITEM "&Avslutt", ID_FILE_EXIT
|
MENUITEM "&Avslutt", ID_FILE_EXIT
|
||||||
END
|
END
|
||||||
POPUP "R&ediger"
|
POPUP "R&ediger"
|
||||||
|
@ -154,6 +156,11 @@ BEGIN
|
||||||
STRING_ALIGN_CENTER, "Midtstilt"
|
STRING_ALIGN_CENTER, "Midtstilt"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRINGTABLE DISCARDABLE
|
||||||
|
BEGIN
|
||||||
|
STRING_PRINTER_FILES_PRN, "Skriverfiler (*.PRN)"
|
||||||
|
END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
STRING_UNITS_CM, "cm"
|
STRING_UNITS_CM, "cm"
|
||||||
|
|
|
@ -28,6 +28,8 @@ BEGIN
|
||||||
MENUITEM "&Zapisz\tCtrl+S", ID_FILE_SAVE
|
MENUITEM "&Zapisz\tCtrl+S", ID_FILE_SAVE
|
||||||
MENUITEM "Z&apisz jako...", ID_FILE_SAVEAS
|
MENUITEM "Z&apisz jako...", ID_FILE_SAVEAS
|
||||||
MENUITEM SEPARATOR
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "&Print . . .\tCtrl+P", ID_PRINT
|
||||||
|
MENUITEM SEPARATOR
|
||||||
MENUITEM "Za&koñcz", ID_FILE_EXIT
|
MENUITEM "Za&koñcz", ID_FILE_EXIT
|
||||||
END
|
END
|
||||||
POPUP "&Edycja"
|
POPUP "&Edycja"
|
||||||
|
@ -157,7 +159,12 @@ END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
STRING_UNITS_CM, "cm"
|
STRING_PRINTER_FILES_PRN, "Printer files (*.PRN)"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGTABLE DISCARDABLE
|
||||||
|
BEGIN
|
||||||
|
STRING_UNITS_CM, "cm"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
|
|
|
@ -27,6 +27,8 @@ BEGIN
|
||||||
MENUITEM "&Ñîõðàíèòü\tCtrl+S", ID_FILE_SAVE
|
MENUITEM "&Ñîõðàíèòü\tCtrl+S", ID_FILE_SAVE
|
||||||
MENUITEM "Ñîõðàíèòü &êàê...", ID_FILE_SAVEAS
|
MENUITEM "Ñîõðàíèòü &êàê...", ID_FILE_SAVEAS
|
||||||
MENUITEM SEPARATOR
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "&Print . . .\tCtrl+P", ID_PRINT
|
||||||
|
MENUITEM SEPARATOR
|
||||||
MENUITEM "Â&ûõîä", ID_FILE_EXIT
|
MENUITEM "Â&ûõîä", ID_FILE_EXIT
|
||||||
END
|
END
|
||||||
POPUP "&Ïðàâêà"
|
POPUP "&Ïðàâêà"
|
||||||
|
@ -154,7 +156,12 @@ END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
STRING_UNITS_CM, "cm"
|
STRING_PRINTER_FILES_PRN, "Printer files (*.PRN)"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGTABLE DISCARDABLE
|
||||||
|
BEGIN
|
||||||
|
STRING_UNITS_CM, "cm"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
|
|
|
@ -29,6 +29,8 @@ BEGIN
|
||||||
MENUITEM "&Kaydet\tCtrl+S", ID_FILE_SAVE
|
MENUITEM "&Kaydet\tCtrl+S", ID_FILE_SAVE
|
||||||
MENUITEM "&Farklý Kaydet...", ID_FILE_SAVEAS
|
MENUITEM "&Farklý Kaydet...", ID_FILE_SAVEAS
|
||||||
MENUITEM SEPARATOR
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "&Print . . .\tCtrl+P", ID_PRINT
|
||||||
|
MENUITEM SEPARATOR
|
||||||
MENUITEM "&Çýk", ID_FILE_EXIT
|
MENUITEM "&Çýk", ID_FILE_EXIT
|
||||||
END
|
END
|
||||||
POPUP "&Düzen"
|
POPUP "&Düzen"
|
||||||
|
@ -158,7 +160,12 @@ END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
STRING_UNITS_CM, "cm"
|
STRING_PRINTER_FILES_PRN, "Printer files (*.PRN)"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGTABLE DISCARDABLE
|
||||||
|
BEGIN
|
||||||
|
STRING_UNITS_CM, "cm"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
|
|
|
@ -120,7 +120,9 @@
|
||||||
#define STRING_ALIGN_RIGHT 1408
|
#define STRING_ALIGN_RIGHT 1408
|
||||||
#define STRING_ALIGN_CENTER 1409
|
#define STRING_ALIGN_CENTER 1409
|
||||||
|
|
||||||
#define STRING_UNITS_CM 1410
|
#define STRING_PRINTER_FILES_PRN 1410
|
||||||
|
|
||||||
|
#define STRING_UNITS_CM 1411
|
||||||
|
|
||||||
#define STRING_DEFAULT_FILENAME 1700
|
#define STRING_DEFAULT_FILENAME 1700
|
||||||
#define STRING_PROMPT_SAVE_CHANGES 1701
|
#define STRING_PROMPT_SAVE_CHANGES 1701
|
||||||
|
|
|
@ -41,6 +41,7 @@ BEGIN
|
||||||
"N", ID_FILE_NEW, VIRTKEY, CONTROL
|
"N", ID_FILE_NEW, VIRTKEY, CONTROL
|
||||||
"O", ID_FILE_OPEN, VIRTKEY, CONTROL
|
"O", ID_FILE_OPEN, VIRTKEY, CONTROL
|
||||||
"S", ID_FILE_SAVE, VIRTKEY, CONTROL
|
"S", ID_FILE_SAVE, VIRTKEY, CONTROL
|
||||||
|
"P", ID_PRINT, VIRTKEY, CONTROL
|
||||||
END
|
END
|
||||||
|
|
||||||
/* BINRES toolbar.bmp */
|
/* BINRES toolbar.bmp */
|
||||||
|
|
|
@ -68,6 +68,7 @@ static UINT ID_FINDMSGSTRING;
|
||||||
static WCHAR wszFilter[MAX_STRING_LEN*4+6*3+5];
|
static WCHAR wszFilter[MAX_STRING_LEN*4+6*3+5];
|
||||||
static WCHAR wszDefaultFileName[MAX_STRING_LEN];
|
static WCHAR wszDefaultFileName[MAX_STRING_LEN];
|
||||||
static WCHAR wszSaveChanges[MAX_STRING_LEN];
|
static WCHAR wszSaveChanges[MAX_STRING_LEN];
|
||||||
|
static WCHAR wszPrintFilter[MAX_STRING_LEN*2+6+4+1];
|
||||||
static WCHAR units_cmW[MAX_STRING_LEN];
|
static WCHAR units_cmW[MAX_STRING_LEN];
|
||||||
|
|
||||||
static char units_cmA[MAX_STRING_LEN];
|
static char units_cmA[MAX_STRING_LEN];
|
||||||
|
@ -81,6 +82,7 @@ static void DoLoadStrings(void)
|
||||||
static const WCHAR files_rtf[] = {'*','.','r','t','f','\0'};
|
static const WCHAR files_rtf[] = {'*','.','r','t','f','\0'};
|
||||||
static const WCHAR files_txt[] = {'*','.','t','x','t','\0'};
|
static const WCHAR files_txt[] = {'*','.','t','x','t','\0'};
|
||||||
static const WCHAR files_all[] = {'*','.','*','\0'};
|
static const WCHAR files_all[] = {'*','.','*','\0'};
|
||||||
|
static const WCHAR files_prn[] = {'*','.','P','R','N',0};
|
||||||
HINSTANCE hInstance = (HINSTANCE)GetWindowLongPtr(hMainWnd, GWLP_HINSTANCE);
|
HINSTANCE hInstance = (HINSTANCE)GetWindowLongPtr(hMainWnd, GWLP_HINSTANCE);
|
||||||
|
|
||||||
LoadStringW(hInstance, STRING_RICHTEXT_FILES_RTF, p, MAX_STRING_LEN);
|
LoadStringW(hInstance, STRING_RICHTEXT_FILES_RTF, p, MAX_STRING_LEN);
|
||||||
|
@ -101,6 +103,17 @@ static void DoLoadStrings(void)
|
||||||
p += lstrlenW(p) + 1;
|
p += lstrlenW(p) + 1;
|
||||||
*p = '\0';
|
*p = '\0';
|
||||||
|
|
||||||
|
p = wszPrintFilter;
|
||||||
|
LoadStringW(hInstance, STRING_PRINTER_FILES_PRN, p, MAX_STRING_LEN);
|
||||||
|
p += lstrlenW(p) + 1;
|
||||||
|
lstrcpyW(p, files_prn);
|
||||||
|
p += lstrlenW(p) + 1;
|
||||||
|
LoadStringW(hInstance, STRING_ALL_FILES, p, MAX_STRING_LEN);
|
||||||
|
p += lstrlenW(p) + 1;
|
||||||
|
lstrcpyW(p, files_all);
|
||||||
|
p += lstrlenW(p) + 1;
|
||||||
|
*p = 0;
|
||||||
|
|
||||||
p = wszDefaultFileName;
|
p = wszDefaultFileName;
|
||||||
LoadStringW(hInstance, STRING_DEFAULT_FILENAME, p, MAX_STRING_LEN);
|
LoadStringW(hInstance, STRING_DEFAULT_FILENAME, p, MAX_STRING_LEN);
|
||||||
|
|
||||||
|
@ -874,6 +887,118 @@ static void DialogOpenFile(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static LPWSTR dialog_print_to_file(void)
|
||||||
|
{
|
||||||
|
OPENFILENAMEW ofn;
|
||||||
|
static WCHAR file[MAX_PATH] = {'O','U','T','P','U','T','.','P','R','N',0};
|
||||||
|
static const WCHAR defExt[] = {'P','R','N',0};
|
||||||
|
|
||||||
|
ZeroMemory(&ofn, sizeof(ofn));
|
||||||
|
|
||||||
|
ofn.lStructSize = sizeof(ofn);
|
||||||
|
ofn.Flags = OFN_PATHMUSTEXIST | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
|
||||||
|
ofn.hwndOwner = hMainWnd;
|
||||||
|
ofn.lpstrFilter = (LPWSTR)wszPrintFilter;
|
||||||
|
ofn.lpstrFile = (LPWSTR)file;
|
||||||
|
ofn.nMaxFile = MAX_PATH;
|
||||||
|
ofn.lpstrDefExt = (LPWSTR)defExt;
|
||||||
|
|
||||||
|
if(GetSaveFileNameW(&ofn))
|
||||||
|
return (LPWSTR)file;
|
||||||
|
else
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static LONG devunits_to_twips(int units, int dpi)
|
||||||
|
{
|
||||||
|
float ret = ((float)units / (float)dpi) * (float)567 * 2.54;
|
||||||
|
return (LONG)ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void print(LPPRINTDLGW pd)
|
||||||
|
{
|
||||||
|
FORMATRANGE fr;
|
||||||
|
DOCINFOW di;
|
||||||
|
int dpiY, dpiX, width, height;
|
||||||
|
|
||||||
|
fr.hdc = pd->hDC;
|
||||||
|
fr.hdcTarget = pd->hDC;
|
||||||
|
|
||||||
|
dpiY = GetDeviceCaps(fr.hdc, LOGPIXELSY);
|
||||||
|
dpiX = GetDeviceCaps(fr.hdc, LOGPIXELSX);
|
||||||
|
width = devunits_to_twips(GetDeviceCaps(fr.hdc, PHYSICALWIDTH), dpiX);
|
||||||
|
height = devunits_to_twips(GetDeviceCaps(fr.hdc, PHYSICALHEIGHT), dpiY);
|
||||||
|
|
||||||
|
fr.rc.left = devunits_to_twips(GetDeviceCaps(fr.hdc, PHYSICALOFFSETX), dpiX);
|
||||||
|
fr.rc.right = width - (fr.rc.left * 2);
|
||||||
|
fr.rc.top = devunits_to_twips(GetDeviceCaps(fr.hdc, PHYSICALOFFSETY), dpiY);
|
||||||
|
fr.rc.bottom = height - (fr.rc.top * 2);
|
||||||
|
fr.rcPage.left = 0;
|
||||||
|
fr.rcPage.right = width;
|
||||||
|
fr.rcPage.top = 0;
|
||||||
|
fr.rcPage.bottom = height;
|
||||||
|
|
||||||
|
ZeroMemory(&di, sizeof(di));
|
||||||
|
di.cbSize = sizeof(di);
|
||||||
|
di.lpszDocName = (LPWSTR)wszFileName;
|
||||||
|
|
||||||
|
if(pd->Flags & PD_PRINTTOFILE)
|
||||||
|
{
|
||||||
|
di.lpszOutput = dialog_print_to_file();
|
||||||
|
if(!di.lpszOutput)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(pd->Flags & PD_SELECTION)
|
||||||
|
{
|
||||||
|
SendMessageW(hEditorWnd, EM_EXGETSEL, 0, (LPARAM)&fr.chrg);
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
GETTEXTLENGTHEX gt;
|
||||||
|
gt.flags = GTL_DEFAULT;
|
||||||
|
gt.codepage = 1200;
|
||||||
|
fr.chrg.cpMin = 0;
|
||||||
|
fr.chrg.cpMax = SendMessageW(hEditorWnd, EM_GETTEXTLENGTHEX, (WPARAM)>, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
StartDocW(fr.hdc, &di);
|
||||||
|
do
|
||||||
|
{
|
||||||
|
if(StartPage(fr.hdc) <= 0)
|
||||||
|
break;
|
||||||
|
|
||||||
|
fr.chrg.cpMin = SendMessageW(hEditorWnd, EM_FORMATRANGE, TRUE, (LPARAM)&fr);
|
||||||
|
|
||||||
|
if(EndPage(fr.hdc) <= 0)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
while(fr.chrg.cpMin < fr.chrg.cpMax);
|
||||||
|
|
||||||
|
EndDoc(fr.hdc);
|
||||||
|
SendMessageW(hEditorWnd, EM_FORMATRANGE, FALSE, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void dialog_print(void)
|
||||||
|
{
|
||||||
|
PRINTDLGW pd;
|
||||||
|
int from = 0;
|
||||||
|
int to = 0;
|
||||||
|
|
||||||
|
ZeroMemory(&pd, sizeof(pd));
|
||||||
|
pd.lStructSize = sizeof(pd);
|
||||||
|
pd.hwndOwner = hMainWnd;
|
||||||
|
pd.Flags = PD_RETURNDC | PD_USEDEVMODECOPIESANDCOLLATE;
|
||||||
|
pd.nMinPage = 1;
|
||||||
|
pd.nMaxPage = 1;
|
||||||
|
|
||||||
|
SendMessageW(hEditorWnd, EM_GETSEL, (WPARAM)&from, (LPARAM)&to);
|
||||||
|
if(from == to)
|
||||||
|
pd.Flags |= PD_NOSELECTION;
|
||||||
|
|
||||||
|
if(PrintDlgW(&pd))
|
||||||
|
print(&pd);
|
||||||
|
}
|
||||||
|
|
||||||
static void HandleCommandLine(LPWSTR cmdline)
|
static void HandleCommandLine(LPWSTR cmdline)
|
||||||
{
|
{
|
||||||
WCHAR delimiter;
|
WCHAR delimiter;
|
||||||
|
@ -1698,6 +1823,9 @@ static LRESULT OnCommand( HWND hWnd, WPARAM wParam, LPARAM lParam)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_PRINT:
|
case ID_PRINT:
|
||||||
|
dialog_print();
|
||||||
|
break;
|
||||||
|
|
||||||
case ID_PREVIEW:
|
case ID_PREVIEW:
|
||||||
{
|
{
|
||||||
static const WCHAR wszNotImplemented[] = {'N','o','t',' ',
|
static const WCHAR wszNotImplemented[] = {'N','o','t',' ',
|
||||||
|
|
Loading…
Reference in New Issue