販売管理ソフトを作る - 「見積一覧」 ヘッダ部 初期化

「見積一覧」 ヘッダ部 初期化

■ modList


00035 'ヘッダ部 初期化
00036 Private Sub CreateHeader(objForm As frmList, ByRef iTop As Integer)
00037
00038 'パネル
00039 Dim pnlHeader As MSForms.Label
00040 Set pnlHeader = objForm.Controls.Add("Forms.Label.1")
00041 With pnlHeader
00042 .Left = MARGIN
00043 .Top = iTop
00044 .Height = 150 '適当に設定しておく
00045 .Width = objForm.Width - MARGIN - MARGIN - 5 '5 は 微調整
00046 .BorderStyle = fmBorderStyleSingle
00047 .BorderColor = LABEL_BORDER_COLOR
00048 End With
00049 iTop = iTop + MARGIN
00050
00051 'Caption, TextBox, Label
00052 Dim txtDummy As MSForms.TextBox
00053 Dim txtDummy2 As MSForms.TextBox
00054 Dim lblDummy As MSForms.Label
00055 Const CAPTION_WIDTH As Integer = 60 '適当に調整する
00056 Dim i As Integer
00057 For i = 0 To 3
00058 '標題の背景
00059 Dim pnlDummy As MSForms.Label
00060 Set pnlDummy = objForm.Controls.Add("Forms.Label.1")
00061 With pnlDummy
00062 .Left = MARGIN + MARGIN
00063 .Top = iTop
00064 .Height = LINE_HIGHT
00065 .Width = CAPTION_WIDTH
00066 .BorderStyle = fmBorderStyleSingle
00067 .BorderColor = CAPTION_BORDER_COLOR
00068 .BackColor = CAPTION_BACK_COLOR
00069 End With
00070
00071 '標題
00072 Dim capDummy As MSForms.Label
00073 Set capDummy = objForm.Controls.Add("Forms.Label.1")
00074 With capDummy
00075 .Left = MARGIN + MARGIN
00076 .Top = iTop + PADING
00077 .Height = FONT_SIZE
00078 .Width = CAPTION_WIDTH
00079 .BackStyle = fmBackStyleTransparent
00080 .BorderStyle = fmBorderStyleNone
00081 .TextAlign = fmTextAlignCenter
00082 .Font.Name = FONT_NAME
00083 .Font.Size = FONT_SIZE
00084 Select Case i
00085 Case 0: .Caption = "日付"
00086 Case 1: .Caption = "部署"
00087 Case 2: .Caption = "担当者"
00088 Case 3: .Caption = "得意先"
00089 End Select
00090 End With
00091
00092 'TextBox
00093 Select Case i
00094 Case 0: Set txtDummy = objForm.Controls.Add("Forms.TextBox.1", "txtDateMin") '日付(自)
00095 Case 1: Set txtDummy = objForm.Controls.Add("Forms.TextBox.1", "txtBusyo") '部署
00096 Case 2: Set txtDummy = objForm.Controls.Add("Forms.TextBox.1", "txtTanto") '担当者
00097 Case 3: Set txtDummy = objForm.Controls.Add("Forms.TextBox.1", "txtTokui") '得意先
00098 End Select
00099 With txtDummy
00100 .Left = MARGIN + MARGIN + CAPTION_WIDTH + MARGIN
00101 .Top = iTop
00102 Select Case i
00103 Case 0: .MaxLength = 10 '日付
00104 Case 1: .MaxLength = 4 '部署
00105 Case 2: .MaxLength = 2 '担当者
00106 Case 3: .MaxLength = 4 '得意先
00107 End Select
00108 '.Width = .MaxLength * (FONT_SIZE / 2) + TEXT_PADING
00109 .Width = .MaxLength * 6 + TEXT_PADING
00110 .Height = LINE_HIGHT
00111 .Font.Name = FONT_NAME
00112 .Font.Size = FONT_SIZE
00113
00114 ' レイアウト調整用
00115 If DEBUG_MODE Then
00116 .Text = String(.MaxLength, "9")
00117 End If
00118 End With
00119 'コントロールの割り当て
00120 Select Case i
00121 Case 0: Set objForm.txtDateMin = txtDummy '日付(自)
00122 Case 1: Set objForm.txtBusyo = txtDummy '部署
00123 Case 2: Set objForm.txtTanto = txtDummy '担当者
00124 Case 3: Set objForm.txtTokui = txtDummy '得意先
00125 End Select
00126
00127 If i = 0 Then
00128 '日付 (至)
00129 Set lblDummy = objForm.Controls.Add("Forms.Label.1")
00130 With lblDummy
00131 .Left = MARGIN + MARGIN + CAPTION_WIDTH + MARGIN + txtDummy.Width + MARGIN
00132 .Top = iTop + PADING
00133 .Width = 2 * 6 + PADING
00134 .BorderStyle = fmBorderStyleNone
00135 .BackStyle = fmBackStyleTransparent
00136 .Font.Name = FONT_NAME
00137 .Font.Size = FONT_SIZE
00138 .Caption = "〜"
00139 End With
00140
00141 Set txtDummy = objForm.Controls.Add("Forms.TextBox.1", "txtDateMax")
00142 With txtDummy
00143 .Left = lblDummy.Left + lblDummy.Width + MARGIN
00144 .Top = iTop
00145 .MaxLength = 10
00146 '.Width = .MaxLength * (FONT_SIZE / 2) + TEXT_PADING
00147 .Width = .MaxLength * 6 + TEXT_PADING
00148 .Height = LINE_HIGHT
00149 .Font.Name = FONT_NAME
00150 .Font.Size = FONT_SIZE
00151
00152 ' レイアウト調整用
00153 If DEBUG_MODE Then
00154 .Text = String(.MaxLength, "9")
00155 End If
00156 End With
00157 'コントロールの割り当て
00158 Set objForm.txtDateMax = txtDummy '日付(至)
00159 End If
00160
00161 Select Case i
00162 Case 1, 2, 3 '部署, 担当者, 得意先
00163 'ラベルの背景
00164 Dim pnlDummy2 As MSForms.Label
00165 Set pnlDummy2 = objForm.Controls.Add("Forms.Label.1")
00166 With pnlDummy2
00167 '.Left = MARGIN + MARGIN + CAPTION_WIDTH + MARGIN + (4 * (FONT_SIZE / 2) + TEXT_PADING) + MARGIN
00168 .Left = MARGIN + MARGIN + CAPTION_WIDTH + MARGIN + (4 * 6 + TEXT_PADING) + MARGIN
00169 .Top = iTop
00170 .Width = 350 '適当に調整する
00171 .Height = LINE_HIGHT
00172 .BorderStyle = fmBorderStyleSingle
00173 .BorderColor = LABEL_BORDER_COLOR
00174 .BackColor = LABEL_BACK_COLOR
00175 End With
00176
00177 'ラベル
00178 Set lblDummy = objForm.Controls.Add("Forms.Label.1")
00179 With lblDummy
00180 .Left = MARGIN + MARGIN + CAPTION_WIDTH + MARGIN + (4 * (FONT_SIZE / 2) + TEXT_PADING) + MARGIN + PADING
00181 .Top = iTop + PADING
00182 .Width = 350 - (PADING * 2) '適当に調整する
00183 .BorderStyle = fmBorderStyleNone
00184 .BackStyle = fmBackStyleTransparent
00185 .Font.Name = FONT_NAME
00186 .Font.Size = FONT_SIZE
00187 ' レイアウト調整用
00188 If DEBUG_MODE Then
00189 .Caption = "1234567890"
00190 End If
00191 End With
00192 'コントロールの割り当て
00193 Select Case i
00194 Case 1: Set objForm.lblBusyoNM = lblDummy '部署
00195 Case 2: Set objForm.lblTantoNM = lblDummy '担当者
00196 Case 3: Set objForm.lblTokuiNM = lblDummy '得意先
00197 End Select
00198 End Select
00199
00200 iTop = iTop + LINE_HIGHT + MARGIN
00201 Next
00202
00203 'パネル高さ 調整
00204 pnlHeader.Height = iTop - pnlHeader.Top
00205 End Sub