ชุมชนคนรักภาษาเบสิค - Visual Basic Community

 ลืมรหัสผ่าน
 ลงทะเบียน
ค้นหา
ดู: 369|ตอบกลับ: 0

[VB.NET] การสร้างลายน้ำแบบตัวอักษร (Watermark) ให้กับรายงาน ActiveReports

[คัดลอกลิงก์]

252

กระทู้

370

โพสต์

3088

เครดิต

ผู้ดูแลระบบ

Rank: 9Rank: 9Rank: 9

เครดิต
3088



ลายน้ำ (Watermark) คือ ภาพ หรือตัวอักษรที่สามารถสังเกตได้ในกระดาษ โดยให้ปรากฏเป็นสีจางกว่ารายละเอียดของเอกสาร ในงานการเขียนโปรแกรม มักจะใช้เพื่อบ่งบอกบางอย่าง เช่น เอกสารต้นฉบับ สำเนา หรือแม้แต่การล็อคตัวโปรแกรมให้เกิดคำว่า DEMO หรือทดลองใช้งาน เพื่อไม่ให้นำเอกสารไปใช้งานได้จริง ... โค้ดชุดนี้จะเป็นการสร้างลายน้ำแบบตัวอักษร ให้กับรายงานของ ActiveReports .Net โดยเป็นการใช้คำสั่งให้สร้างในแบบ Run Time หรือ Dynamic ซึ่งจะทำให้เราสามารถกำหนดตำแหน่งที่จะวางลายน้ำได้อย่างใจที่ต้องการ โดยจะเกิดอยู่ที่เหตุการณ์สุดท้ายของตัว ActiveReports นั่นคือ PageEnd ...

References ...


ดาวน์โหลด ActiveReports .Net (สำหรับสมาชิกเท่านั้น)

โค้ดชุดคำสั่งบนฟอร์มหลักในการแสดงผล ...
  1. Public Class frmWatermarkAR

  2.     Private Sub frmWatermarkAR_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
  3.         '// Instance name for Report.
  4.         Dim rpt As New NewActiveReport1
  5.         '// Zoom 90%
  6.         Me.Viewer1.ReportViewer.Zoom = 0.9
  7.         '/ Run Report
  8.         rpt.Run()
  9.         Me.Viewer1.Document = rpt.Document
  10.     End Sub

  11.     Private Sub frmWatermarkAR_FormClosed(sender As Object, e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
  12.         Me.Dispose()
  13.         GC.SuppressFinalize(Me)
  14.         Application.Exit()
  15.     End Sub
  16. End Class
คัดลอกไปที่คลิปบอร์ด

โค้ดในส่วนของรายงาน ...
  1. Public Class NewActiveReport1

  2.     Private Sub NewActiveReport1_PageEnd(sender As Object, e As System.EventArgs) Handles Me.PageEnd
  3.         '// Sample I.
  4.         Me.CurrentPage.Font = New System.Drawing.Font("Arial", 20.5F, FontStyle.Bold)
  5.         Me.CurrentPage.ForeColor = System.Drawing.Color.Red
  6.         Me.CurrentPage.DrawText("Watermark ActiveReports, DEMO Version.", CmToInch(3.5), 2.5, CmToInch(16), 0.5F)
  7.         '// Sample II.
  8.         Me.CurrentPage.Font = New System.Drawing.Font("Arial", 35.5F, FontStyle.Bold)
  9.         Me.CurrentPage.ForeColor = System.Drawing.Color.DarkGray
  10.         Me.CurrentPage.TextAngle = 450
  11.         Me.CurrentPage.DrawText("WWW.G2GNET.COM", CmToInch(5.5), 2.8, CmToInch(15), 4)
  12.     End Sub

  13.     Private Sub NewActiveReport1_ReportStart(sender As Object, e As System.EventArgs) Handles Me.ReportStart
  14.         '/ การตั้งค่าหน้ากระดาษแบบ Run Time.
  15.         With PageSettings
  16.             '/ หน่วยวัดเป็นนิ้ว
  17.             .Margins.Left = CmToInch(1) ' แปลงค่า 1.0 ซม. เป็นนิ้ว
  18.             .Margins.Right = 0.12
  19.             .Margins.Top = 1
  20.             .Margins.Bottom = 0.75
  21.             '/ ตั้งค่ากระดาษแนวตั้ง
  22.             .Orientation = PageOrientation.Portrait
  23.             '/ กระดาษขนาด A4
  24.             .PaperKind = Drawing.Printing.PaperKind.A4
  25.         End With
  26.     End Sub
  27. End Class
คัดลอกไปที่คลิปบอร์ด

ดาวน์โหลดโค้ดต้นฉบับ VB.NET (2010) ได้ที่นี่ ...  

ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง

คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? ลงทะเบียน

x
สิ่งที่ดีกว่าการให้ คือการให้แบบไม่มีที่สิ้นสุด

0

กระทู้

52

โพสต์

233

เครดิต

Full Member

Rank: 3Rank: 3

เครดิต
233
โพสต์ 2020-8-12 07:29:43 | ดูโพสต์ทั้งหมด

ขอบพระคุณอย่างสูงครับ อาจารย์
ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | ลงทะเบียน

รายละเอียดเครดิต

ข้อความล้วน|อุปกรณ์พกพา|ประวัติการแบน|G2GNet.com  

GMT+7, 2020-9-28 20:04 , Processed in 0.561879 second(s), 4 queries , File On.

Powered by Discuz! X3.3 R20170401, Rev.54

© 2001-2017 Comsenz Inc.

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้