exctrls/exquestiondlg: Avoid flicker due to Activate.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8157 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
		
							parent
							
								
									5e350b0270
								
							
						
					
					
						commit
						17a5b7035b
					
				| @ -2,11 +2,11 @@ object DemoForm: TDemoForm | ||||
|   Left = 257 | ||||
|   Height = 585 | ||||
|   Top = 128 | ||||
|   Width = 708 | ||||
|   Width = 752 | ||||
|   AutoSize = True | ||||
|   Caption = 'Test QuestionDlgEx' | ||||
|   ClientHeight = 585 | ||||
|   ClientWidth = 708 | ||||
|   ClientWidth = 752 | ||||
|   OnCreate = FormCreate | ||||
|   LCLVersion = '2.3.0.0' | ||||
|   object rgButtons: TRadioGroup | ||||
| @ -16,11 +16,11 @@ object DemoForm: TDemoForm | ||||
|     AnchorSideRight.Side = asrBottom | ||||
|     AnchorSideBottom.Control = rgMessage | ||||
|     AnchorSideBottom.Side = asrBottom | ||||
|     Left = 235 | ||||
|     Height = 96 | ||||
|     Top = 298 | ||||
|     Left = 231 | ||||
|     Height = 108 | ||||
|     Top = 252 | ||||
|     Width = 112 | ||||
|     Anchors = [akTop, akLeft, akRight, akBottom] | ||||
|     Anchors = [akLeft, akRight, akBottom] | ||||
|     AutoFill = True | ||||
|     Caption = 'Buttons' | ||||
|     ChildSizing.LeftRightSpacing = 12 | ||||
| @ -30,7 +30,7 @@ object DemoForm: TDemoForm | ||||
|     ChildSizing.ShrinkVertical = crsScaleChilds | ||||
|     ChildSizing.Layout = cclLeftToRightThenTopToBottom | ||||
|     ChildSizing.ControlsPerLine = 1 | ||||
|     ClientHeight = 76 | ||||
|     ClientHeight = 88 | ||||
|     ClientWidth = 108 | ||||
|     ItemIndex = 1 | ||||
|     Items.Strings = ( | ||||
| @ -42,28 +42,30 @@ object DemoForm: TDemoForm | ||||
|     TabOrder = 0 | ||||
|   end | ||||
|   object rgMessage: TRadioGroup | ||||
|     AnchorSideLeft.Control = gbTest | ||||
|     AnchorSideLeft.Control = gbTextAlignmentLayout | ||||
|     AnchorSideTop.Control = gbTextAlignmentLayout | ||||
|     AnchorSideTop.Side = asrBottom | ||||
|     AnchorSideRight.Control = gbTextAlignmentLayout | ||||
|     AnchorSideRight.Side = asrBottom | ||||
|     Left = 24 | ||||
|     Height = 96 | ||||
|     Top = 298 | ||||
|     Width = 179 | ||||
|     Left = 16 | ||||
|     Height = 108 | ||||
|     Top = 252 | ||||
|     Width = 191 | ||||
|     AutoFill = True | ||||
|     AutoSize = True | ||||
|     BorderSpacing.Top = 24 | ||||
|     BorderSpacing.Top = 16 | ||||
|     Caption = 'Message' | ||||
|     ChildSizing.LeftRightSpacing = 12 | ||||
|     ChildSizing.HorizontalSpacing = 12 | ||||
|     ChildSizing.VerticalSpacing = 4 | ||||
|     ChildSizing.EnlargeHorizontal = crsHomogenousChildResize | ||||
|     ChildSizing.EnlargeVertical = crsHomogenousChildResize | ||||
|     ChildSizing.ShrinkHorizontal = crsScaleChilds | ||||
|     ChildSizing.ShrinkVertical = crsScaleChilds | ||||
|     ChildSizing.Layout = cclLeftToRightThenTopToBottom | ||||
|     ChildSizing.ControlsPerLine = 2 | ||||
|     ClientHeight = 76 | ||||
|     ClientWidth = 175 | ||||
|     ClientHeight = 88 | ||||
|     ClientWidth = 187 | ||||
|     Columns = 2 | ||||
|     ItemIndex = 2 | ||||
|     Items.Strings = ( | ||||
| @ -78,28 +80,30 @@ object DemoForm: TDemoForm | ||||
|     TabOrder = 1 | ||||
|   end | ||||
|   object gbFont: TGroupBox | ||||
|     AnchorSideLeft.Control = rgBtnAlignment | ||||
|     AnchorSideLeft.Side = asrBottom | ||||
|     AnchorSideTop.Control = Bevel1 | ||||
|     AnchorSideTop.Side = asrBottom | ||||
|     AnchorSideLeft.Control = rgGlyphShowMode | ||||
|     AnchorSideTop.Control = rgBtnAlignment | ||||
|     AnchorSideRight.Control = gbMaxWidth | ||||
|     AnchorSideRight.Side = asrBottom | ||||
|     AnchorSideBottom.Control = gbTextAlignmentLayout | ||||
|     AnchorSideBottom.Side = asrBottom | ||||
|     Left = 379 | ||||
|     Left = 367 | ||||
|     Height = 95 | ||||
|     Top = 179 | ||||
|     Top = 141 | ||||
|     Width = 322 | ||||
|     Anchors = [akTop, akLeft, akBottom] | ||||
|     BorderSpacing.Left = 32 | ||||
|     BorderSpacing.Right = 24 | ||||
|     Anchors = [akTop, akLeft, akRight, akBottom] | ||||
|     Caption = 'Font' | ||||
|     ClientHeight = 75 | ||||
|     ClientWidth = 318 | ||||
|     TabOrder = 2 | ||||
|     object cbDefaultFont: TCheckBox | ||||
|       Left = 22 | ||||
|       AnchorSideLeft.Control = gbFont | ||||
|       AnchorSideTop.Control = gbFont | ||||
|       Left = 24 | ||||
|       Height = 19 | ||||
|       Top = 0 | ||||
|       Top = 8 | ||||
|       Width = 55 | ||||
|       BorderSpacing.Left = 24 | ||||
|       BorderSpacing.Top = 8 | ||||
|       Caption = 'default' | ||||
|       Checked = True | ||||
|       OnChange = cbDefaultFontChange | ||||
| @ -107,23 +111,29 @@ object DemoForm: TDemoForm | ||||
|       TabOrder = 0 | ||||
|     end | ||||
|     object cbFontName: TComboBox | ||||
|       AnchorSideLeft.Control = gbFont | ||||
|       AnchorSideTop.Control = cbDefaultFont | ||||
|       AnchorSideTop.Side = asrBottom | ||||
|       AnchorSideRight.Control = seFontSize | ||||
|       Left = 22 | ||||
|       Left = 24 | ||||
|       Height = 23 | ||||
|       Top = 24 | ||||
|       Width = 206 | ||||
|       Top = 31 | ||||
|       Width = 204 | ||||
|       Anchors = [akTop, akLeft, akRight] | ||||
|       BorderSpacing.Left = 24 | ||||
|       BorderSpacing.Top = 4 | ||||
|       BorderSpacing.Right = 16 | ||||
|       ItemHeight = 15 | ||||
|       TabOrder = 1 | ||||
|       Text = 'cbFontName' | ||||
|     end | ||||
|     object seFontSize: TSpinEdit | ||||
|       AnchorSideTop.Control = cbFontName | ||||
|       AnchorSideRight.Control = gbFont | ||||
|       AnchorSideRight.Side = asrBottom | ||||
|       Left = 244 | ||||
|       Height = 23 | ||||
|       Top = 24 | ||||
|       Top = 31 | ||||
|       Width = 58 | ||||
|       Alignment = taRightJustify | ||||
|       Anchors = [akTop, akRight] | ||||
| @ -133,20 +143,19 @@ object DemoForm: TDemoForm | ||||
|     end | ||||
|   end | ||||
|   object rgBtnAlignment: TRadioGroup | ||||
|     AnchorSideLeft.Control = gbTextAlignmentLayout | ||||
|     AnchorSideLeft.Control = rgMessage | ||||
|     AnchorSideLeft.Side = asrBottom | ||||
|     AnchorSideTop.Control = Bevel1 | ||||
|     AnchorSideTop.Side = asrBottom | ||||
|     AnchorSideTop.Control = gbTextAlignmentLayout | ||||
|     AnchorSideBottom.Control = gbTextAlignmentLayout | ||||
|     AnchorSideBottom.Side = asrBottom | ||||
|     Left = 235 | ||||
|     Left = 231 | ||||
|     Height = 95 | ||||
|     Top = 179 | ||||
|     Top = 141 | ||||
|     Width = 112 | ||||
|     Anchors = [akTop, akLeft, akBottom] | ||||
|     AutoFill = True | ||||
|     AutoSize = True | ||||
|     BorderSpacing.Left = 32 | ||||
|     BorderSpacing.Left = 24 | ||||
|     Caption = 'Button alignment' | ||||
|     ChildSizing.LeftRightSpacing = 12 | ||||
|     ChildSizing.EnlargeHorizontal = crsHomogenousChildResize | ||||
| @ -169,29 +178,30 @@ object DemoForm: TDemoForm | ||||
|     AnchorSideLeft.Control = rgGlyphShowMode | ||||
|     AnchorSideLeft.Side = asrBottom | ||||
|     AnchorSideTop.Control = rgGlyphShowMode | ||||
|     AnchorSideRight.Control = gbFont | ||||
|     AnchorSideRight.Side = asrBottom | ||||
|     AnchorSideBottom.Control = rgGlyphShowMode | ||||
|     AnchorSideBottom.Side = asrBottom | ||||
|     Left = 533 | ||||
|     Height = 96 | ||||
|     Top = 298 | ||||
|     Left = 521 | ||||
|     Height = 108 | ||||
|     Top = 252 | ||||
|     Width = 168 | ||||
|     Anchors = [akTop, akLeft, akRight, akBottom] | ||||
|     Anchors = [akTop, akLeft, akBottom] | ||||
|     AutoSize = True | ||||
|     BorderSpacing.Left = 24 | ||||
|     BorderSpacing.Right = 16 | ||||
|     Caption = 'Dialog size limits' | ||||
|     ClientHeight = 76 | ||||
|     ClientHeight = 88 | ||||
|     ClientWidth = 164 | ||||
|     TabOrder = 4 | ||||
|     object Label1: TLabel | ||||
|       AnchorSideLeft.Control = gbMaxWidth | ||||
|       AnchorSideTop.Control = seMaxWidth | ||||
|       AnchorSideTop.Side = asrCenter | ||||
|       Left = 16 | ||||
|       Left = 12 | ||||
|       Height = 15 | ||||
|       Top = 16 | ||||
|       Top = 12 | ||||
|       Width = 56 | ||||
|       BorderSpacing.Left = 16 | ||||
|       BorderSpacing.Left = 12 | ||||
|       Caption = 'Max width' | ||||
|     end | ||||
|     object seMaxWidth: TSpinEdit | ||||
| @ -200,25 +210,27 @@ object DemoForm: TDemoForm | ||||
|       AnchorSideTop.Control = gbMaxWidth | ||||
|       AnchorSideRight.Control = gbMaxWidth | ||||
|       AnchorSideRight.Side = asrBottom | ||||
|       Left = 88 | ||||
|       Left = 84 | ||||
|       Height = 23 | ||||
|       Top = 12 | ||||
|       Width = 60 | ||||
|       Top = 8 | ||||
|       Width = 64 | ||||
|       Alignment = taRightJustify | ||||
|       Anchors = [akTop, akLeft, akRight] | ||||
|       BorderSpacing.Left = 16 | ||||
|       BorderSpacing.Top = 12 | ||||
|       BorderSpacing.Top = 8 | ||||
|       BorderSpacing.Right = 16 | ||||
|       Constraints.MinWidth = 64 | ||||
|       MaxValue = 10000 | ||||
|       TabOrder = 0 | ||||
|       Value = 500 | ||||
|     end | ||||
|     object Label2: TLabel | ||||
|       AnchorSideLeft.Control = Label1 | ||||
|       AnchorSideTop.Control = seMinWidth | ||||
|       AnchorSideTop.Side = asrCenter | ||||
|       Left = 16 | ||||
|       Left = 12 | ||||
|       Height = 15 | ||||
|       Top = 55 | ||||
|       Top = 43 | ||||
|       Width = 54 | ||||
|       Caption = 'Min width' | ||||
|     end | ||||
| @ -228,13 +240,13 @@ object DemoForm: TDemoForm | ||||
|       AnchorSideTop.Side = asrBottom | ||||
|       AnchorSideRight.Control = gbMaxWidth | ||||
|       AnchorSideRight.Side = asrBottom | ||||
|       Left = 88 | ||||
|       Left = 84 | ||||
|       Height = 23 | ||||
|       Top = 51 | ||||
|       Width = 60 | ||||
|       Top = 39 | ||||
|       Width = 64 | ||||
|       Alignment = taRightJustify | ||||
|       Anchors = [akTop, akLeft, akRight] | ||||
|       BorderSpacing.Top = 16 | ||||
|       BorderSpacing.Top = 8 | ||||
|       BorderSpacing.Right = 16 | ||||
|       MaxValue = 10000 | ||||
|       TabOrder = 1 | ||||
| @ -244,14 +256,14 @@ object DemoForm: TDemoForm | ||||
|   object rgPosition: TRadioGroup | ||||
|     AnchorSideLeft.Control = rgBtnAlignment | ||||
|     AnchorSideTop.Control = rgMsgType | ||||
|     AnchorSideRight.Control = gbFont | ||||
|     AnchorSideRight.Control = gbMaxWidth | ||||
|     AnchorSideRight.Side = asrBottom | ||||
|     AnchorSideBottom.Control = rgMsgType | ||||
|     AnchorSideBottom.Side = asrBottom | ||||
|     Left = 235 | ||||
|     Height = 115 | ||||
|     Top = 418 | ||||
|     Width = 466 | ||||
|     Left = 231 | ||||
|     Height = 123 | ||||
|     Top = 376 | ||||
|     Width = 458 | ||||
|     Anchors = [akTop, akLeft, akRight, akBottom] | ||||
|     AutoFill = True | ||||
|     AutoSize = True | ||||
| @ -265,8 +277,8 @@ object DemoForm: TDemoForm | ||||
|     ChildSizing.ShrinkVertical = crsScaleChilds | ||||
|     ChildSizing.Layout = cclLeftToRightThenTopToBottom | ||||
|     ChildSizing.ControlsPerLine = 3 | ||||
|     ClientHeight = 95 | ||||
|     ClientWidth = 462 | ||||
|     ClientHeight = 103 | ||||
|     ClientWidth = 454 | ||||
|     Columns = 3 | ||||
|     ItemIndex = 9 | ||||
|     Items.Strings = ( | ||||
| @ -283,47 +295,48 @@ object DemoForm: TDemoForm | ||||
|     ) | ||||
|     TabOrder = 5 | ||||
|     object edX: TEdit | ||||
|       Left = 162 | ||||
|       Left = 159 | ||||
|       Height = 23 | ||||
|       Top = 64 | ||||
|       Width = 142 | ||||
|       Top = 69 | ||||
|       Width = 139 | ||||
|       TabOrder = 0 | ||||
|       TextHint = 'Enter X value' | ||||
|     end | ||||
|     object edY: TEdit | ||||
|       Left = 320 | ||||
|       Left = 314 | ||||
|       Height = 23 | ||||
|       Top = 64 | ||||
|       Width = 130 | ||||
|       Top = 69 | ||||
|       Width = 128 | ||||
|       TabOrder = 1 | ||||
|       TextHint = 'Enter Y value' | ||||
|     end | ||||
|   end | ||||
|   object rgMsgType: TRadioGroup | ||||
|     AnchorSideLeft.Control = gbTest | ||||
|     AnchorSideLeft.Control = gbTextAlignmentLayout | ||||
|     AnchorSideTop.Control = rgMessage | ||||
|     AnchorSideTop.Side = asrBottom | ||||
|     AnchorSideRight.Control = gbTextAlignmentLayout | ||||
|     AnchorSideRight.Control = rgMessage | ||||
|     AnchorSideRight.Side = asrBottom | ||||
|     Left = 24 | ||||
|     Height = 115 | ||||
|     Top = 418 | ||||
|     Width = 179 | ||||
|     Left = 16 | ||||
|     Height = 123 | ||||
|     Top = 376 | ||||
|     Width = 191 | ||||
|     Anchors = [akTop, akLeft, akRight] | ||||
|     AutoFill = True | ||||
|     AutoSize = True | ||||
|     BorderSpacing.Top = 24 | ||||
|     BorderSpacing.Bottom = 24 | ||||
|     BorderSpacing.Top = 16 | ||||
|     BorderSpacing.Bottom = 16 | ||||
|     Caption = 'Message type' | ||||
|     ChildSizing.LeftRightSpacing = 12 | ||||
|     ChildSizing.VerticalSpacing = 2 | ||||
|     ChildSizing.EnlargeHorizontal = crsHomogenousChildResize | ||||
|     ChildSizing.EnlargeVertical = crsHomogenousChildResize | ||||
|     ChildSizing.ShrinkHorizontal = crsScaleChilds | ||||
|     ChildSizing.ShrinkVertical = crsScaleChilds | ||||
|     ChildSizing.Layout = cclLeftToRightThenTopToBottom | ||||
|     ChildSizing.ControlsPerLine = 1 | ||||
|     ClientHeight = 95 | ||||
|     ClientWidth = 175 | ||||
|     ClientHeight = 103 | ||||
|     ClientWidth = 187 | ||||
|     ItemIndex = 0 | ||||
|     Items.Strings = ( | ||||
|       'mtWarning' | ||||
| @ -335,19 +348,19 @@ object DemoForm: TDemoForm | ||||
|     TabOrder = 6 | ||||
|   end | ||||
|   object rgGlyphShowMode: TRadioGroup | ||||
|     AnchorSideLeft.Control = gbFont | ||||
|     AnchorSideTop.Control = gbFont | ||||
|     AnchorSideTop.Side = asrBottom | ||||
|     AnchorSideLeft.Control = rgBtnAlignment | ||||
|     AnchorSideLeft.Side = asrBottom | ||||
|     AnchorSideTop.Control = rgMessage | ||||
|     AnchorSideBottom.Control = rgMessage | ||||
|     AnchorSideBottom.Side = asrBottom | ||||
|     Left = 379 | ||||
|     Height = 96 | ||||
|     Top = 298 | ||||
|     Left = 367 | ||||
|     Height = 108 | ||||
|     Top = 252 | ||||
|     Width = 130 | ||||
|     Anchors = [akTop, akLeft, akBottom] | ||||
|     AutoFill = True | ||||
|     AutoSize = True | ||||
|     BorderSpacing.Top = 24 | ||||
|     BorderSpacing.Left = 24 | ||||
|     Caption = 'GlyphShowMode' | ||||
|     ChildSizing.LeftRightSpacing = 12 | ||||
|     ChildSizing.EnlargeHorizontal = crsHomogenousChildResize | ||||
| @ -356,7 +369,7 @@ object DemoForm: TDemoForm | ||||
|     ChildSizing.ShrinkVertical = crsScaleChilds | ||||
|     ChildSizing.Layout = cclLeftToRightThenTopToBottom | ||||
|     ChildSizing.ControlsPerLine = 1 | ||||
|     ClientHeight = 76 | ||||
|     ClientHeight = 88 | ||||
|     ClientWidth = 126 | ||||
|     ItemIndex = 2 | ||||
|     Items.Strings = ( | ||||
| @ -367,121 +380,77 @@ object DemoForm: TDemoForm | ||||
|     ) | ||||
|     TabOrder = 7 | ||||
|   end | ||||
|   object gbTest: TGroupBox | ||||
|     AnchorSideLeft.Control = Owner | ||||
|     AnchorSideTop.Control = Owner | ||||
|     AnchorSideRight.Control = rgBtnAlignment | ||||
|     AnchorSideRight.Side = asrBottom | ||||
|     Left = 24 | ||||
|     Height = 104 | ||||
|     Top = 24 | ||||
|     Width = 264 | ||||
|     BorderSpacing.Around = 24 | ||||
|     Caption = 'Test QuestionDlgEx' | ||||
|     ClientHeight = 84 | ||||
|     ClientWidth = 260 | ||||
|     TabOrder = 8 | ||||
|     object btnQuestionDlgEx: TButton | ||||
|       AnchorSideLeft.Control = gbTest | ||||
|       AnchorSideTop.Control = gbTest | ||||
|       AnchorSideRight.Control = gbTest | ||||
|       AnchorSideRight.Side = asrBottom | ||||
|       AnchorSideBottom.Control = gbTest | ||||
|       AnchorSideBottom.Side = asrBottom | ||||
|       Left = 8 | ||||
|       Height = 41 | ||||
|       Top = 8 | ||||
|       Width = 244 | ||||
|       Anchors = [akTop, akLeft, akRight] | ||||
|       AutoSize = True | ||||
|       BorderSpacing.Around = 8 | ||||
|       BorderSpacing.InnerBorder = 8 | ||||
|       Caption = 'QuestionDlgEx' | ||||
|       OnClick = btnQuestionDlgExClick | ||||
|       TabOrder = 0 | ||||
|     end | ||||
|     object lblResult: TLabel | ||||
|       AnchorSideLeft.Control = btnQuestionDlgEx | ||||
|       AnchorSideTop.Control = btnQuestionDlgEx | ||||
|       AnchorSideTop.Side = asrBottom | ||||
|       Left = 8 | ||||
|       Height = 15 | ||||
|       Top = 57 | ||||
|       Width = 45 | ||||
|       Caption = 'lblResult' | ||||
|     end | ||||
|   end | ||||
|   object gbTestStd: TGroupBox | ||||
|     AnchorSideLeft.Control = gbFont | ||||
|     AnchorSideTop.Control = gbTest | ||||
|     AnchorSideRight.Control = gbFont | ||||
|     AnchorSideLeft.Control = rgGlyphShowMode | ||||
|     AnchorSideTop.Control = Owner | ||||
|     AnchorSideRight.Control = gbMaxWidth | ||||
|     AnchorSideRight.Side = asrBottom | ||||
|     Left = 379 | ||||
|     Height = 104 | ||||
|     Top = 24 | ||||
|     Left = 367 | ||||
|     Height = 90 | ||||
|     Top = 16 | ||||
|     Width = 322 | ||||
|     Anchors = [akTop, akLeft, akRight] | ||||
|     AutoSize = True | ||||
|     BorderSpacing.Top = 16 | ||||
|     Caption = 'Test standard dialogs' | ||||
|     ClientHeight = 84 | ||||
|     ClientHeight = 70 | ||||
|     ClientWidth = 318 | ||||
|     TabOrder = 9 | ||||
|     TabOrder = 8 | ||||
|     object btnQuestionDlg: TButton | ||||
|       AnchorSideLeft.Control = gbTestStd | ||||
|       AnchorSideTop.Control = gbTestStd | ||||
|       Left = 32 | ||||
|       Left = 16 | ||||
|       Height = 25 | ||||
|       Top = 0 | ||||
|       Top = 8 | ||||
|       Width = 92 | ||||
|       AutoSize = True | ||||
|       BorderSpacing.Left = 16 | ||||
|       BorderSpacing.Top = 8 | ||||
|       Caption = 'QuestionDlg' | ||||
|       OnClick = btnQuestionDlgClick | ||||
|       TabOrder = 0 | ||||
|     end | ||||
|     object btnDefaultQuestionDlg: TButton | ||||
|       AnchorSideLeft.Control = btnQuestionDlg | ||||
|       AnchorSideLeft.Side = asrBottom | ||||
|       AnchorSideTop.Control = gbTestStd | ||||
|       Left = 160 | ||||
|       Left = 156 | ||||
|       Height = 25 | ||||
|       Top = 0 | ||||
|       Top = 8 | ||||
|       Width = 130 | ||||
|       AutoSize = True | ||||
|       BorderSpacing.Left = 48 | ||||
|       BorderSpacing.Top = 8 | ||||
|       BorderSpacing.Right = 16 | ||||
|       Caption = 'DefaultQuestionDlg' | ||||
|       OnClick = btnDefaultQuestionDlgClick | ||||
|       TabOrder = 1 | ||||
|     end | ||||
|     object lblResultStd: TLabel | ||||
|       AnchorSideLeft.Control = btnQuestionDlgEx | ||||
|       AnchorSideTop.Control = btnQuestionDlgEx | ||||
|       AnchorSideTop.Side = asrBottom | ||||
|       Left = 16 | ||||
|       Height = 15 | ||||
|       Top = 57 | ||||
|       Width = 62 | ||||
|       Caption = 'lblResultStd' | ||||
|     end | ||||
|     object btnMessageDlg: TButton | ||||
|       AnchorSideLeft.Control = btnQuestionDlg | ||||
|       AnchorSideTop.Control = btnQuestionDlg | ||||
|       AnchorSideTop.Side = asrBottom | ||||
|       AnchorSideRight.Control = btnQuestionDlg | ||||
|       AnchorSideRight.Side = asrBottom | ||||
|       Left = 32 | ||||
|       Left = 16 | ||||
|       Height = 25 | ||||
|       Top = 27 | ||||
|       Top = 37 | ||||
|       Width = 92 | ||||
|       Anchors = [akTop, akLeft, akRight] | ||||
|       BorderSpacing.Top = 2 | ||||
|       BorderSpacing.Top = 4 | ||||
|       BorderSpacing.Bottom = 8 | ||||
|       Caption = 'MessageDlg' | ||||
|       OnClick = btnMessageDlgClick | ||||
|       TabOrder = 2 | ||||
|     end | ||||
|     object btnDefaultPromptDlg: TButton | ||||
|       AnchorSideLeft.Control = btnDefaultQuestionDlg | ||||
|       AnchorSideTop.Control = btnDefaultQuestionDlg | ||||
|       AnchorSideTop.Side = asrBottom | ||||
|       AnchorSideTop.Control = btnMessageDlg | ||||
|       AnchorSideRight.Control = btnDefaultQuestionDlg | ||||
|       AnchorSideRight.Side = asrBottom | ||||
|       Left = 160 | ||||
|       Left = 156 | ||||
|       Height = 25 | ||||
|       Top = 27 | ||||
|       Top = 39 | ||||
|       Width = 130 | ||||
|       Anchors = [akTop, akLeft, akRight] | ||||
|       AutoSize = True | ||||
| @ -492,35 +461,34 @@ object DemoForm: TDemoForm | ||||
|     end | ||||
|   end | ||||
|   object Bevel1: TBevel | ||||
|     AnchorSideLeft.Control = Owner | ||||
|     AnchorSideTop.Control = gbTest | ||||
|     AnchorSideTop.Control = gbTestStd | ||||
|     AnchorSideTop.Side = asrBottom | ||||
|     AnchorSideRight.Control = Owner | ||||
|     AnchorSideRight.Control = gbTestStd | ||||
|     AnchorSideRight.Side = asrBottom | ||||
|     Left = 24 | ||||
|     Left = 0 | ||||
|     Height = 3 | ||||
|     Top = 152 | ||||
|     Width = 660 | ||||
|     Top = 122 | ||||
|     Width = 689 | ||||
|     Anchors = [akTop, akLeft, akRight] | ||||
|     BorderSpacing.Around = 24 | ||||
|     BorderSpacing.Top = 16 | ||||
|     Shape = bsTopLine | ||||
|   end | ||||
|   object gbTextAlignmentLayout: TGroupBox | ||||
|     AnchorSideLeft.Control = gbTest | ||||
|     AnchorSideLeft.Control = Owner | ||||
|     AnchorSideTop.Control = Bevel1 | ||||
|     AnchorSideTop.Side = asrBottom | ||||
|     AnchorSideRight.Control = rgMessage | ||||
|     AnchorSideRight.Side = asrBottom | ||||
|     Left = 24 | ||||
|     Left = 16 | ||||
|     Height = 95 | ||||
|     Top = 179 | ||||
|     Width = 179 | ||||
|     Anchors = [akTop, akLeft, akRight] | ||||
|     AutoSize = True | ||||
|     Top = 141 | ||||
|     Width = 192 | ||||
|     BorderSpacing.Left = 16 | ||||
|     BorderSpacing.Top = 16 | ||||
|     Caption = 'Text alignment/layout' | ||||
|     ClientHeight = 75 | ||||
|     ClientWidth = 175 | ||||
|     TabOrder = 10 | ||||
|     ClientWidth = 188 | ||||
|     TabOrder = 9 | ||||
|     object Panel1: TPanel | ||||
|       AnchorSideLeft.Control = gbTextAlignmentLayout | ||||
|       AnchorSideTop.Control = gbTextAlignmentLayout | ||||
| @ -529,20 +497,20 @@ object DemoForm: TDemoForm | ||||
|       AnchorSideBottom.Control = gbTextAlignmentLayout | ||||
|       AnchorSideBottom.Side = asrBottom | ||||
|       Left = 8 | ||||
|       Height = 69 | ||||
|       Height = 65 | ||||
|       Top = 0 | ||||
|       Width = 72 | ||||
|       Width = 80 | ||||
|       Anchors = [akTop, akLeft, akRight] | ||||
|       AutoSize = True | ||||
|       BorderSpacing.Left = 8 | ||||
|       BorderSpacing.Right = 8 | ||||
|       BorderSpacing.Bottom = 6 | ||||
|       BevelOuter = bvNone | ||||
|       ChildSizing.VerticalSpacing = 6 | ||||
|       ChildSizing.VerticalSpacing = 4 | ||||
|       ChildSizing.Layout = cclLeftToRightThenTopToBottom | ||||
|       ChildSizing.ControlsPerLine = 1 | ||||
|       ClientHeight = 69 | ||||
|       ClientWidth = 72 | ||||
|       ClientHeight = 65 | ||||
|       ClientWidth = 80 | ||||
|       TabOrder = 0 | ||||
|       object rbLeftJustify: TRadioButton | ||||
|         Left = 0 | ||||
| @ -558,7 +526,7 @@ object DemoForm: TDemoForm | ||||
|         Tag = 2 | ||||
|         Left = 0 | ||||
|         Height = 19 | ||||
|         Top = 25 | ||||
|         Top = 23 | ||||
|         Width = 63 | ||||
|         Caption = 'h-center' | ||||
|         TabOrder = 0 | ||||
| @ -567,7 +535,7 @@ object DemoForm: TDemoForm | ||||
|         Tag = 1 | ||||
|         Left = 0 | ||||
|         Height = 19 | ||||
|         Top = 50 | ||||
|         Top = 46 | ||||
|         Width = 63 | ||||
|         Caption = 'right' | ||||
|         TabOrder = 1 | ||||
| @ -580,7 +548,7 @@ object DemoForm: TDemoForm | ||||
|       AnchorSideRight.Side = asrBottom | ||||
|       AnchorSideBottom.Control = gbTextAlignmentLayout | ||||
|       AnchorSideBottom.Side = asrBottom | ||||
|       Left = 100 | ||||
|       Left = 108 | ||||
|       Height = 69 | ||||
|       Top = 0 | ||||
|       Width = 62 | ||||
| @ -630,30 +598,62 @@ object DemoForm: TDemoForm | ||||
|       AnchorSideTop.Control = Panel1 | ||||
|       AnchorSideBottom.Control = Panel2 | ||||
|       AnchorSideBottom.Side = asrBottom | ||||
|       Left = 86 | ||||
|       Left = 92 | ||||
|       Height = 69 | ||||
|       Top = 0 | ||||
|       Width = 2 | ||||
|       Width = 4 | ||||
|       Anchors = [akTop, akLeft, akBottom] | ||||
|       Shape = bsSpacer | ||||
|     end | ||||
|   end | ||||
|   object gbTest: TGroupBox | ||||
|     AnchorSideLeft.Control = gbTextAlignmentLayout | ||||
|     AnchorSideTop.Control = gbTestStd | ||||
|     AnchorSideRight.Control = rgBtnAlignment | ||||
|     AnchorSideRight.Side = asrBottom | ||||
|     AnchorSideBottom.Control = gbTestStd | ||||
|     AnchorSideBottom.Side = asrBottom | ||||
|     Left = 16 | ||||
|     Height = 90 | ||||
|     Top = 16 | ||||
|     Width = 327 | ||||
|     Anchors = [akTop, akLeft, akRight, akBottom] | ||||
|     Caption = 'Test QuestionDlgEx' | ||||
|     ClientHeight = 70 | ||||
|     ClientWidth = 323 | ||||
|     TabOrder = 10 | ||||
|     object btnQuestionDlgEx: TButton | ||||
|       Left = 8 | ||||
|       Height = 54 | ||||
|       Top = 8 | ||||
|       Width = 307 | ||||
|       Align = alClient | ||||
|       Anchors = [akTop, akLeft, akRight] | ||||
|       AutoSize = True | ||||
|       BorderSpacing.Around = 8 | ||||
|       BorderSpacing.InnerBorder = 8 | ||||
|       Caption = 'QuestionDlgEx' | ||||
|       OnClick = btnQuestionDlgExClick | ||||
|       TabOrder = 0 | ||||
|     end | ||||
|   end | ||||
|   object FontDialog1: TFontDialog | ||||
|     MinFontSize = 0 | ||||
|     MaxFontSize = 0 | ||||
|     Left = 480 | ||||
|     Left = 584 | ||||
|     Top = 136 | ||||
|   end | ||||
|   object HTMLHelpDatabase1: THTMLHelpDatabase | ||||
|   object HTMLHelpDatabase: THTMLHelpDatabase | ||||
|     BaseURL = 'file://html/' | ||||
|     AutoRegister = True | ||||
|     KeywordPrefix = 'HTML/' | ||||
|     Left = 136 | ||||
|     Top = 112 | ||||
|     Left = 312 | ||||
|     Top = 80 | ||||
|   end | ||||
|   object HTMLBrowserHelpViewer1: THTMLBrowserHelpViewer | ||||
|   object HTMLBrowserHelpViewer: THTMLBrowserHelpViewer | ||||
|     BrowserParams = '%s' | ||||
|     AutoRegister = True | ||||
|     Left = 240 | ||||
|     Top = 112 | ||||
|     Left = 168 | ||||
|     Top = 80 | ||||
|   end | ||||
| end | ||||
|  | ||||
| @ -27,8 +27,8 @@ type | ||||
|     FontDialog1: TFontDialog; | ||||
|     gbFont: TGroupBox; | ||||
|     gbMaxWidth: TGroupBox; | ||||
|     gbTest: TGroupBox; | ||||
|     gbTestStd: TGroupBox; | ||||
|     gbTest: TGroupBox; | ||||
|     Panel1: TPanel; | ||||
|     Panel2: TPanel; | ||||
|     rbLeftJustify: TRadioButton; | ||||
| @ -38,12 +38,10 @@ type | ||||
|     rbVCenter: TRadioButton; | ||||
|     rbBottom: TRadioButton; | ||||
|     gbTextAlignmentLayout: TGroupBox; | ||||
|     HTMLBrowserHelpViewer1: THTMLBrowserHelpViewer; | ||||
|     HTMLHelpDatabase1: THTMLHelpDatabase; | ||||
|     HTMLBrowserHelpViewer: THTMLBrowserHelpViewer; | ||||
|     HTMLHelpDatabase: THTMLHelpDatabase; | ||||
|     Label1: TLabel; | ||||
|     Label2: TLabel; | ||||
|     lblResult: TLabel; | ||||
|     lblResultStd: TLabel; | ||||
|     rgGlyphShowMode: TRadioGroup; | ||||
|     rgMsgType: TRadioGroup; | ||||
|     rgPosition: TRadioGroup; | ||||
| @ -79,6 +77,7 @@ uses | ||||
|   {$IF FPC_FullVersion >= 30202}System.{$IFEND}UITypes; | ||||
| 
 | ||||
| const | ||||
|   FORM_CAPTION = 'Test QuestionDlgEx'; | ||||
|   DLG_TITLE = 'This is the caption of the dialog'; | ||||
|   MSG_TEXT: array[0..6] of String = ( | ||||
|     'msg', | ||||
| @ -100,8 +99,7 @@ var | ||||
|   mt: Dialogs.TMsgDlgType; | ||||
|   res: TModalResult; | ||||
| begin | ||||
|   lblResult.Caption := ''; | ||||
|    | ||||
|   Caption := FORM_CAPTION; | ||||
|   QuestionDlgEx_MaxWidth := seMaxWidth.Value; | ||||
|   QuestionDlgEx_MinWidth := seMinWidth.Value; | ||||
|   QuestionDlgEx_ButtonAlignment := TAlignment(rgBtnAlignment.ItemIndex); | ||||
| @ -151,7 +149,7 @@ begin | ||||
|     3: res := QuestionDlgEx(DLG_TITLE, msg, mt, [mbYes, 'Yes sir', mbYesToAll, 'I fully agree', mbNo, 'No sir', 'IsDefault', mbNoToAll, 'I fully disagree', mbCancel, 'Changed my mind', 'IsCancel', mbClose, 'Close it', mbHelp, 'I need help'], 'HTML/index.html', X, Y); | ||||
|   end; | ||||
|    | ||||
|   lblResult.Caption := GetModalResultStr(res); | ||||
|   Caption := GetModalResultStr(res); | ||||
| end; | ||||
| 
 | ||||
| procedure TDemoForm.btnMessageDlgClick(Sender: TObject); | ||||
| @ -161,7 +159,7 @@ var | ||||
|   msg: String; | ||||
|   helpkwd: String; | ||||
| begin | ||||
|   lblResultStd.Caption := ''; | ||||
|   Caption := FORM_CAPTION; | ||||
|   mt := TMsgDlgType(rgMsgType.ItemIndex); | ||||
|   msg := MSG_TEXT[rgMessage.ItemIndex]; | ||||
|   helpkwd := 'HTML/index.html'; | ||||
| @ -173,7 +171,7 @@ begin | ||||
|     2: res := MessageDlg(DLG_TITLE, msg, mt, [mbYes, mbYesToAll, mbNo, mbNoToAll], helpkwd); | ||||
|     3: res := MessageDlg(DLG_TITLE, msg, mt, [mbYes, mbYesToAll, mbNo, mbNoToAll, mbClose, mbHelp], helpkwd); | ||||
|   end; | ||||
|   lblResultStd.Caption := GetModalResultStr(res); | ||||
|   Caption := GetModalResultStr(res); | ||||
| end; | ||||
| 
 | ||||
| procedure TDemoForm.btnQuestionDlgClick(Sender: TObject); | ||||
| @ -183,7 +181,7 @@ var | ||||
|   msg: String; | ||||
|   helpkwd: String; | ||||
| begin | ||||
|   lblResultStd.Caption := ''; | ||||
|   Caption := FORM_CAPTION; | ||||
|   mt := TMsgDlgType(rgMsgType.ItemIndex); | ||||
|   msg := MSG_TEXT[rgMessage.ItemIndex]; | ||||
|   helpkwd := 'HTML/index.html'; | ||||
| @ -193,7 +191,7 @@ begin | ||||
|     2: res := QuestionDlg(DLG_TITLE, msg, mt, [mbYes, 'Yes sir', mbYesToAll, 'I fully agree', mbNo, 'No sir', 'IsDefault', mbNoToAll, 'I fully disagree', mbCancel, 'Changed my mind', 'IsCancel'], helpkwd); | ||||
|     3: res := QuestionDlg(DLG_TITLE, msg, mt, [mbYes, 'Yes sir', mbYesToAll, 'I fully agree', mbNo, 'No sir', 'IsDefault', mbNoToAll, 'I fully disagree', mbCancel, 'Changed my mind', 'IsCancel', mbClose, 'Schließen', mbHelp, 'Hilfe'], helpkwd); | ||||
|   end; | ||||
|   lblResultStd.Caption := GetModalResultStr(res); | ||||
|   Caption := GetModalResultStr(res); | ||||
| end; | ||||
| 
 | ||||
| procedure TDemoForm.btnDefaultPromptDlgClick(Sender: TObject); | ||||
| @ -216,7 +214,7 @@ var | ||||
|   X, Y: Integer; | ||||
|   s: String; | ||||
| begin | ||||
|   lblResultStd.Caption := ''; | ||||
|   Caption := FORM_CAPTION; | ||||
|   mt := idDialogBase + 1 + rgMsgType.ItemIndex; | ||||
|   msg := MSG_TEXT[rgMessage.ItemIndex]; | ||||
|   if not TryStrToInt(edX.Text, X) then X := 0; | ||||
| @ -230,7 +228,7 @@ begin | ||||
|     3: res := DefaultPromptDialog(DLG_TITLE, msg, mt, @btns7, 7, 2, 4, defaultPos, X, Y); | ||||
|   end; | ||||
|   // Note: res is an idButtonXXXX value here!  | ||||
|   lblResultStd.Caption := 'Result: ' +BUTTON_NAMES[res]; | ||||
|   Caption := FORM_CAPTION + '- Result: ' +BUTTON_NAMES[res]; | ||||
| end; | ||||
| 
 | ||||
| procedure TDemoForm.cbDefaultFontChange(Sender: TObject); | ||||
| @ -255,7 +253,7 @@ var | ||||
|   end; | ||||
|    | ||||
| begin | ||||
|   lblResultStd.Caption := ''; | ||||
|   Caption := FORM_CAPTION; | ||||
|    | ||||
|   btns := TDialogButtons.Create(TDialogButton); | ||||
|   case rgButtons.ItemIndex of | ||||
| @ -290,24 +288,23 @@ begin | ||||
|     btns, | ||||
|     0 | ||||
|   ); | ||||
|   lblResultStd.Caption := GetModalResultStr(res); | ||||
|   Caption := GetModalResultStr(res); | ||||
| 
 | ||||
|   btns.Free; | ||||
| end; | ||||
| 
 | ||||
| procedure TDemoForm.FormCreate(Sender: TObject); | ||||
| begin | ||||
|   Caption := FORM_CAPTION; | ||||
|   cbFontName.Items.Assign(Screen.Fonts); | ||||
|   cbFontName.ItemIndex := Max(0, cbFontName.Items.IndexOf('Liberation Sans')); | ||||
|   cbFontName.Enabled := false; | ||||
|   seFontSize.Enabled := false; | ||||
|   lblResult.Caption := ''; | ||||
|   lblResultStd.Caption := ''; | ||||
| end; | ||||
| 
 | ||||
| function TDemoForm.GetModalResultStr(res: TModalResult): String; | ||||
| begin | ||||
|   Result := 'ModalResult: ' + {$IF FPC_FullVersion>=30202}System.{$IFEND}UITypes.ModalResultStr[res]; | ||||
|   Result := FORM_CAPTION + ' - ModalResult: ' + {$IF FPC_FullVersion>=30202}System.{$IFEND}UITypes.ModalResultStr[res]; | ||||
| end; | ||||
| 
 | ||||
| end. | ||||
|  | ||||
| @ -87,6 +87,9 @@ begin | ||||
| end; | ||||
| 
 | ||||
| type | ||||
|    | ||||
|   { TQForm } | ||||
| 
 | ||||
|   TQForm = class(TForm) | ||||
|   private | ||||
|     type  | ||||
| @ -112,7 +115,7 @@ type | ||||
|     FXPos, FYPos: Integer; | ||||
|     procedure SetDialogType(AValue: TMsgDlgType); | ||||
|   protected          | ||||
|     procedure Activate; override; | ||||
| //    procedure Activate; override; | ||||
|     procedure AdjustForm; | ||||
|     procedure ApplyButtonAlignment; | ||||
|     procedure CreateButtonPanel; | ||||
| @ -129,6 +132,7 @@ type | ||||
|     constructor CreateNew(AOwner: TComponent; Num: Integer = 0); override; | ||||
|     destructor Destroy; override; | ||||
|     procedure AddButtons(const AButtons: array of const); | ||||
|     function ShowModal: TModalResult; override; | ||||
|     property ButtonAlignment: TAlignment read FButtonAlignment write FButtonAlignment; | ||||
|     property DialogType: TMsgDlgType read FDialogType write SetDialogType; | ||||
|     property Msg: String read FText write FText; | ||||
| @ -141,8 +145,7 @@ type | ||||
| constructor TQForm.CreateNew(AOwner: TComponent; Num: Integer = 0); | ||||
| begin | ||||
|   inherited; | ||||
|   BorderStyle := bsSingle;  // In gtk2, bsDialog "glues" the dialog to the calling form | ||||
|   BorderIcons := [biSystemMenu]; | ||||
|   BorderStyle := bsDialog; | ||||
|   Color := clWindow; | ||||
|   PopupMode := pmAuto; | ||||
|    | ||||
| @ -162,13 +165,14 @@ begin | ||||
|   inherited; | ||||
| end; | ||||
| 
 | ||||
| { | ||||
| procedure TQForm.Activate; | ||||
| begin | ||||
|   AdjustForm; | ||||
|   SetFormPosition(FXPos, FYPos); | ||||
|   inherited; | ||||
| end; | ||||
| 
 | ||||
| } | ||||
| procedure TQForm.AddButtons(const AButtons: array of const); | ||||
| const | ||||
|   MsgDlgBtnStr : array [0..11] of string = ( | ||||
| @ -200,7 +204,9 @@ begin | ||||
|     btn.Default := (btnParams[i].IsDefaultOrCancel = 1); | ||||
|     if btn.Default then ActiveControl := btn; | ||||
|     btn.AutoSize := true; | ||||
|     btn.BorderSpacing.Around := Scale96ToFont(BUTTON_SPACING); | ||||
|     btn.BorderSpacing.Left := Scale96ToFont(BUTTON_SPACING); | ||||
|     btn.BorderSpacing.Right := Scale96ToFont(BUTTON_SPACING); | ||||
| //    btn.BorderSpacing.Around := Scale96ToFont(BUTTON_SPACING); | ||||
|     if i = 0 then | ||||
|       btn.AnchorSideLeft.Control := FInnerButtonPanel | ||||
|     else | ||||
| @ -211,8 +217,6 @@ begin | ||||
|     btn.AnchorSideTop.Control := FInnerButtonPanel; | ||||
|     FButtons[i] := btn; | ||||
|   end; | ||||
|    | ||||
| //  MeasureButtonPanel; | ||||
| end; | ||||
| 
 | ||||
| procedure TQForm.AdjustForm; | ||||
| @ -245,10 +249,11 @@ begin | ||||
|   end; | ||||
|    | ||||
|   FTextPanel.SetBounds(0, 0, textPanelWidth, textPanelHeight); | ||||
|   FInnerButtonPanel.SetBounds(0, 0, buttonPanelWidth, buttonPanelHeight); | ||||
|   FButtonPanel.SetBounds(0, textPanelHeight, textPanelWidth, buttonPanelHeight); | ||||
|    | ||||
|   Width := textPanelWidth; | ||||
|   Height := textPanelHeight + buttonPanelHeight; | ||||
|   ClientWidth := textPanelWidth; | ||||
|   ClientHeight := textPanelHeight + buttonPanelHeight; | ||||
| 
 | ||||
|   ApplyButtonAlignment; | ||||
| end; | ||||
| @ -289,9 +294,11 @@ begin | ||||
|   begin | ||||
|     AnchorSideLeft.Control := FButtonPanel; | ||||
|     AnchorSideTop.Control := FButtonPanel; | ||||
|     AnchorSideRight.Control := FButtonPanel; | ||||
|     AnchorSideRight.Side := asrBottom; | ||||
| //    AnchorSideRight.Control := FButtonPanel; | ||||
| //    AnchorSideRight.Side := asrBottom; | ||||
|     BevelOuter := bvNone; | ||||
|     BorderSpacing.Top := Scale96ToFont(BUTTON_SPACING); | ||||
|     BorderSpacing.Bottom := Scale96ToFont(BUTTON_SPACING); | ||||
|     Caption := ''; | ||||
|     AutoSize := true; | ||||
|     Parent := FButtonPanel; | ||||
| @ -317,14 +324,26 @@ begin | ||||
| end; | ||||
| 
 | ||||
| procedure TQForm.MeasureButtonPanel(var AWidth, AHeight: Integer); | ||||
| var | ||||
|   dy1, dy2: Integer; | ||||
| begin | ||||
|   AWidth := 0; | ||||
|   AHeight := 0; | ||||
|   FButtonPanel.HandleNeeded; | ||||
|   FButtonPanel.GetPreferredSize(AWidth, AHeight); | ||||
|   if QuestionDlgEx_MinWidth > AWidth then AWidth := QuestionDlgEx_MinWidth; | ||||
|    | ||||
|   FInnerButtonPanel.HandleNeeded; | ||||
|   FInnerButtonPanel.GetPreferredSize(AWidth, AHeight); | ||||
| 
 | ||||
|   dy1 := Max(FInnerButtonPanel.BorderSpacing.Top, FInnerButtonPanel.BorderSpacing.Around); | ||||
|   dy2 := Max(FInnerButtonPanel.BorderSpacing.Bottom, FInnerButtonPanel.BorderSpacing.Around); | ||||
|   inc(AHeight, dy1 + dy2); | ||||
|    | ||||
|   if QuestionDlgEx_MinWidth > AWidth then  | ||||
|     AWidth := QuestionDlgEx_MinWidth; | ||||
| end; | ||||
| 
 | ||||
| { Measures width and height of the message text.  | ||||
|   The max text width is given as input parameter AWidth. When the text is wider | ||||
|   it is wrapped. } | ||||
| procedure TQForm.MeasureText(var AWidth, AHeight: Integer); | ||||
| var | ||||
|   R: TRect; | ||||
| @ -337,6 +356,13 @@ begin | ||||
|   AHeight := R.Bottom; | ||||
| end; | ||||
|    | ||||
| { Measures the total width and heigth of the text panel including icon and | ||||
|   borders.  | ||||
|   Is called twice:  | ||||
|   - When Wrapped is false the max width is determine so that wrapping does not  | ||||
|     occur.  | ||||
|   - When wrapped is true the parameter AWidth on input defines the width into  | ||||
|     which the text must fit; when it is wider it is wrapped. } | ||||
| procedure TQForm.MeasureTextPanel(Wrapped: Boolean; var AWidth, AHeight: Integer); | ||||
| var | ||||
|   R: TRect; | ||||
| @ -368,9 +394,10 @@ begin | ||||
|     AHeight := QuestionDlgEx_MinHeight; | ||||
| end; | ||||
| 
 | ||||
| { The TextPanels OnPaint handler. It draws the icon and the text. } | ||||
| procedure TQForm.PaintTextPanelHandler(Sender: TObject); | ||||
| var | ||||
|   x, y: Integer; | ||||
|   x: Integer; | ||||
|   R: TRect; | ||||
|   flags: Integer; | ||||
|   w, h: Integer; | ||||
| @ -474,6 +501,12 @@ begin | ||||
|   end; | ||||
| end; | ||||
| 
 | ||||
| function TQForm.ShowModal: TModalResult; | ||||
| begin | ||||
|   AdjustForm; | ||||
|   SetFormPosition(FXPos, FYPos); | ||||
|   Result := inherited; | ||||
| end; | ||||
| 
 | ||||
| function CreateQuestionDlgEx(const ACaption, AMsg: string; ADlgType: TMsgDlgType; | ||||
|   const AButtons: array of const; AX, AY: Integer): TForm; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 wp_xxyyzz
						wp_xxyyzz