home *** CD-ROM | disk | FTP | other *** search
/ Mastering Visual Basic 6 / mastvb6.iso / mastvb6.exe / Ch07 / PalColor / PalColor.frm (.txt) next >
Encoding:
Visual Basic Form  |  1996-06-06  |  6.1 KB  |  191 lines

  1. VERSION 5.00
  2. Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "COMDLG32.OCX"
  3. Begin VB.Form Form1 
  4.    Caption         =   "Palette Demo"
  5.    ClientHeight    =   5055
  6.    ClientLeft      =   60
  7.    ClientTop       =   345
  8.    ClientWidth     =   4680
  9.    LinkTopic       =   "Form1"
  10.    PaletteMode     =   2  'Custom
  11.    ScaleHeight     =   5055
  12.    ScaleWidth      =   4680
  13.    StartUpPosition =   3  'Windows Default
  14.    Begin VB.CommandButton Command1 
  15.       Caption         =   "Load New Palette"
  16.       BeginProperty Font 
  17.          Name            =   "MS Sans Serif"
  18.          Size            =   9.75
  19.          Charset         =   0
  20.          Weight          =   400
  21.          Underline       =   0   'False
  22.          Italic          =   0   'False
  23.          Strikethrough   =   0   'False
  24.       EndProperty
  25.       Height          =   555
  26.       Left            =   2340
  27.       TabIndex        =   1
  28.       Top             =   4290
  29.       Width           =   2235
  30.    End
  31.    Begin VB.PictureBox Picture1 
  32.       AutoRedraw      =   -1  'True
  33.       Height          =   3645
  34.       Left            =   150
  35.       ScaleHeight     =   239
  36.       ScaleMode       =   3  'Pixel
  37.       ScaleWidth      =   288
  38.       TabIndex        =   0
  39.       Top             =   150
  40.       Width           =   4380
  41.    End
  42.    Begin MSComDlg.CommonDialog CommonDialog1 
  43.       Left            =   -225
  44.       Top             =   2310
  45.       _ExtentX        =   847
  46.       _ExtentY        =   847
  47.       _Version        =   393216
  48.       FontSize        =   2.54052e-29
  49.    End
  50.    Begin VB.Label Label6 
  51.       Caption         =   "Blue"
  52.       BeginProperty Font 
  53.          Name            =   "MS Sans Serif"
  54.          Size            =   9.75
  55.          Charset         =   0
  56.          Weight          =   400
  57.          Underline       =   0   'False
  58.          Italic          =   0   'False
  59.          Strikethrough   =   0   'False
  60.       EndProperty
  61.       Height          =   225
  62.       Left            =   105
  63.       TabIndex        =   7
  64.       Top             =   4665
  65.       Width           =   675
  66.    End
  67.    Begin VB.Label Label5 
  68.       Caption         =   "Green"
  69.       BeginProperty Font 
  70.          Name            =   "MS Sans Serif"
  71.          Size            =   9.75
  72.          Charset         =   0
  73.          Weight          =   400
  74.          Underline       =   0   'False
  75.          Italic          =   0   'False
  76.          Strikethrough   =   0   'False
  77.       EndProperty
  78.       Height          =   225
  79.       Left            =   105
  80.       TabIndex        =   6
  81.       Top             =   4335
  82.       Width           =   705
  83.    End
  84.    Begin VB.Label Label1 
  85.       Caption         =   "Red"
  86.       BeginProperty Font 
  87.          Name            =   "MS Sans Serif"
  88.          Size            =   9.75
  89.          Charset         =   0
  90.          Weight          =   400
  91.          Underline       =   0   'False
  92.          Italic          =   0   'False
  93.          Strikethrough   =   0   'False
  94.       EndProperty
  95.       Height          =   240
  96.       Left            =   105
  97.       TabIndex        =   5
  98.       Top             =   3990
  99.       Width           =   525
  100.    End
  101.    Begin VB.Label Label4 
  102.       BeginProperty Font 
  103.          Name            =   "MS Sans Serif"
  104.          Size            =   9.75
  105.          Charset         =   0
  106.          Weight          =   400
  107.          Underline       =   0   'False
  108.          Italic          =   0   'False
  109.          Strikethrough   =   0   'False
  110.       EndProperty
  111.       Height          =   195
  112.       Left            =   1080
  113.       TabIndex        =   4
  114.       Top             =   4680
  115.       Width           =   750
  116.    End
  117.    Begin VB.Label Label3 
  118.       BeginProperty Font 
  119.          Name            =   "MS Sans Serif"
  120.          Size            =   9.75
  121.          Charset         =   0
  122.          Weight          =   400
  123.          Underline       =   0   'False
  124.          Italic          =   0   'False
  125.          Strikethrough   =   0   'False
  126.       EndProperty
  127.       Height          =   195
  128.       Left            =   1080
  129.       TabIndex        =   3
  130.       Top             =   4350
  131.       Width           =   750
  132.    End
  133.    Begin VB.Label Label2 
  134.       BeginProperty Font 
  135.          Name            =   "MS Sans Serif"
  136.          Size            =   9.75
  137.          Charset         =   0
  138.          Weight          =   400
  139.          Underline       =   0   'False
  140.          Italic          =   0   'False
  141.          Strikethrough   =   0   'False
  142.       EndProperty
  143.       Height          =   195
  144.       Left            =   1080
  145.       TabIndex        =   2
  146.       Top             =   4013
  147.       Width           =   750
  148.    End
  149. Attribute VB_Name = "Form1"
  150. Attribute VB_GlobalNameSpace = False
  151. Attribute VB_Creatable = False
  152. Attribute VB_PredeclaredId = True
  153. Attribute VB_Exposed = False
  154. Option Explicit
  155. Private Sub Command1_Click()
  156. Dim BWidth As Integer, BHeight As Integer, BSpace As Integer
  157. Dim ih As Integer, iv As Integer
  158. Dim bxStart As Integer, byStart As Integer, CIndex As Integer
  159. Dim clr As Long
  160. CommonDialog1.Filter = "DIB palettes|*.dib"
  161. CommonDialog1.InitDir = App.Path & "\DIB"
  162. CommonDialog1.ShowOpen
  163. Form1.Caption = CommonDialog1.FileTitle
  164. Form1.Palette = LoadPicture("")
  165. Form1.Palette = LoadPicture(CommonDialog1.FileName)
  166. Form1.PaletteMode = 2
  167. Form1.Refresh
  168. BSpace = 2
  169. BWidth = Int((Picture1.ScaleWidth - 32) / 16)
  170. BHeight = Int((Picture1.ScaleHeight - 32) / 16)
  171. For ih = 0 To 15
  172.     For iv = 0 To 15
  173.         CIndex = ih * 16 + iv
  174.         bxStart = ih * (BWidth + BSpace)
  175.         byStart = iv * (BHeight + BSpace)
  176.         clr = &H1000000 + CIndex
  177.         Picture1.Line (bxStart, byStart)-Step(BWidth, BHeight), clr, BF
  178.     Next
  179. End Sub
  180. Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  181. Dim pixel As Long
  182. Dim Red As Integer, Green As Integer, Blue As Integer
  183.     pixel = Picture1.Point(X, Y)
  184.     Red = pixel Mod 256
  185.     Green = ((pixel And &HFF00FF00) / 256&)
  186.     Blue = (pixel And &HFF0000) / 65536
  187.     Label2.Caption = Red
  188.     Label3.Caption = Green
  189.     Label4.Caption = Blue
  190. End Sub
  191.