From: <ah...@us...> - 2008-11-01 22:48:49
|
Revision: 12012 http://jvcl.svn.sourceforge.net/jvcl/?rev=12012&view=rev Author: ahuser Date: 2008-11-01 22:48:42 +0000 (Sat, 01 Nov 2008) Log Message: ----------- Mantis #4454: In Delphi 2009 TJvFileNameEdit and TJvFolderEdit do not display unicode filenames correctly Modified Paths: -------------- trunk/jvcl/run/JvToolEdit.pas Modified: trunk/jvcl/run/JvToolEdit.pas =================================================================== --- trunk/jvcl/run/JvToolEdit.pas 2008-11-01 22:05:49 UTC (rev 12011) +++ trunk/jvcl/run/JvToolEdit.pas 2008-11-01 22:48:42 UTC (rev 12012) @@ -562,7 +562,11 @@ property ClipboardCommands; property DisabledTextColor; property DisabledColor; + {$IFDEF UNICODE} + property OEMConvert default False; // Mantis 4454 + {$ELSE} property OEMConvert default True; // Mantis 3621 + {$ENDIF UNICODE} end; TFileDialogKind = (dkOpen, dkSave, dkOpenPicture, dkSavePicture); @@ -4482,7 +4486,9 @@ constructor TJvFileDirEdit.Create(AOwner: TComponent); begin inherited Create(AOwner); + {$IFNDEF UNICODE} OEMConvert := True; + {$ENDIF ~UNICODE} FAcceptFiles := True; FAutoCompleteOptions := [acoAutoSuggest]; ControlState := ControlState + [csCreating]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2009-01-22 23:06:19
|
Revision: 12159 http://jvcl.svn.sourceforge.net/jvcl/?rev=12159&view=rev Author: ahuser Date: 2009-01-22 23:06:13 +0000 (Thu, 22 Jan 2009) Log Message: ----------- Mantis #4666: Problem on rendering TJvMaskEdit on Windows Vista, Windows 7 Modified Paths: -------------- trunk/jvcl/run/JvToolEdit.pas Modified: trunk/jvcl/run/JvToolEdit.pas =================================================================== --- trunk/jvcl/run/JvToolEdit.pas 2009-01-22 20:35:09 UTC (rev 12158) +++ trunk/jvcl/run/JvToolEdit.pas 2009-01-22 23:06:13 UTC (rev 12159) @@ -1343,8 +1343,6 @@ //=== Global procedures ====================================================== procedure DateFormatChanged; -var - I: Integer; procedure IterateControls(AControl: TWinControl); var @@ -1361,6 +1359,8 @@ end; end; +var + I: Integer; begin if Screen <> nil then for I := 0 to Screen.FormCount - 1 do @@ -1434,7 +1434,6 @@ Result := Bmp.Handle <> 0; end; - function PaintComboEdit(Editor: TJvCustomComboEdit; const AText: string; AAlignment: TAlignment; StandardPaint: Boolean; var ACanvas: TControlCanvas; var Msg: TWMPaint): Boolean; @@ -1706,20 +1705,20 @@ procedure TDateHook.Hook; begin - if FHooked then - Exit; - - Application.HookMainWindow(FormatSettingsChange); - FHooked := True; + if not FHooked then + begin + Application.HookMainWindow(FormatSettingsChange); + FHooked := True; + end; end; procedure TDateHook.UnHook; begin - if not FHooked then - Exit; - - Application.UnhookMainWindow(FormatSettingsChange); - FHooked := False; + if FHooked then + begin + Application.UnhookMainWindow(FormatSettingsChange); + FHooked := False; + end; end; //=== { TJvCustomComboEditDataConnector } ==================================== @@ -2377,7 +2376,6 @@ Result := not ParentCtl3D; end; - function TJvCustomComboEdit.IsImageIndexStored: Boolean; begin Result := @@ -3218,7 +3216,8 @@ DrawRect: TRect; Details: TThemedElementDetails; begin - if ThemeServices.ThemesEnabled and Ctl3D and (BorderStyle = bsSingle) then + if ThemeServices.ThemesEnabled and Ctl3D and (BorderStyle = bsSingle) and + (Win32MajorVersion < 6) then // Vista draws the border animated and not with teEditTextNormal begin DC := GetWindowDC(Handle); try @@ -3239,7 +3238,6 @@ end; {$ENDIF JVCLThemesEnabled} - procedure TJvCustomComboEdit.WMPaint(var Msg: TWMPaint); var Canvas: TControlCanvas; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ob...@us...> - 2009-04-29 14:02:14
|
Revision: 12294 http://jvcl.svn.sourceforge.net/jvcl/?rev=12294&view=rev Author: obones Date: 2009-04-29 13:41:13 +0000 (Wed, 29 Apr 2009) Log Message: ----------- Mantis 4760: Now ensures there is no path delimiter at the end Modified Paths: -------------- trunk/jvcl/run/JvToolEdit.pas Modified: trunk/jvcl/run/JvToolEdit.pas =================================================================== --- trunk/jvcl/run/JvToolEdit.pas 2009-04-29 13:27:17 UTC (rev 12293) +++ trunk/jvcl/run/JvToolEdit.pas 2009-04-29 13:41:13 UTC (rev 12294) @@ -1110,7 +1110,7 @@ {$IFNDEF CLR} JvBrowseFolder, {$ENDIF !CLR} - JclFileUtils, + JclFileUtils, JclStrings, JvPickDate, JvJCLUtils, JvJVCLUtils, JvThemes, JvResources; @@ -4331,9 +4331,9 @@ Temp: string; begin if FileExists(AFileName) then - Temp := ExtractFilePath(AFileName) + Temp := StrEnsureNoSuffix(PathDelim, ExtractFilePath(AFileName)) else - Temp := AFileName; + Temp := StrEnsureNoSuffix(PathDelim, AFileName); if (Text = '') or not MultipleDirs then Text := Temp else This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ob...@us...> - 2009-08-05 11:49:54
|
Revision: 12421 http://jvcl.svn.sourceforge.net/jvcl/?rev=12421&view=rev Author: obones Date: 2009-08-05 11:49:45 +0000 (Wed, 05 Aug 2009) Log Message: ----------- Mantis 4872 : Avoid stack overflow Modified Paths: -------------- trunk/jvcl/run/JvToolEdit.pas Modified: trunk/jvcl/run/JvToolEdit.pas =================================================================== --- trunk/jvcl/run/JvToolEdit.pas 2009-08-05 10:05:30 UTC (rev 12420) +++ trunk/jvcl/run/JvToolEdit.pas 2009-08-05 11:49:45 UTC (rev 12421) @@ -3135,11 +3135,16 @@ not SettingCursor and PopupVisible and (FPopup is TJvPopupWindow) and Assigned(TJvPopupWindow(FPopup).ActiveControl) then begin - with Msg do - Result := TJvPopupWindow(FPopup).ActiveControl.Perform(Msg, WParam, LParam); + // Mantis 4872: Avoid stack overflow. + if (Msg.Msg <> WM_CONTEXTMENU) or + (ControlAtPos(ScreenToClient(SmallPointToPoint(TWMContextMenu(Msg).Pos)), False) = TJvPopupWindow(FPopup).ActiveControl) then + begin + with Msg do + Result := TJvPopupWindow(FPopup).ActiveControl.Perform(Msg, WParam, LParam); - if Msg.Result = 0 then - Exit; + if Msg.Result = 0 then + Exit; + end; end; { The AutoComplete functionality sends a WM_SETTEXT. But only SetTextBuf() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ob...@us...> - 2009-08-07 11:52:17
|
Revision: 12432 http://jvcl.svn.sourceforge.net/jvcl/?rev=12432&view=rev Author: obones Date: 2009-08-07 11:52:11 +0000 (Fri, 07 Aug 2009) Log Message: ----------- Warnings removed Modified Paths: -------------- trunk/jvcl/run/JvToolEdit.pas Modified: trunk/jvcl/run/JvToolEdit.pas =================================================================== --- trunk/jvcl/run/JvToolEdit.pas 2009-08-07 11:48:25 UTC (rev 12431) +++ trunk/jvcl/run/JvToolEdit.pas 2009-08-07 11:52:11 UTC (rev 12432) @@ -1,4 +1,4 @@ -{----------------------------------------------------------------------------- +{----------------------------------------------------------------------------- The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at @@ -1312,10 +1312,7 @@ function EditorTextMargins(Editor: TCustomEdit): TPoint; var - DC: HDC; I: Integer; - SaveFont: HFONT; - SysMetrics, Metrics: TTextMetric; ed: TCustomEditAccessProtected; begin ed := TCustomEditAccessProtected(Editor); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ob...@us...> - 2009-08-07 12:09:04
|
Revision: 12433 http://jvcl.svn.sourceforge.net/jvcl/?rev=12433&view=rev Author: obones Date: 2009-08-07 12:08:47 +0000 (Fri, 07 Aug 2009) Log Message: ----------- Mantis 4754: Bevels must be taken into account Modified Paths: -------------- trunk/jvcl/run/JvToolEdit.pas Modified: trunk/jvcl/run/JvToolEdit.pas =================================================================== --- trunk/jvcl/run/JvToolEdit.pas 2009-08-07 11:52:11 UTC (rev 12432) +++ trunk/jvcl/run/JvToolEdit.pas 2009-08-07 12:08:47 UTC (rev 12433) @@ -2929,6 +2929,25 @@ FButton.Width, Height); end; + // Mantis 4754: Bevels must be taken into account + if BevelKind <> bkNone then + begin + if BevelInner <> bvNone then + begin + Dec(BtnRect.Left, 2); + Dec(BtnRect.Right, 2); + Dec(BtnRect.Bottom, 2); + end; + + if BevelOuter <> bvNone then + begin + Dec(BtnRect.Left, 2); + Dec(BtnRect.Right, 2); + Dec(BtnRect.Bottom, 2); + end; + end; + + NewLeft := BtnRect.Left; NewTop := BtnRect.Top; NewWidth := BtnRect.Right - BtnRect.Left; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ob...@us...> - 2009-08-13 12:48:22
|
Revision: 12458 http://jvcl.svn.sourceforge.net/jvcl/?rev=12458&view=rev Author: obones Date: 2009-08-13 12:48:15 +0000 (Thu, 13 Aug 2009) Log Message: ----------- Mantis 4893: TJvDirectoryEdit was ignoring the DialogKind property Modified Paths: -------------- trunk/jvcl/run/JvToolEdit.pas Modified: trunk/jvcl/run/JvToolEdit.pas =================================================================== --- trunk/jvcl/run/JvToolEdit.pas 2009-08-13 12:44:22 UTC (rev 12457) +++ trunk/jvcl/run/JvToolEdit.pas 2009-08-13 12:48:15 UTC (rev 12458) @@ -1,4 +1,4 @@ -{----------------------------------------------------------------------------- +{----------------------------------------------------------------------------- The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at @@ -50,7 +50,7 @@ JclBase, JvConsts, JvExControls, JvSpeedButton, JvTypes, JvExMask, JvExForms, JvButton, - JvDataSourceIntf; + JvDataSourceIntf, JvBrowseFolder; const scAltDown = scAlt + VK_DOWN; @@ -699,6 +699,8 @@ FDialogKind: TDirDialogKind; FPhysicalDirectory: string; FDisplayLocalizedName: Boolean; + FOptionsWin32: TOptionsDir; + procedure SetDirectory(const Value: string); function GetDirectory: string; procedure SetDisplayLocalizedName(const Value: Boolean); @@ -733,6 +735,7 @@ property Flat; property ParentFlat; property DialogOptions: TSelectDirOpts read FOptions write FOptions default [sdAllowCreate]; + property DialogOptionsWin32: TOptionsDir read FOptionsWin32 write FOptionsWin32 default DefaultJvBrowseFolderDialogOptions; property InitialDir: string read FInitialDir write FInitialDir; property MultipleDirs: Boolean read FMultipleDirs write FMultipleDirs default False; property AutoSelect; @@ -1079,7 +1082,6 @@ uses RTLConsts, Math, Consts, MaskUtils, MultiMon, - JvBrowseFolder, JclFileUtils, JclStrings, JvPickDate, JvJCLUtils, JvJVCLUtils, JvThemes, JvResources; @@ -3896,6 +3898,7 @@ begin inherited Create(AOwner); FOptions := [sdAllowCreate]; + FOptionsWin32 := DefaultJvBrowseFolderDialogOptions; FAutoCompleteFileOptions := [acfFileSystem, acfFileSysDirs]; FDialogKind := dkWin32; end; @@ -4077,6 +4080,7 @@ var Temp, Txt: string; Action: Boolean; + BrowseForFolder: TJvBrowseForFolderDialog; begin Temp := Directory; Action := True; @@ -4093,12 +4097,32 @@ if not DirectoryExists(Temp) then Temp := PathDelim; - DisableSysErrors; - try - Action := SelectDirectory(Temp, FOptions, Self.HelpContext); - finally - EnableSysErrors; + + case DialogKind of + dkVCL: + begin + DisableSysErrors; + try + Action := SelectDirectory(Temp, FOptions, Self.HelpContext); + finally + EnableSysErrors; + end; + end; + dkWin32: + begin + BrowseForFolder := TJvBrowseForFolderDialog.Create(Self); + try + BrowseForFolder.Options := DialogOptionsWin32; + BrowseForFolder.Directory := Temp; + BrowseForFolder.StatusText := DialogText; + Action := BrowseForFolder.Execute; + Temp := BrowseForFolder.Directory; + finally + BrowseForFolder.Free; + end; + end; end; + if CanFocus then SetFocus; DoAfterDialog(Temp, Action); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2010-05-16 20:08:57
|
Revision: 12777 http://jvcl.svn.sourceforge.net/jvcl/?rev=12777&view=rev Author: ahuser Date: 2010-05-16 20:08:50 +0000 (Sun, 16 May 2010) Log Message: ----------- Mantis #5080: JvDateEdit does not recognize property setting CheckOnExit Modified Paths: -------------- trunk/jvcl/run/JvToolEdit.pas Modified: trunk/jvcl/run/JvToolEdit.pas =================================================================== --- trunk/jvcl/run/JvToolEdit.pas 2010-05-16 14:05:19 UTC (rev 12776) +++ trunk/jvcl/run/JvToolEdit.pas 2010-05-16 20:08:50 UTC (rev 12777) @@ -3851,7 +3851,7 @@ procedure TJvCustomDateEdit.ValidateEdit; begin - if TextStored then + if TextStored and CheckOnExit then CheckValidDate; end; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ob...@us...> - 2010-10-11 07:59:32
|
Revision: 12862 http://jvcl.svn.sourceforge.net/jvcl/?rev=12862&view=rev Author: obones Date: 2010-10-11 07:59:26 +0000 (Mon, 11 Oct 2010) Log Message: ----------- Mantis 5311: When border is none, one can make the control smaller Modified Paths: -------------- trunk/jvcl/run/JvToolEdit.pas Modified: trunk/jvcl/run/JvToolEdit.pas =================================================================== --- trunk/jvcl/run/JvToolEdit.pas 2010-10-11 07:56:25 UTC (rev 12861) +++ trunk/jvcl/run/JvToolEdit.pas 2010-10-11 07:59:26 UTC (rev 12862) @@ -1708,17 +1708,25 @@ I: Integer; SysMetrics, Metrics: TTextMetric; begin + // Get text height DC := GetDC(HWND_DESKTOP); GetTextMetrics(DC, SysMetrics); SaveFont := SelectObject(DC, Font.Handle); GetTextMetrics(DC, Metrics); SelectObject(DC, SaveFont); ReleaseDC(HWND_DESKTOP, DC); - if not Flat then - I := 8 - else - I := 6; - I := GetSystemMetrics(SM_CYBORDER) * I; + + // If necessary reserve space for border + i:=0; + if BorderStyle <> bsNone then + begin + if not Flat then + I := 8 + else + I := 6; + I := GetSystemMetrics(SM_CYBORDER) * I; + end; + if Height < Metrics.tmHeight + I then Height := Metrics.tmHeight + I; end; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2010-11-25 08:40:30
|
Revision: 12896 http://jvcl.svn.sourceforge.net/jvcl/?rev=12896&view=rev Author: ahuser Date: 2010-11-25 08:40:23 +0000 (Thu, 25 Nov 2010) Log Message: ----------- Style clean Modified Paths: -------------- trunk/jvcl/run/JvToolEdit.pas Modified: trunk/jvcl/run/JvToolEdit.pas =================================================================== --- trunk/jvcl/run/JvToolEdit.pas 2010-11-25 08:16:57 UTC (rev 12895) +++ trunk/jvcl/run/JvToolEdit.pas 2010-11-25 08:40:23 UTC (rev 12896) @@ -1717,7 +1717,7 @@ ReleaseDC(HWND_DESKTOP, DC); // If necessary reserve space for border - i:=0; + I := 0; if BorderStyle <> bsNone then begin if not Flat then This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ob...@us...> - 2012-02-24 14:56:31
|
Revision: 13226 http://jvcl.svn.sourceforge.net/jvcl/?rev=13226&view=rev Author: obones Date: 2012-02-24 14:56:25 +0000 (Fri, 24 Feb 2012) Log Message: ----------- Mantis 5670 : Published AlwaysEnableButton and AlwaysShowPopup with a default value of True so that a readonly edit can still allow selecting a file which feels more natural Modified Paths: -------------- trunk/jvcl/run/JvToolEdit.pas Modified: trunk/jvcl/run/JvToolEdit.pas =================================================================== --- trunk/jvcl/run/JvToolEdit.pas 2012-02-24 14:52:03 UTC (rev 13225) +++ trunk/jvcl/run/JvToolEdit.pas 2012-02-24 14:56:25 UTC (rev 13226) @@ -1,4 +1,4 @@ -{----------------------------------------------------------------------------- +{----------------------------------------------------------------------------- The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at @@ -559,6 +559,8 @@ property LocalizedName: string read GetLocalizedName; published property AcceptFiles: Boolean read FAcceptFiles write SetAcceptFiles default True; + property AlwaysEnableButton default True; + property AlwaysShowPopup default True; property OnBeforeDialog: TExecOpenDialogEvent read FOnBeforeDialog write FOnBeforeDialog; property OnAfterDialog: TExecOpenDialogEvent read FOnAfterDialog write FOnAfterDialog; property OnDropFiles: TNotifyEvent read FOnDropFiles write FOnDropFiles; @@ -4401,6 +4403,8 @@ OEMConvert := True; {$ENDIF ~UNICODE} FAcceptFiles := True; + AlwaysEnableButton := True; + AlwaysShowPopup := True; FAutoCompleteOptions := [acoAutoSuggest]; ControlState := ControlState + [csCreating]; try This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ob...@us...> - 2012-02-27 12:50:32
|
Revision: 13242 http://jvcl.svn.sourceforge.net/jvcl/?rev=13242&view=rev Author: obones Date: 2012-02-27 12:50:25 +0000 (Mon, 27 Feb 2012) Log Message: ----------- Mantis 4300: Adjusted button painting Modified Paths: -------------- trunk/jvcl/run/JvToolEdit.pas Modified: trunk/jvcl/run/JvToolEdit.pas =================================================================== --- trunk/jvcl/run/JvToolEdit.pas 2012-02-27 11:28:37 UTC (rev 13241) +++ trunk/jvcl/run/JvToolEdit.pas 2012-02-27 12:50:25 UTC (rev 13242) @@ -1,4 +1,4 @@ -{----------------------------------------------------------------------------- +{----------------------------------------------------------------------------- The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at @@ -2955,11 +2955,11 @@ if BorderStyle = bsSingle then begin if Ctl3D then - BtnRect := Bounds(Width - FButton.Width - 2, 0, - FButton.Width, Height - 2) + BtnRect := Bounds(Width - FButton.Width - 2 - 1, 0 + 1, + FButton.Width, Height - 2 - 2) else - BtnRect := Bounds(Width - FButton.Width - 1, 1, - FButton.Width, Height - 2); + BtnRect := Bounds(Width - FButton.Width - 1 - 1, 1 + 1, + FButton.Width, Height - 2 - 2); end else BtnRect := Bounds(Width - FButton.Width, 0, @@ -2971,7 +2971,7 @@ if BorderStyle = bsSingle then begin if not Flat then - BtnRect := Bounds(Width - FButton.Width - 4, 0, + BtnRect := Bounds(Width - FButton.Width - 4 + 1, 0 + 1, FButton.Width, Height - 4) else BtnRect := Bounds(Width - FButton.Width - 2, 2, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jfu...@us...> - 2012-02-27 22:18:24
|
Revision: 13251 http://jvcl.svn.sourceforge.net/jvcl/?rev=13251&view=rev Author: jfudickar Date: 2012-02-27 22:18:17 +0000 (Mon, 27 Feb 2012) Log Message: ----------- Removed BOM Modified Paths: -------------- trunk/jvcl/run/JvToolEdit.pas Modified: trunk/jvcl/run/JvToolEdit.pas =================================================================== --- trunk/jvcl/run/JvToolEdit.pas 2012-02-27 15:54:18 UTC (rev 13250) +++ trunk/jvcl/run/JvToolEdit.pas 2012-02-27 22:18:17 UTC (rev 13251) @@ -1,4 +1,4 @@ -{----------------------------------------------------------------------------- +{----------------------------------------------------------------------------- The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2012-09-04 11:38:35
|
Revision: 13409 http://jvcl.svn.sourceforge.net/jvcl/?rev=13409&view=rev Author: ahuser Date: 2012-09-04 11:38:24 +0000 (Tue, 04 Sep 2012) Log Message: ----------- Fixed access violation if comboedit was destroyed in CM_DIALOGKEY (e.g. editor for a virtualtree node) Modified Paths: -------------- trunk/jvcl/run/JvToolEdit.pas Modified: trunk/jvcl/run/JvToolEdit.pas =================================================================== --- trunk/jvcl/run/JvToolEdit.pas 2012-09-03 21:23:26 UTC (rev 13408) +++ trunk/jvcl/run/JvToolEdit.pas 2012-09-04 11:38:24 UTC (rev 13409) @@ -1478,7 +1478,7 @@ end else {$ENDIF COMPILER16_UP} - ACanvas.Font.Color := DisabledTextColor; + ACanvas.Font.Color := DisabledTextColor; ACanvas.TextRect(EditRect, X, EditRect.Top, S); finally RestoreDC(ACanvas.Handle, -1); @@ -1494,7 +1494,7 @@ end else {$ENDIF COMPILER16_UP} - Brush.Color := TEd(Editor).Color; + Brush.Color := TEd(Editor).Color; ACanvas.TextRect(EditRect, X, EditRect.Top, S); end; end; @@ -2115,12 +2115,12 @@ else {$ENDIF COMPILER16_UP} begin - Canvas.Brush.Color := FDisabledColor; - Canvas.Brush.Style := bsSolid; - Canvas.FillRect(ClientRect); - end; + Canvas.Brush.Color := FDisabledColor; + Canvas.Brush.Style := bsSolid; + Canvas.FillRect(ClientRect); end; end; +end; procedure TJvCustomComboEdit.FocusSet(PrevWnd: THandle); begin @@ -2366,7 +2366,11 @@ else begin { must catch and remove this, since is actually multi-line } - GetParentForm(Self).Perform(CM_DIALOGKEY, Byte(Key), 0); + if (Form <> nil) and (Form.Perform(CM_DIALOGKEY, Byte(Key), 0) <> 0) then + begin + Key := #0; + Exit; + end; if Key = Cr then begin inherited KeyPress(Key); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2012-10-03 10:09:37
|
Revision: 13451 http://jvcl.svn.sourceforge.net/jvcl/?rev=13451&view=rev Author: ahuser Date: 2012-10-03 10:09:31 +0000 (Wed, 03 Oct 2012) Log Message: ----------- Mantis #5998: Border of some edit controls (with buttons) disappears when VCL Styles used. Workaround for Vcl.Styles bug where all edit controls are painted smaller than they are. Modified Paths: -------------- trunk/jvcl/run/JvToolEdit.pas Modified: trunk/jvcl/run/JvToolEdit.pas =================================================================== --- trunk/jvcl/run/JvToolEdit.pas 2012-09-27 07:52:37 UTC (rev 13450) +++ trunk/jvcl/run/JvToolEdit.pas 2012-10-03 10:09:31 UTC (rev 13451) @@ -3007,22 +3007,27 @@ procedure TJvCustomComboEdit.UpdateBtnBounds(var NewLeft, NewTop, NewWidth, NewHeight: Integer); var BtnRect: TRect; + {$IFDEF JVCLThemesEnabled} + StyleExtraBorder: Integer; + {$ENDIF JVCLThemesEnabled} begin {$IFDEF JVCLThemesEnabled} if StyleServices.Enabled then begin if BorderStyle = bsSingle then begin + // Work around the VCL Style engine bug where edit controls are painted smaller than they are (see also WMNCCalcSize) + StyleExtraBorder := 0; + if not StyleServices.IsSystemStyle and Ctl3D then + StyleExtraBorder := 2; + if Ctl3D then - BtnRect := Bounds(Width - FButton.Width - 2 - 1, 0 + 1, - FButton.Width, Height - 2 - 2) + BtnRect := Bounds(Width - FButton.Width - 2 - 1, 0 + 1, FButton.Width - StyleExtraBorder, Height - 2 - 2 - StyleExtraBorder) else - BtnRect := Bounds(Width - FButton.Width - 1 - 1, 1 + 1, - FButton.Width, Height - 2 - 2); + BtnRect := Bounds(Width - FButton.Width - 1 - 1, 1 + 1, FButton.Width - StyleExtraBorder, Height - 2 - 2 - StyleExtraBorder); end else - BtnRect := Bounds(Width - FButton.Width, 0, - FButton.Width, Height); + BtnRect := Bounds(Width - FButton.Width, 0, FButton.Width, Height); end else {$ENDIF JVCLThemesEnabled} @@ -3030,15 +3035,12 @@ if BorderStyle = bsSingle then begin if not Flat then - BtnRect := Bounds(Width - FButton.Width - 4 + 1, 0 + 1, - FButton.Width, Height - 4) + BtnRect := Bounds(Width - FButton.Width - 4 + 1, 0 + 1, FButton.Width, Height - 4) else - BtnRect := Bounds(Width - FButton.Width - 2, 2, - FButton.Width, Height - 4) + BtnRect := Bounds(Width - FButton.Width - 2, 2, FButton.Width, Height - 4) end else - BtnRect := Bounds(Width - FButton.Width, 0, - FButton.Width, Height); + BtnRect := Bounds(Width - FButton.Width, 0, FButton.Width, Height); end; // Mantis 4754: Bevels must be taken into account @@ -3120,11 +3122,11 @@ end; if StyleServices.Enabled then begin - if BorderStyle = bsSingle then - if Ctl3D then - LRight := 1 - else - LRight := -1; + if BorderStyle = bsSingle then + if Ctl3D then + LRight := 1 + else + LRight := -1; end else {$ENDIF JVCLThemesEnabled} @@ -3153,7 +3155,8 @@ {$IFDEF JVCLThemesEnabled} procedure TJvCustomComboEdit.WMNCCalcSize(var Msg: TWMNCCalcSize); begin - if StyleServices.Enabled and Ctl3D and (BorderStyle = bsSingle) then + if StyleServices.Enabled and Ctl3D and (BorderStyle = bsSingle) and + StyleServices.IsSystemStyle then // Work around the VCL Style engine bug where edit controls are painted smaller than they are (see also UpdateBtnBounds) begin with Msg.CalcSize_Params^ do InflateRect(rgrc[0], 1, 1); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2012-10-03 11:03:58
|
Revision: 13452 http://jvcl.svn.sourceforge.net/jvcl/?rev=13452&view=rev Author: ahuser Date: 2012-10-03 11:03:47 +0000 (Wed, 03 Oct 2012) Log Message: ----------- Mantis #6002: TJvCalcEdit button constricts by 2 pixels on each click when VCL Styles enabled Modified Paths: -------------- trunk/jvcl/run/JvToolEdit.pas Modified: trunk/jvcl/run/JvToolEdit.pas =================================================================== --- trunk/jvcl/run/JvToolEdit.pas 2012-10-03 10:09:31 UTC (rev 13451) +++ trunk/jvcl/run/JvToolEdit.pas 2012-10-03 11:03:47 UTC (rev 13452) @@ -3022,9 +3022,9 @@ StyleExtraBorder := 2; if Ctl3D then - BtnRect := Bounds(Width - FButton.Width - 2 - 1, 0 + 1, FButton.Width - StyleExtraBorder, Height - 2 - 2 - StyleExtraBorder) + BtnRect := Bounds(Width - FButton.Width - 2 - 1 - StyleExtraBorder, 0 + 1, FButton.Width, Height - 2 - 2 - StyleExtraBorder) else - BtnRect := Bounds(Width - FButton.Width - 1 - 1, 1 + 1, FButton.Width - StyleExtraBorder, Height - 2 - 2 - StyleExtraBorder); + BtnRect := Bounds(Width - FButton.Width - 1 - 1 - StyleExtraBorder, 1 + 1, FButton.Width, Height - 2 - 2 - StyleExtraBorder); end else BtnRect := Bounds(Width - FButton.Width, 0, FButton.Width, Height); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wp...@us...> - 2012-10-08 19:00:02
|
Revision: 13459 http://jvcl.svn.sourceforge.net/jvcl/?rev=13459&view=rev Author: wpostma Date: 2012-10-08 18:59:55 +0000 (Mon, 08 Oct 2012) Log Message: ----------- Mantis # 6009 - obscure Access violation fixed when a JvCustomComboEdit is wrapped up as an activeX control. I have marked in the constructor that the FButton is constructed too late in the constructor, for ActiveX purposes, but it seems safer for me to add some if-assigned checks (which is what I did) rather than reorder the FButton creation code to be earlier, when I'm really not sure that any point in the constructor is always early enough. Modified Paths: -------------- trunk/jvcl/run/JvToolEdit.pas Modified: trunk/jvcl/run/JvToolEdit.pas =================================================================== --- trunk/jvcl/run/JvToolEdit.pas 2012-10-08 18:50:00 UTC (rev 13458) +++ trunk/jvcl/run/JvToolEdit.pas 2012-10-08 18:59:55 UTC (rev 13459) @@ -1708,7 +1708,7 @@ FBtnControl.Visible := True; FBtnControl.Parent := Self; FBtnControl.Align := alCustom; - FButton := TJvEditButton.Create(Self); + FButton := TJvEditButton.Create(Self); // this happens too late in some cases, causing a crash. FButton.SetBounds(0, 0, FBtnControl.Width, FBtnControl.Height); FButton.Visible := True; FButton.Align := alClient; @@ -3011,6 +3011,9 @@ StyleExtraBorder: Integer; {$ENDIF JVCLThemesEnabled} begin + if not Assigned(FButton) then + exit; + {$IFDEF JVCLThemesEnabled} if StyleServices.Enabled then begin This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |