Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
61876c72
Commit
61876c72
authored
Aug 23, 2007
by
Alexander Nicolaysen Sørnes
Committed by
Alexandre Julliard
Sep 12, 2007
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wordpad: Add initial printing support.
parent
695a94f1
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
214 additions
and
13 deletions
+214
-13
De.rc
programs/wordpad/De.rc
+8
-1
En.rc
programs/wordpad/En.rc
+8
-1
Fr.rc
programs/wordpad/Fr.rc
+8
-1
Hu.rc
programs/wordpad/Hu.rc
+8
-1
Ko.rc
programs/wordpad/Ko.rc
+11
-4
Nl.rc
programs/wordpad/Nl.rc
+8
-1
No.rc
programs/wordpad/No.rc
+7
-0
Pl.rc
programs/wordpad/Pl.rc
+8
-1
Ru.rc
programs/wordpad/Ru.rc
+8
-1
Tr.rc
programs/wordpad/Tr.rc
+8
-1
resource.h
programs/wordpad/resource.h
+3
-1
rsrc.rc
programs/wordpad/rsrc.rc
+1
-0
wordpad.c
programs/wordpad/wordpad.c
+128
-0
No files found.
programs/wordpad/De.rc
View file @
61876c72
...
@@ -27,6 +27,8 @@ BEGIN
...
@@ -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
...
@@ -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
...
...
programs/wordpad/En.rc
View file @
61876c72
...
@@ -27,6 +27,8 @@ BEGIN
...
@@ -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
...
@@ -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
...
...
programs/wordpad/Fr.rc
View file @
61876c72
...
@@ -27,6 +27,8 @@ BEGIN
...
@@ -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
...
@@ -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
...
...
programs/wordpad/Hu.rc
View file @
61876c72
...
@@ -27,6 +27,8 @@ BEGIN
...
@@ -27,6 +27,8 @@ BEGIN
MENUITEM "M&ents\tCtrl+S", ID_FILE_SAVE
MENUITEM "M&ents\tCtrl+S", ID_FILE_SAVE
MENUITEM "Ments m&sknt...", ID_FILE_SAVEAS
MENUITEM "Ments m&sknt...", ID_FILE_SAVEAS
MENUITEM SEPARATOR
MENUITEM SEPARATOR
MENUITEM "&Print . . .\tCtrl+P", ID_PRINT
MENUITEM SEPARATOR
MENUITEM "&Kilps", ID_FILE_EXIT
MENUITEM "&Kilps", ID_FILE_EXIT
END
END
POPUP "Sz&erkeszts"
POPUP "Sz&erkeszts"
...
@@ -156,7 +158,12 @@ END
...
@@ -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
...
...
programs/wordpad/Ko.rc
View file @
61876c72
...
@@ -28,6 +28,8 @@ BEGIN
...
@@ -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
...
@@ -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
...
...
programs/wordpad/Nl.rc
View file @
61876c72
...
@@ -27,6 +27,8 @@ BEGIN
...
@@ -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
...
@@ -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
...
...
programs/wordpad/No.rc
View file @
61876c72
...
@@ -27,6 +27,8 @@ BEGIN
...
@@ -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"
...
@@ -156,6 +158,11 @@ END
...
@@ -156,6 +158,11 @@ END
STRINGTABLE DISCARDABLE
STRINGTABLE DISCARDABLE
BEGIN
BEGIN
STRING_PRINTER_FILES_PRN, "Skriverfiler (*.PRN)"
END
STRINGTABLE DISCARDABLE
BEGIN
STRING_UNITS_CM, "cm"
STRING_UNITS_CM, "cm"
END
END
...
...
programs/wordpad/Pl.rc
View file @
61876c72
...
@@ -28,6 +28,8 @@ BEGIN
...
@@ -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&kocz", ID_FILE_EXIT
MENUITEM "Za&kocz", ID_FILE_EXIT
END
END
POPUP "&Edycja"
POPUP "&Edycja"
...
@@ -157,7 +159,12 @@ END
...
@@ -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
...
...
programs/wordpad/Ru.rc
View file @
61876c72
...
@@ -27,6 +27,8 @@ BEGIN
...
@@ -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
...
@@ -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
...
...
programs/wordpad/Tr.rc
View file @
61876c72
...
@@ -29,6 +29,8 @@ BEGIN
...
@@ -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 "&Dzen"
POPUP "&Dzen"
...
@@ -158,7 +160,12 @@ END
...
@@ -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
...
...
programs/wordpad/resource.h
View file @
61876c72
...
@@ -120,7 +120,9 @@
...
@@ -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
...
...
programs/wordpad/rsrc.rc
View file @
61876c72
...
@@ -41,6 +41,7 @@ BEGIN
...
@@ -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 */
...
...
programs/wordpad/wordpad.c
View file @
61876c72
...
@@ -68,6 +68,7 @@ static UINT ID_FINDMSGSTRING;
...
@@ -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)
...
@@ -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)
...
@@ -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)
...
@@ -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
)
&
gt
,
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)
...
@@ -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'
,
' '
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment