vbAccelerator - Contents of code file: frmCMYAndCMYK.frmVERSION 5.00
Begin VB.Form frmCMYandCMYK
Caption = "vbAccelerator CMY and CMYK Colour Model Demonstration"
ClientHeight = 4845
ClientLeft = 3180
ClientTop = 2430
ClientWidth = 6105
BeginProperty Font
Name = "Tahoma"
Size = 8.25
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Icon = "frmCMYAndCMYK.frx":0000
LinkTopic = "Form1"
ScaleHeight = 4845
ScaleWidth = 6105
Begin VB.OptionButton optType
Caption = "CMYK"
Height = 315
Index = 1
Left = 1440
Style = 1 'Graphical
TabIndex = 16
Top = 120
Width = 1335
End
Begin VB.OptionButton optType
Caption = "CMY"
Height = 315
Index = 0
Left = 60
Style = 1 'Graphical
TabIndex = 15
Top = 120
Value = -1 'True
Width = 1335
End
Begin VB.PictureBox picCMY
AutoRedraw = -1 'True
Height = 4215
Left = 60
ScaleHeight = 277
ScaleMode = 3 'Pixel
ScaleWidth = 393
TabIndex = 0
Top = 480
Width = 5955
Begin VB.HScrollBar hscBlack
Height = 255
LargeChange = 32
Left = 900
Max = 255
SmallChange = 8
TabIndex = 13
Top = 3840
Value = 255
Visible = 0 'False
Width = 1515
End
Begin VB.HScrollBar hscBlue
Height = 255
LargeChange = 32
Left = 3960
Max = 255
SmallChange = 8
TabIndex = 12
Top = 3540
Value = 255
Width = 1515
End
Begin VB.HScrollBar hscGreen
Height = 255
LargeChange = 32
Left = 3960
Max = 255
SmallChange = 8
TabIndex = 11
Top = 3240
Value = 255
Width = 1515
End
Begin VB.HScrollBar hscRed
Height = 255
LargeChange = 32
Left = 3960
Max = 255
SmallChange = 8
TabIndex = 10
Top = 2940
Value = 255
Width = 1515
End
Begin VB.HScrollBar hscYellow
Height = 255
LargeChange = 32
Left = 900
Max = 255
SmallChange = 8
TabIndex = 6
Top = 3540
Value = 255
Width = 1515
End
Begin VB.HScrollBar hscMagenta
Height = 255
LargeChange = 32
Left = 900
Max = 255
SmallChange = 8
TabIndex = 5
Top = 3240
Value = 255
Width = 1515
End
Begin VB.HScrollBar hscCyan
Height = 255
LargeChange = 32
Left = 900
Max = 255
SmallChange = 8
TabIndex = 4
Top = 2940
Value = 255
Width = 1515
End
Begin VB.Label lblBlack
Caption = "Blac&k:"
Height = 255
Left = 60
TabIndex = 14
Top = 3840
Visible = 0 'False
Width = 855
End
Begin VB.Label lblBlue
Caption = "&Blue"
Height = 255
Left = 3120
TabIndex = 9
Top = 3540
Width = 855
End
Begin VB.Label lblGreen
Caption = "&Green:"
Height = 255
Left = 3120
TabIndex = 8
Top = 3240
Width = 855
End
Begin VB.Label lblRed
Caption = "&Red:"
Height = 255
Left = 3120
TabIndex = 7
Top = 2940
Width = 855
End
Begin VB.Label lblYellow
Caption = "&Yellow:"
Height = 255
Left = 60
TabIndex = 3
Top = 3540
Width = 855
End
Begin VB.Label lblMagenta
Caption = "&Magenta:"
Height = 255
Left = 60
TabIndex = 2
Top = 3240
Width = 855
End
Begin VB.Label lblC
Caption = "&Cyan:"
Height = 255
Left = 60
TabIndex = 1
Top = 2940
Width = 855
End
End
End
Attribute VB_Name = "frmCMYandCMYK"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private m_cCMY As cCMY
Private m_cCMYK As cCMYK
Private Sub setCMYOrCMYKValues()
If (optType(0).value) Then
setCMYValues
Else
setCMYKValues
End If
End Sub
Private Sub setCMYValues()
hscCyan.Tag = "INTERLOCK"
hscMagenta.Tag = "INTERLOCK"
hscYellow.Tag = "INTERLOCK"
hscCyan.value = m_cCMY.C
hscMagenta.value = m_cCMY.M
hscYellow.value = m_cCMY.y
hscCyan.Tag = ""
hscMagenta.Tag = ""
hscYellow.Tag = ""
End Sub
Private Sub setCMYKValues()
hscCyan.Tag = "INTERLOCK"
hscMagenta.Tag = "INTERLOCK"
hscYellow.Tag = "INTERLOCK"
hscBlack.Tag = "INTERLOCK"
hscCyan.value = m_cCMYK.C
hscMagenta.value = m_cCMYK.M
hscYellow.value = m_cCMYK.y
hscBlack.value = m_cCMYK.K
hscCyan.Tag = ""
hscMagenta.Tag = ""
hscYellow.Tag = ""
hscBlack.Tag = ""
End Sub
Private Sub setRGBValues()
If (optType(0).value) Then
setCMYRGBValues
Else
setCMYKRGBValues
End If
End Sub
Private Sub setCMYRGBValues()
hscRed.Tag = "INTERLOCK"
hscGreen.Tag = "INTERLOCK"
hscBlue.Tag = "INTERLOCK"
hscRed.value = m_cCMY.R
hscGreen.value = m_cCMY.G
hscBlue.value = m_cCMY.B
hscRed.Tag = ""
hscGreen.Tag = ""
hscBlue.Tag = ""
End Sub
Private Sub setCMYKRGBValues()
hscRed.Tag = "INTERLOCK"
hscGreen.Tag = "INTERLOCK"
hscBlue.Tag = "INTERLOCK"
hscRed.value = m_cCMYK.R
hscGreen.value = m_cCMYK.G
hscBlue.value = m_cCMYK.B
hscRed.Tag = ""
hscGreen.Tag = ""
hscBlue.Tag = ""
End Sub
Private Sub render()
If (optType(0).value) Then
renderCMY
Else
renderCMYK
End If
End Sub
Private Sub renderCMY()
picCMY.Cls
Dim x As Long
Dim y As Long
Dim cCMYCalc As New cCMY
x = (picCMY.ScaleWidth - 112) \ 2
y = 16
' Draw magenta box:
cCMYCalc.FromCMY 0, m_cCMY.M, 0
picCMY.Line (x, y + 112)-(x + 64, y + 48), cCMYCalc.RGB, BF
' Draw yellow box:
cCMYCalc.FromCMY 0, 0, m_cCMY.y
picCMY.Line (x + 48, y + 112)-(x + 112, y + 48), cCMYCalc.RGB, BF
' Draw cyan box:
cCMYCalc.FromCMY m_cCMY.C, 0, 0
picCMY.Line (x + 24, y)-(x + 88, y + 64), cCMYCalc.RGB, BF
' Draw C-M box:
cCMYCalc.FromCMY m_cCMY.C, m_cCMY.M, 0
picCMY.Line (x + 24, y + 48)-(x + 48, y + 64), cCMYCalc.RGB, BF
' Draw M-Y box
cCMYCalc.FromCMY 0, m_cCMY.M, m_cCMY.y
picCMY.Line (x + 48, y + 48)-(x + 64, y + 112), cCMYCalc.RGB, BF
' Draw C-Y box:
cCMYCalc.FromCMY m_cCMY.C, 0, m_cCMY.y
picCMY.Line (x + 64, y + 48)-(x + 88, y + 64), cCMYCalc.RGB, BF
' Draw CMY box:
picCMY.Line (x + 48, y + 48)-(x + 64, y + 64), m_cCMY.RGB, BF
picCMY.Refresh
End Sub
Private Sub renderCMYK()
' This rendering does not display C-K or M-Y.
picCMY.Cls
Dim cCMYKCalc As New cCMYK
Dim x As Long
Dim y As Long
x = (picCMY.ScaleWidth - 112) \ 2
y = 16
' Draw C box:
cCMYKCalc.FromCMYK m_cCMYK.C, 0, 0, 0
picCMY.Line (x, y)-(x + 48, y + 48), cCMYKCalc.RGB, BF
' Draw M box:
cCMYKCalc.FromCMYK 0, m_cCMYK.M, 0, 0
picCMY.Line (x + 64, y)-(x + 112, y + 48), cCMYKCalc.RGB, BF
' Draw Y box:
cCMYKCalc.FromCMYK 0, 0, m_cCMYK.y, 0
picCMY.Line (x, y + 64)-(x + 48, y + 112), cCMYKCalc.RGB, BF
' Draw K box:
cCMYKCalc.FromCMYK 0, 0, 0, m_cCMYK.K
picCMY.Line (x + 64, y + 64)-(x + 112, y + 112), cCMYKCalc.RGB, BF
' Draw CY:
cCMYKCalc.FromCMYK m_cCMYK.C, 0, m_cCMYK.y, 0
picCMY.Line (x, y + 48)-(x + 48, y + 64), cCMYKCalc.RGB, BF
' Draw CM:
cCMYKCalc.FromCMYK m_cCMYK.C, m_cCMYK.M, 0, 0
picCMY.Line (x + 48, y)-(x + 64, y + 48), cCMYKCalc.RGB, BF
' Draw MK:
cCMYKCalc.FromCMYK 0, m_cCMYK.M, 0, m_cCMYK.K
picCMY.Line (x + 64, y + 48)-(x + 112, y + 64), cCMYKCalc.RGB, BF
' Draw YK:
cCMYKCalc.FromCMYK 0, 0, m_cCMYK.y, m_cCMYK.K
picCMY.Line (x + 48, y + 64)-(x + 64, y + 112), cCMYKCalc.RGB, BF
' Draw CMYK:
picCMY.Line (x + 48, y + 48)-(x + 64, y + 64), m_cCMYK.RGB, BF
picCMY.Refresh
End Sub
Private Sub Form_Load()
Set m_cCMY = New cCMY
m_cCMY.RGB = &H0
setCMYValues
setCMYRGBValues
renderCMY
Set m_cCMYK = New cCMYK
m_cCMYK.RGB = &H0
End Sub
Private Sub hscBlack_Change()
If Len(hscBlack.Tag) = 0 Then
m_cCMYK.K = hscBlack.value
setCMYKRGBValues
render
End If
End Sub
Private Sub hscBlack_Scroll()
hscBlack_Change
End Sub
Private Sub hscBlue_Change()
If Len(hscBlue.Tag) = 0 Then
m_cCMY.B = hscBlue.value
m_cCMYK.B = hscBlue.value
setCMYOrCMYKValues
render
End If
End Sub
Private Sub hscBlue_Scroll()
hscBlue_Change
End Sub
Private Sub hscCyan_Change()
If Len(hscCyan.Tag) = 0 Then
m_cCMY.C = hscCyan.value
m_cCMYK.C = hscCyan.value
setCMYRGBValues
render
End If
End Sub
Private Sub hscCyan_Scroll()
hscCyan_Change
End Sub
Private Sub hscGreen_Change()
If Len(hscGreen.Tag) = 0 Then
m_cCMY.G = hscGreen.value
m_cCMYK.G = hscGreen.value
setCMYOrCMYKValues
render
End If
End Sub
Private Sub hscGreen_Scroll()
hscGreen_Change
End Sub
Private Sub hscMagenta_Change()
If Len(hscMagenta.Tag) = 0 Then
m_cCMY.M = hscMagenta.value
m_cCMYK.M = hscMagenta.value
setRGBValues
render
End If
End Sub
Private Sub hscMagenta_Scroll()
hscMagenta_Change
End Sub
Private Sub hscRed_Change()
If Len(hscRed.Tag) = 0 Then
m_cCMY.R = hscRed.value
m_cCMYK.R = hscRed.value
setCMYOrCMYKValues
render
End If
End Sub
Private Sub hscRed_Scroll()
hscRed_Change
End Sub
Private Sub hscYellow_Change()
If Len(hscYellow.Tag) = 0 Then
m_cCMY.y = hscYellow.value
m_cCMYK.y = hscYellow.value
setRGBValues
render
End If
End Sub
Private Sub hscYellow_Scroll()
hscYellow_Change
End Sub
Private Sub optType_Click(Index As Integer)
If (optType(0).value) Then
lblBlack.Visible = False
hscBlack.Visible = False
setRGBValues
setCMYValues
render
Else
lblBlack.Visible = True
hscBlack.Visible = True
setCMYKRGBValues
setCMYKValues
render
End If
End Sub
|
|