add preview of eml & msg files

This commit is contained in:
Jonathan Jenne 2019-10-21 16:47:41 +02:00
parent 6b31549a30
commit d254fd47f5
5 changed files with 157 additions and 105 deletions

View File

@ -25,7 +25,6 @@ Partial Class DocumentViewer
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(DocumentViewer))
Me.GdViewer = New GdPicture14.GdViewer()
Me.mainToolStrip = New System.Windows.Forms.ToolStrip()
Me.btnOpen = New System.Windows.Forms.ToolStripButton()
Me.btnPrint = New System.Windows.Forms.ToolStripButton()
Me.ToolStripSeparator3 = New System.Windows.Forms.ToolStripSeparator()
Me.btnFitWidth = New System.Windows.Forms.ToolStripButton()
@ -59,6 +58,7 @@ Partial Class DocumentViewer
Me.ToolStripStatusLabel1 = New System.Windows.Forms.ToolStripStatusLabel()
Me.statusLabel = New System.Windows.Forms.ToolStripStatusLabel()
Me.OpenFileDialog = New System.Windows.Forms.OpenFileDialog()
Me.RichEditControl1 = New DevExpress.XtraRichEdit.RichEditControl()
Me.mainToolStrip.SuspendLayout()
Me.statusbar.SuspendLayout()
Me.SuspendLayout()
@ -139,25 +139,13 @@ Partial Class DocumentViewer
Me.mainToolStrip.Font = New System.Drawing.Font("Tahoma", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.mainToolStrip.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden
Me.mainToolStrip.ImageScalingSize = New System.Drawing.Size(24, 24)
Me.mainToolStrip.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.btnOpen, Me.btnPrint, Me.ToolStripSeparator3, Me.btnFitWidth, Me.btnFitPage, Me.ToolStripSeparator2, Me.btnMouseMode, Me.ToolStripSeparator6, Me.btnFirstPage, Me.btnPreviousPage, Me.tbCurrentPage, Me.lblPageCount, Me.btnNextPage, Me.btnLastPage, Me.ToolStripSeparator1, Me.btnZoomOut, Me.cbZoom, Me.btnZoomIn, Me.ToolStripSeparator5, Me.btnRotateLeft, Me.btnRotateRight, Me.btnFlipX, Me.btnFlipY, Me.ToolStripSeparator4, Me.btnSettings})
Me.mainToolStrip.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.btnPrint, Me.ToolStripSeparator3, Me.btnFitWidth, Me.btnFitPage, Me.ToolStripSeparator2, Me.btnMouseMode, Me.ToolStripSeparator6, Me.btnFirstPage, Me.btnPreviousPage, Me.tbCurrentPage, Me.lblPageCount, Me.btnNextPage, Me.btnLastPage, Me.ToolStripSeparator1, Me.btnZoomOut, Me.cbZoom, Me.btnZoomIn, Me.ToolStripSeparator5, Me.btnRotateLeft, Me.btnRotateRight, Me.btnFlipX, Me.btnFlipY, Me.ToolStripSeparator4, Me.btnSettings})
Me.mainToolStrip.Location = New System.Drawing.Point(0, 0)
Me.mainToolStrip.Name = "mainToolStrip"
Me.mainToolStrip.Size = New System.Drawing.Size(1015, 31)
Me.mainToolStrip.TabIndex = 6
Me.mainToolStrip.Text = "ToolStrip1"
'
'btnOpen
'
Me.btnOpen.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.btnOpen.Font = New System.Drawing.Font("Tahoma", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.btnOpen.Image = CType(resources.GetObject("btnOpen.Image"), System.Drawing.Image)
Me.btnOpen.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None
Me.btnOpen.ImageTransparentColor = System.Drawing.Color.Magenta
Me.btnOpen.Margin = New System.Windows.Forms.Padding(10, 1, 0, 2)
Me.btnOpen.Name = "btnOpen"
Me.btnOpen.Size = New System.Drawing.Size(28, 28)
Me.btnOpen.Text = "Open document"
'
'btnPrint
'
Me.btnPrint.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
@ -425,10 +413,22 @@ Partial Class DocumentViewer
'
Me.OpenFileDialog.FileName = "OpenFileDialog1"
'
'RichEditControl1
'
Me.RichEditControl1.Location = New System.Drawing.Point(735, 313)
Me.RichEditControl1.Name = "RichEditControl1"
Me.RichEditControl1.Options.HorizontalRuler.Visibility = DevExpress.XtraRichEdit.RichEditRulerVisibility.Hidden
Me.RichEditControl1.Options.VerticalRuler.Visibility = DevExpress.XtraRichEdit.RichEditRulerVisibility.Hidden
Me.RichEditControl1.ReadOnly = True
Me.RichEditControl1.Size = New System.Drawing.Size(249, 225)
Me.RichEditControl1.TabIndex = 8
Me.RichEditControl1.Text = "RichEditControl1"
'
'DocumentViewer
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.Controls.Add(Me.RichEditControl1)
Me.Controls.Add(Me.GdViewer)
Me.Controls.Add(Me.statusbar)
Me.Controls.Add(Me.mainToolStrip)
@ -445,7 +445,6 @@ Partial Class DocumentViewer
Friend WithEvents GdViewer As GdPicture14.GdViewer
Friend WithEvents mainToolStrip As ToolStrip
Friend WithEvents btnOpen As ToolStripButton
Friend WithEvents btnPrint As ToolStripButton
Friend WithEvents ToolStripSeparator3 As ToolStripSeparator
Friend WithEvents btnFitWidth As ToolStripButton
@ -479,4 +478,5 @@ Partial Class DocumentViewer
Friend WithEvents ToolStripStatusLabel1 As ToolStripStatusLabel
Friend WithEvents statusLabel As ToolStripStatusLabel
Friend WithEvents OpenFileDialog As OpenFileDialog
Friend WithEvents RichEditControl1 As DevExpress.XtraRichEdit.RichEditControl
End Class

View File

@ -121,34 +121,16 @@
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="btnOpen.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAALYSURBVEhLzVTdSxRRFN/Syh6EqP6C/oDoIQhfMqKPdWd1
JVqqhwhrZ6p9KDX3o7RuMTNbwhr0UvgQPoQP7s6saXqHIvIl6K1gW8iHyr4WdzYQCjTdr+me68w0Xlwx
NOjAj3vOuXN/v3POnRnXf20IoY1NqnjQq4idnCJfaVLlw/5EosbcXpt5U7EGTpUnCYwlSMrvPYq433zM
5YpGo4ORSKRiwiCxYcXgmxg0H6cG5EdUNOcbvmM0p2I2+ckndxf9R2ieS4oH6MNOwmoCZp6KwFgIySSQ
A9nLb+8MX+q2LWIjKU41TqBaKrBKgGAcZg4ELYQUyMFe5z4YrabgQqloi3hUiVvSQRXf6gAQh8u0CFgR
yFUqlT8CityzGgHbBwGPIoUsAoBTpFQu09Vr70vX/2ZEAMwp0lE47B+J2yKAueICJQezLt6ryK1MB6H7
vaFQfV9fx9ahZTCAUJ3Q378JLtAini3MG4VyyUaRAC69KSll3fjeFqfAT/KG1GYSwT1p3FLOa4KRHuAr
AMuHNYcDvZwiHuJUVLBEWOxVUQkuWB/nbzpGFHkGr+GnUf4SEFXDW81X1jXhGIwKqmTJ3UmU8ypScx6f
93zVAj/sDq5Fw7dAIDsuDDmrZjuANYP5EqlObE3FdhDS4+TiZQD5ZZyAXB4LKDvaUpgeCzy1O0DdXe5E
wl+j47bPVrVrhY6FKBUIBoMLcdS5M61c3MVW7fSdOTZezp8e4/eZHUQyhuHa8HH4wumVDjhzbMz6Odw2
MzVxps4UCD+k8x/jH8Dm+oDMHwwEbnSHefB1fC5drSI2x8asn9MCPZZARUZdu98MXN6W0YRStQNsjo1Z
P4/5RirQ3t4+Qz6wzZOq4KYb64JTs98fn62nAuQbeA7rlxFBgs1qFbE5Nmb8V5QcrPtqRII1Ox54scIB
6jtzbOz0dcz3UXIwhDq2w6rjRYE1Y1j4ldOEBkr+783l+g2Z7twS24tpVgAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnPrint.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFfSURBVEhLvVUxTsQwEAwgGv4Ev0ifKg+IFCUN8i9OIBSo
+ECuoEA8hDJKkf4ESnHBZsfn5RwHK747wkgjz652d7x3iRL5UBSFJCqcZVmOTiZipmkLgxDinAaoUBxs
kKbp5bIGQlwtvMG93kBKqQfYJ5Nj4CCDm3KtTqEZswe5vyVJ8oWnYhgGdV3UxAeJYpy2tnNuDA12Xaef
Lpq5zfP8GQY/j95fGpiZgzZgwoALjyX/J8ylN5Ajg77vlVi9UEOti3dme23n3BgavW3b+g3qulZN00jc
AqvitLWdc2No9FZVNTVYkqMN5rSdc2Of/p8NtDCA9t3IzrmxT2OgTtjkolC4Q1njbcaHZU2JiQkYit96
iQPxzvwwU6CI8fT6rh4dIsfAbfGRMq1hsA3mcLLB3AaojeP4wrSGwd3AfXM5Bo7dYGP6Z5Fl2Se1nO06
A0G3Io9yg01m+EG8NW0OougbGXHgW8q3sOgAAAAASUVORK5CYII=
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFgSURBVEhLvVVBTsMwEAwgLvwJfpFzbnlApCi5IL+iEqAI
TnwglbggHsItyiEPqEA5NNjsuF7qOFhxW8JII8+udne8baJEPhRFIYkKZ1mWo5OJmGnawiCEOKcBKhQH
G6RpermsgRBXC29wrzeQUuoB9snkGDjI4KZcq1NoxuxB7m9JknzhqRiGQV0XNfFBohinre2cG0ODXdfp
p4tmbvM8f4bBz6P3lwZm5qANmDDgwmPJ/wlz6Q3kyKDveyVWL9RQ6+Kd2V7bOTeGRm/btn6Duq5V0zQS
t8CqOG1t59wYGr1VVU0NluRogzlt59zYp/9nAy0MoH03snNu7NMYqBM2uSgU7lDWeJvxYVlTYmIChuK3
XuJAvDM/zBQoYjy9vqtHh8gxcFt8pExrGGyDOZxsMLcBauM4vjCtYXA3cN9cjoFjN9iY/llkWfZJLWe7
zkDQrcij3GCTGX4Qb02bgyj6BjVC3/dGvIT4AAAAAElFTkSuQmCC
</value>
</data>
<data name="btnFitWidth.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@ -172,87 +154,87 @@
<data name="btnMouseMode.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHASURBVEhLnZPPKwRhHMa3/Dq5+AcclYuDC5oZcfIHcFO4
uEgidkYODsRFSa6KI0th3k1+HLhQpOXgrHDkRhTxep/x3Zq8z5pZn/r0Nu/3fZ7Znd3JlKKnJ1fh+Ple
N1Chl1X3DQOrH16g9FzuSmONrs0+5jiH8xJNpmV0v87JqjMU/Xbr9NbagziPnFT8jflUe6yke/5Iz24U
opXNkZOK0niTymVh+Pz2rgFWNo80eanieH64TIPGOGweafJSxXEm1AUNGuOwOUReqjjOmHpiQRiHzSHy
UsXxBtQnC8I4bB5p8lJl0z59XElDxs6pvL6+fdIv5gfGimt2DkqdTfPgZRULxM2untP9ou1GqbMp3uCg
8PAv8xd30U2kzoZ9AzyKvsUT7a+d65n1gp7fvIpWXGOfPSqps0nziNIodTaN07lqFihXqbPpGt6rYYFy
lTqbn7/pyhcLpXflS+o4f73JaUx8k51AHbJgWpGXKo7rh0MsmFbkpYrTNrFT2xqoRxZOEjnkpao0rr/b
zwqSRE4qknF9tcRKSonzEk2PG4TjTSPbb6ywKOY4J5Hy6ZjK1ztBuGDKboyvMW+wj7kcJWQy34QJuKYJ
Zco/AAAAAElFTkSuQmCC
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHASURBVEhLnZM9LwRRGIU38VVp/AGdQqPQIDMjVH4AncRW
GhEh7IwoFIRGIqJUULIkmLsRHwUNCZGlUEtQ0hESwnXPeDeZuGfNrCd5cjP3vefM7uxOphx9ffkqxy/0
u4EKvZy6b8qufniB0nP5K401ujb7mOMczks0mbbR/QYnp85Q9Nut01trD+I8clLxN+ZT7bGS3vkjPbtR
jFY2R04qyuNNKpeF4fPbuwZY2TzS5KWK4/nhMg0a47B5pMlLFceZUBc0aIzD5hB5qeI4Y+qJBWEcNofI
SxXHy6pPFoRx2DzS5KXKpnP6uJqGjN1TBX19+6RfzA+MFdfsHJQ6m9bByxoWiJtbPaf7JTuNUmdTusFB
8eFfFi7uoptInQ37BngUA4sn2l871zPrRT2/eRWtuMY+e1RSZ5PmEaVR6myap/O1LFCpUmfTM7xXxwKV
KnU2P3/TlS8WSu/Kl9Rx/nqT05j4JjuBOmTBtCIvVRzXD4dYMK3ISxWnY2Knvj1QjyycJHLIS1V5XH83
ywqSRE4qknF9tcRKyonzEk2PG4TjLSPbb6ywJOY4J5HK6ZoqNDpBuGDKboyvMW+wj7kcJWQy302FuJ6d
LkBBAAAAAElFTkSuQmCC
</value>
</data>
<data name="btnFirstPage.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGjSURBVEhLxVRLS8NAEF7UnkVRPHr32oNCsgmIJ28iQVHE
W8++mt0iEgQt+hM8eRfFZreI4ME/IAqK+h8En1efmXaiyzapSWn0gyGTeXzfzpAsyQKjJX8A3fYCiCkT
29Q9eMYQIRaXn6oNzu++Yiox7CXRR7nYMrh4CnkwRQhlmx9gEIRnGgGzdNRvMlEOel90HixpTQCIKZMb
w0w8qr2qj6XpVmTyag8QWwv7D3qfbtiSbIKRxeNe6vrrBqvvWK2P87G1uUDtxFyuUebf63WJBSCgWihg
cbFqLVfu9HxSq5EDGk4xLt5hxw1x7V2NR/lIHyHQxFfff6tH+j8QgEAWhvT/MMEQl2/BnXKpx9Ma0kf/
B2PspNtgcsIoinOLl79Pr9aFzzgf6aMFMEUcZ68zuH4ngx/tQq9LLAAB1aKuCts77bJ51UmzOmxtPkED
PK8juPenjBUQ+lld2Kv62JFSAAETma6cNt3Kldqr+liabEVxyBfOcpYrZgzu3+g8WNLaBDpqH0NRzlJX
XIerw1R7kS/s5Gwu5szi4S2GsgGsru4R8gWEZC4psffHngAAAABJRU5ErkJggg==
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGjSURBVEhLxVRLS8NAEF7UnkVRPHr32oNCsgmIF48iRVHE
W8++kt0iEoQq+hM8eRfFZreI4ME/IAqK+h8En1efmXSiyzaNSWn1gyGTeXzfzpAsaQdGS/4Auq0FEFMm
tql78IwhQiwuP1UbnN99xVRq2Euij3KxZXDxFPFgihDKyh9gEIRnFgGzdNRvMrEZ9L7oPFjSnAAQUybL
w0w8qr2qj6XZVmTyag8QWwv7D3qfbtiSboKRxeNe6vrrBqvtWK1v5GNrskB4Yi7XKPPv9brUAhBQLRKw
uFi1lit3ej6theSAulOMi3fYcV1ce1fjcT7Sxwgk+Or7b/VI/wcCEGiHIf0/TDDE5Vtwp1zq8ayG9PH/
wRg76TaYnDAccW7xje/Tq3XRs5GP9PECmCKFwl5ncP1OBj/ahV6XWgACqsVdFbZ32mXzaiHL6rA1eYI6
eF5HcO9PGSsg9LO6qFf1sSOjAAImMl05bbqVK7VX9bE03YoaIV88y1mumDG4f6PzYElzE+gIPwZHzlJX
XEerw1RrkS/u5Gwu5kzn8BZD7QGsruYR8gURxC2fd7UpiQAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnPreviousPage.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHLSURBVEhLY6AZqK9ngrKoC4zTzrDalG0OsS3bdAIqRB1g
X7+fw7Z8U4pdxeYbQPwfhKFSlAH7/PUCduWbyy1KNz2zLW/9BzIYRIMwVAl5wKlqszTQxZ02RZveIBtK
sQU2FVvV7Mo2T7esWPsFFhS4MFQLMeA/o1XpBhOb8k0rtSo2/0F3KS42VDMeAExq9hVbXGzLN+yx9dr0
F9kAiiwIDV3FbFuxKdymdPMpO+/Nf0GayMFQ4xDAtXgnNzD9ptuVbryJzUXIfGRxXGyosQwMFoU7hIAp
ohSIn+LTgMzHpQaZDTbctnxjg23BmnfEaEDmE6MebIFdxZY064rN9+0q2sCS1MRgC0DAI3cbu33Fplib
X7+fw7Z8U4pdxeYbQPwfhKFSlAH7/PUCduWbyy1KNz2zLW/5BzIYRIMwVAl5wKlqszTQxZ02RZveIBtK
sQU2FVvV7Mo2T7esWPsFFhS4MFQLMeA/o1XpBhOb8k0rtSo2/0F3KS42VDMeAExq9hVbXGzLN+yx9dz0
F9kAiiwIDV3FbFuxKdymdPMpO6/Nf0GayMFQ4xDAtXgnNzD9ptuVbryJzUXIfGRxXGyosQwMFoU7hIAp
ohSIn+LTgMzHpQaZDTbctnxjg23BmnfEaEDmE6MebIFdxZY064rN9+0qWsGS1MRgC0DAI3cbu33Fplib
sg2X8bkImY9LDTIbajwCAMsTFpvKTQHAjHQEpJBSDDUWO7Ar3eBoXb5xh3z8/N8wFyG7EEbjY0ONwg/s
yjcY2pRtXGGbteknsgFUswAGgEWFum355qn6+eu/gwwhBkO1kgZsq7ZLgkpRu4qNb7G5GpkN1UIesKnY
ImhbtrESVA/QxAIYABUvoLxkV7LhLshwZAxVQh0ASuK2pZujgbXbWar6AAMAi3ig672sSzcdhIrQCvxn
ZGBgYAAAx7aKXPsltNoAAAAASUVORK5CYII=
ZGBgYAAA4ZqJ8RwZ1lsAAAAASUVORK5CYII=
</value>
</data>
<data name="btnNextPage.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHCSURBVEhLYwCD+nomCINGwLZs0wmbss0hxmlnWKFC1AV2
FZv/Q/EN2/JNKfb1+zmgUtQBtuWt/0AYZAmItijd9MyufHO5ff56AagSygC6BTC2TdGmN0AfdTpVbZaG
KiUPQIMHJ7asWPvFrmzzdJuKrWpQLaQBXD5AZ2tVbP5jU75ppVXpBhMGhv+MUO2EAT5DkdlwMa9Nf23L
N+yxr9jiQlQSB2kkC3tv/mtTuvmUbcWm8NDQVcxQ4zABuktxsZHF0Pl2pRtvAvNTumvxTm6osQiAVQOp
FsDZm54CcalF4Q4hqPHUtgDKLljzzrZ8YwPYApAAdXHbP+uKzfftKrakgS3A6Qo0NrIYOh/GtinbcNm+
FZv/Q/EN2/JNKfb1+zmgUtQBtuUt/0AYZAmItijd9MyufHO5ff56AagSygC6BTC2TdGmN0AfdTpVbZaG
KiUPQIMHJ7asWPvFrmzzdJuKrWpQLaQBXD5AZ2tVbP5jU75ppVXpBhMGhv+MUO2EAT5DkdlwMc9Nf23L
N+yxr9jiQlQSB2kkC3tt/mtTuvmUbcWm8NDQVcxQ4zABuktxsZHF0Pl2pRtvAvNTumvxTm6osQiAVQOp
FsDZm54CcalF4Q4hqPHUtgDKLljzzrZ8YwPYApAAdXHrP+uKzfftKrakgS3A6Qo0NrIYOh/GtinbcNm+
YlOsR+42drDhIACSpBiXbT5iU7kpAFiOsUCNRQB8LkJmI4uBsHz8/N/W5Rt32JVucIQahR3ANBBtQdam
nzZlG1fYlW8whBqBH4A0EoP189d/ty3fPBVYVKhDtRIH0F2Kyd74FlSq2lZtl4RqIQ1gN3Tzf1C9YFu2
sdKmYosgVCl5AGQYCi7ZcBeUhrFme3IA3NXlm8/alm6OxprUKAHWpZsOAl3uRcPWBQmVB0mAgQEApL+K
XHJ8GzIAAAAASUVORK5CYII=
sdKmYosgVCl5AGQYCi7ZcBeUhrFme3IA3NXlm8/alm6OxprUKAHWpZsOAl3uRcPWBQmVB0mAgQEAsj+J
8ff7OMIAAAAASUVORK5CYII=
</value>
</data>
<data name="btnLastPage.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFxSURBVEhLY4ABp8qN4lAmbYBt2dqPtuWbOmlmkV3F5v8g
bF2x6YNtxaYO+6JNIlApooF8/PzfMHNgGCoF9EF56z+QAIiGsj/ZlG9qs6ncJgpVQhCALEA3ByqF1QIw
bF2x6YNtxaYO+6JNIlApooF8/PzfMHNgGCoF9EF5yz+QAIiGsj/ZlG9qs6ncJgpVQhCALEA3ByqF1QIw
27x803vb8s0txFiE1wKQIF5csOYd2KKKLYJQLRiA1CDCYINo63JgHJVtbLQo3CEE1QoHZAURMhtZzLZ8
41vbis21yD6iLIhw4eINr+wqNlWDzKBKEMHE0PngOPLa9BddHGo8FSzAwYYaTwcLQIK0wFDjh4APgGXY
Ja2KzX/QxaHGk+uDtn/WpZvOWZdvDnQp381P7Yx2Hli8B4eGrmKGGkGdjAYKCvuKLaH29ftZoFrhgIKM
BgyKkk2XgPVEOEN9PRNUCwYgK4hsyjZctinbHIHNxeiApCCyrth4za5sU5Rx2hlWqBKCgIggavtnW7bp
qm3p5mjkyCMW4PWBTen66/YVm2KN02YS7WKSAClBQTxgYAAAJSouKVFt3MsAAAAASUVORK5CYII=
41vbis21yD6iLIhw4eINr+wqNlWDzKBKEMHE0PngOPLc9BddHGo8FSzAwYYaTwcLQIK0wFDjh4APgGXY
Ja2KzX/QxaHGk+uD1n/WpZvOWZdvDnQp381P7Yx2Hli8B4eGrmKGGkGdjAYKCvuKLaH29ftZoFrhgIKM
BgyKkk2XgPVEOEN9PRNUCwYgK4hsyjZctinbHIHNxeiApCCyrth4za5sU5Rx2hlWqBKCgIggav1nW7bp
qm3p5mjkyCMW4PWBTen66/YVm2KN02YS7WKSAClBQTxgYAAAtaMtnzSkDCwAAAAASUVORK5CYII=
</value>
</data>
<data name="btnZoomOut.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="btnZoomIn.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@ -325,19 +307,19 @@
<data name="btnSettings.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<metadata name="statusbar.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">

View File

@ -24,6 +24,9 @@ Public Class DocumentViewer
Private _logConfig As LogConfig
Private _logger As Logger
' List of all created temp files when converting msg files
Private _TempFiles As New List(Of String)
Private Sub DocumentViewer_Load(sender As Object, e As EventArgs) Handles Me.Load
Dim zoomModes As New Dictionary(Of ZoomMode, String) From {
{ZoomMode.Zoom50, "50%"},
@ -40,6 +43,8 @@ Public Class DocumentViewer
cbZoom.Items.Add(item.Value)
Next
_TempFiles.Clear()
UpdateMainUi()
End Sub
@ -59,23 +64,62 @@ Public Class DocumentViewer
CloseDocument()
_docPath = filepath
statusLabel.Text = _docPath
GdViewer.ZoomMode = ViewerZoomMode.ZoomModeWidthViewer
GdViewer.DocumentAlignment = ViewerDocumentAlignment.DocumentAlignmentTopCenter
GdViewer.DisplayFromFile(filepath)
GdViewer.Focus()
DoLoadFile(filepath)
statusLabel.Text = _docPath
UpdateMainUi()
End Sub
Public Sub DoLoadFile(FilePath As String)
Try
Dim oFileInfo = New IO.FileInfo(FilePath)
Dim oExtension As String = oFileInfo.Extension
Select Case oExtension
Case ".msg"
Dim oMsg As New Independentsoft.Msg.Message(FilePath)
' TODO: Improve Encoding, maybe convert based on encoding
oMsg.Encoding = System.Text.Encoding.UTF32
Dim oMime = oMsg.ConvertToMimeMessage()
Dim oTempFileName = IO.Path.GetTempFileName()
oMime.Save(oTempFileName, True)
RichEditControl1.LoadDocument(oTempFileName, DevExpress.XtraRichEdit.DocumentFormat.Mht)
_TempFiles.Add(oTempFileName)
RichEditControl1.Visible = True
RichEditControl1.Dock = DockStyle.Fill
Case ".eml"
RichEditControl1.LoadDocument(FilePath, DevExpress.XtraRichEdit.DocumentFormat.Mht)
RichEditControl1.Visible = True
RichEditControl1.Dock = DockStyle.Fill
Case Else
_docPath = FilePath
GdViewer.DisplayFromFile(_docPath)
GdViewer.Focus()
RichEditControl1.Visible = False
RichEditControl1.Dock = DockStyle.None
End Select
Catch ex As Exception
_logger.Error(ex)
End Try
End Sub
Private Sub CloseDocument()
GdViewer.CloseDocument()
UpdateMainUi()
End Sub
Private Sub btnOpen_Click(sender As Object, e As EventArgs) Handles btnOpen.Click
Private Sub btnOpen_Click(sender As Object, e As EventArgs)
CloseDocument()
GdViewer.ZoomMode = ViewerZoomMode.ZoomModeWidthViewer
@ -452,4 +496,13 @@ Public Class DocumentViewer
MagnifierToolStripMenuItem.Checked = True
GdViewer.Focus()
End Sub
Private Sub DocumentViewer_Disposed(sender As Object, e As EventArgs) Handles Me.Disposed
For Each oFile In _TempFiles
Try
IO.File.Delete(oFile)
Catch ex As Exception
End Try
Next
End Sub
End Class

View File

@ -48,9 +48,24 @@
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<ItemGroup>
<Reference Include="DevExpress.Data.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Images.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Office.v18.1.Core, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Pdf.v18.1.Core, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Printing.v18.1.Core, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.RichEdit.v18.1.Core, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Utils.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraGrid.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraPrinting.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraRichEdit.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="GdPicture.NET.14">
<HintPath>D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET (.NET Framework 4.5)\GdPicture.NET.14.dll</HintPath>
</Reference>
<Reference Include="Independentsoft.Msg">
<HintPath>P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DLL_Bibliotheken\Independentsoft.Msg.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.4.6.7\lib\net45\NLog.dll</HintPath>
@ -134,6 +149,7 @@
<EmbeddedResource Include="frmViewerSettings.resx">
<DependentUpon>frmViewerSettings.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="My Project\licenses.licx" />
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>

View File

@ -0,0 +1 @@
DevExpress.XtraRichEdit.RichEditControl, DevExpress.XtraRichEdit.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a