Marco Web Center |
Home: Code Repository: Mastering Delphi 5Project DLGAPPLY
Project StructureDLGAPPLY.DPRprogram DlgApply; uses Forms, Main in 'MAIN.PAS' {Form1}, StyleD in 'StyleD.pas' {StyleDial}, ListD in 'ListD.pas' {ListDial}; {$R *.RES} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.CreateForm(TStyleDial, StyleDial); Application.CreateForm(TListDial, ListDial); Application.Run; end. MAIN.PASunit Main; interface uses Windows, Classes, Graphics, Forms, Controls, StyleD, ListD, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; StyleButton: TButton; Bevel1: TBevel; procedure LabelDoubleClick(Sender: TObject); procedure LabelClick(Sender: TObject); procedure StyleButtonClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.LabelDoubleClick(Sender: TObject); begin with ListDial.Listbox1 do begin // select current the name in the listbox ItemIndex := Items.IndexOf ((Sender as TLabel).Caption); // show the modal dialog box, checking the return value if (ListDial.ShowModal = mrOk) and (ItemIndex >= 0) then // if OK, then copy the selected item of the list to the label (Sender as TLabel).Caption := Items [ItemIndex]; end; end; procedure TForm1.LabelClick(Sender: TObject); var I: Integer; begin for I := 0 to ComponentCount - 1 do if (Components[I] is TLabel) and (Components[I].Tag = 1) then TLabel (Components[I]).Font.Color := clBlack; // set the color of the clicked label to red (Sender as TLabel).Font.Color := clRed; end; procedure TForm1.StyleButtonClick(Sender: TObject); begin // run modeless dialog StyleDial.Show; end; end. STYLED.PASunit StyleD; interface uses SysUtils, Windows, Classes, Graphics, Forms, Controls, Buttons, StdCtrls; type TStyleDial = class(TForm) ApplyBitBtn: TBitBtn; CloseBitBtn: TBitBtn; ItalicCheckBox: TCheckBox; BoldCheckBox: TCheckBox; UnderlineCheckBox: TCheckBox; LabelSample: TLabel; procedure ApplyBitBtnClick(Sender: TObject); procedure CloseBitBtnClick(Sender: TObject); procedure ItalicCheckBoxClick(Sender: TObject); procedure BoldCheckBoxClick(Sender: TObject); procedure UnderlineCheckBoxClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var StyleDial: TStyleDial; implementation {$R *.DFM} {allow access to the main form} uses Main; procedure TStyleDial.ApplyBitBtnClick(Sender: TObject); var I: Integer; begin {copy the style from the sample label of the dialog box to the five labels of the main form} for I := 1 to 5 do (Form1.FindComponent ('Label' + IntToStr (I)) as TLabel). Font.Style := LabelSample.Font.Style; end; procedure TStyleDial.CloseBitBtnClick(Sender: TObject); begin Close; end; procedure TStyleDial.ItalicCheckBoxClick(Sender: TObject); begin if ItalicCheckBox.Checked then LabelSample.Font.Style := LabelSample.Font.Style + [fsItalic] else LabelSample.Font.Style := LabelSample.Font.Style - [fsItalic]; end; procedure TStyleDial.BoldCheckBoxClick(Sender: TObject); begin if BoldCheckBox.Checked then LabelSample.Font.Style := LabelSample.Font.Style + [fsBold] else LabelSample.Font.Style := LabelSample.Font.Style - [fsBold]; end; procedure TStyleDial.UnderlineCheckBoxClick(Sender: TObject); begin if UnderlineCheckBox.Checked then LabelSample.Font.Style := LabelSample.Font.Style + [fsUnderline] else LabelSample.Font.Style := LabelSample.Font.Style - [fsUnderline]; end; end. LISTD.PASunit ListD; interface uses Windows, Classes, Graphics, Forms, Controls, Buttons, StdCtrls; type TListDial = class(TForm) ListBox1: TListBox; BitBtn1: TBitBtn; BitBtn2: TBitBtn; private { Private declarations } public { Public declarations } end; var ListDial: TListDial; implementation {$R *.DFM} end. MAIN.DFMobject Form1: TForm1 Left = 151 Top = 137 Width = 350 Height = 237 ActiveControl = StyleButton Caption = 'DlgApply (Modal & modeless dialogs)' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clBlack Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] OldCreateOrder = True PixelsPerInch = 96 TextHeight = 13 object Bevel1: TBevel Left = 168 Top = 57 Width = 169 Height = 97 end object Label1: TLabel Tag = 1 Left = 27 Top = 26 Width = 50 Height = 22 Caption = 'Name' Font.Charset = DEFAULT_CHARSET Font.Color = clBlack Font.Height = -19 Font.Name = 'Arial' Font.Style = [] ParentFont = False OnClick = LabelClick OnDblClick = LabelDoubleClick end object Label2: TLabel Tag = 1 Left = 27 Top = 60 Width = 50 Height = 22 Caption = 'Name' Font.Charset = DEFAULT_CHARSET Font.Color = clBlack Font.Height = -19 Font.Name = 'Arial' Font.Style = [] ParentFont = False OnClick = LabelClick OnDblClick = LabelDoubleClick end object Label3: TLabel Tag = 1 Left = 27 Top = 94 Width = 50 Height = 22 Caption = 'Name' Font.Charset = DEFAULT_CHARSET Font.Color = clBlack Font.Height = -19 Font.Name = 'Arial' Font.Style = [] ParentFont = False OnClick = LabelClick OnDblClick = LabelDoubleClick end object Label4: TLabel Tag = 1 Left = 27 Top = 128 Width = 50 Height = 22 Caption = 'Name' Font.Charset = DEFAULT_CHARSET Font.Color = clBlack Font.Height = -19 Font.Name = 'Arial' Font.Style = [] ParentFont = False OnClick = LabelClick OnDblClick = LabelDoubleClick end object Label5: TLabel Tag = 1 Left = 27 Top = 162 Width = 50 Height = 22 Caption = 'Name' Font.Charset = DEFAULT_CHARSET Font.Color = clBlack Font.Height = -19 Font.Name = 'Arial' Font.Style = [] ParentFont = False OnClick = LabelClick OnDblClick = LabelDoubleClick end object Label6: TLabel Left = 176 Top = 65 Width = 153 Height = 48 Alignment = taCenter AutoSize = False Caption = 'Double-click on a name to change it or click on the button below' + ' to modify text style' WordWrap = True end object StyleButton: TButton Left = 220 Top = 117 Width = 65 Height = 21 Caption = '&Style...' TabOrder = 0 OnClick = StyleButtonClick end end STYLED.DFMobject StyleDial: TStyleDial Left = 333 Top = 198 ActiveControl = ApplyBitBtn BorderStyle = bsDialog Caption = 'Select style' ClientHeight = 152 ClientWidth = 221 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clBlack Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] OldCreateOrder = True PixelsPerInch = 96 TextHeight = 13 object LabelSample: TLabel Left = 4 Top = 120 Width = 209 Height = 22 Alignment = taCenter AutoSize = False Caption = 'Sample label' Font.Charset = DEFAULT_CHARSET Font.Color = clBlack Font.Height = -19 Font.Name = 'Arial' Font.Style = [] ParentFont = False end object ApplyBitBtn: TBitBtn Left = 128 Top = 21 Width = 75 Height = 28 Caption = '&Apply' Default = True ModalResult = 1 TabOrder = 0 OnClick = ApplyBitBtnClick Glyph.Data = { 42010000424D4201000000000000760000002800000012000000110000000100 040000000000CC00000000000000000000001000000000000000000000000000 80000080000000808000800000008000800080800000C0C0C000808080000000 FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333 3333330000003333344333333333330000003333422433333333330000003334 2222433333333300000033422222243333333300000034222A22224333333300 00003222A3A222433333330000003A2A333A222433333300000033A33333A222 433333000000333333333A222433330000003333333333A22243330000003333 3333333A222433000000333333333333A222430000003333333333333A224300 000033333333333333A223000000333333333333333A33000000333333333333 333333000000} end object CloseBitBtn: TBitBtn Left = 128 Top = 61 Width = 75 Height = 28 Cancel = True Caption = 'Close' ModalResult = 2 TabOrder = 1 OnClick = CloseBitBtnClick Glyph.Data = { FE000000424DFE00000000000000760000002800000010000000110000000100 0400000000008800000000000000000000001000000000000000000000000000 80000080000000808000800000008000800080800000C0C0C000808080000000 FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333 3333338833333333333339118333339833333911183339118333391111839111 1833339111181111183333391111111183333333911111183333333331111183 3333333339111183333333339111118333333339111811183333339111839111 8333339118333911183333391333339111833333333333391933333333333333 3333} end object ItalicCheckBox: TCheckBox Left = 24 Top = 13 Width = 89 Height = 25 Caption = '&Italic' Font.Charset = DEFAULT_CHARSET Font.Color = clBlack Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [fsItalic] ParentFont = False TabOrder = 2 OnClick = ItalicCheckBoxClick end object BoldCheckBox: TCheckBox Left = 24 Top = 45 Width = 89 Height = 25 Caption = '&Bold' Font.Charset = DEFAULT_CHARSET Font.Color = clBlack Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [fsBold] ParentFont = False TabOrder = 3 OnClick = BoldCheckBoxClick end object UnderlineCheckBox: TCheckBox Left = 24 Top = 77 Width = 89 Height = 25 Caption = '&Underline' Font.Charset = DEFAULT_CHARSET Font.Color = clBlack Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [fsUnderline] ParentFont = False TabOrder = 4 OnClick = UnderlineCheckBoxClick end end LISTD.DFMobject ListDial: TListDial Left = 328 Top = 272 ActiveControl = ListBox1 BorderStyle = bsDialog Caption = 'Select a name' ClientHeight = 123 ClientWidth = 217 Font.Color = clBlack Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] PixelsPerInch = 96 TextHeight = 13 object ListBox1: TListBox Left = 0 Top = 0 Width = 129 Height = 123 Align = alLeft ItemHeight = 13 Items.Strings = ( 'Bob' 'Cindy' 'Jane' 'Jeff' 'John' 'Julia' 'Mark' 'Martha' 'Mary' 'Micheal' 'Nan' 'Paul' 'Robert' 'Roberta' 'Steve') Sorted = True TabOrder = 0 end object BitBtn1: TBitBtn Left = 136 Top = 29 Width = 75 Height = 28 TabOrder = 1 Kind = bkOK end object BitBtn2: TBitBtn Left = 136 Top = 66 Width = 75 Height = 28 TabOrder = 2 Kind = bkCancel end end
|
||
© Copyright Marco Cantù, 1995-2020, All rights reserved |