Einzelnen Beitrag anzeigen

Ancaron

Registriert seit: 24. Nov 2007
6 Beiträge
 
#3

AW: Problem bei Editcontrols von JvDBGrid / JvDBUltimGrid

  Alt 6. Dez 2023, 20:49
Sorry für die späte Antwort, bewege mich nicht jeden Tag im Forum.
Ich hatte damals einen Fix für das Verhalten in die JVDbgrid.pas eingebaut innerhalb der

Code:
procedure TJvDBGrid.MouseUp(Button: TMouseButton; Shift: TShiftState;
  X, Y: Integer);
Das Ganze gibt es natürlich ohne Gewähr und Anspruch auf Richtigkeit, behob aber so weit ich weiß, bis heute mein Problem.

Hier mal die von mir geänderten Zeilen mit dem herumliegenden Code

Code:
if (Button = mbLeft) and (FGridState = gsColSizing) then
  begin
    ALeftCol := LeftCol;
    inherited MouseUp(Button, Shift, X, Y);
    if (dgRowSelect in Options) then
      LeftCol := ALeftCol;
    if Assigned(OnColumnResized) then
      OnColumnResized(Self, FSizingIndex + Byte(not (dgIndicator in Options)) - 1,
        ColWidths[FSizingIndex]);
  end
  else
  begin
    inherited MouseUp(Button, Shift, X, Y);
    // JM 12.08.2021
    // Nur bei dgRowSelect das HSCROLL absetzen, da ansonsten das aktive EditControl ein Exit-Ereigniss bekommt,
    // und direkt wieder verschwindet, wenn man das Grid mit der Maus in den EditModus versetzt.
    if (dgRowSelect in Options) then
    begin // JM 12.08.2021 ende
      OriginalScrollInfo.cbSize := SizeOf(OriginalScrollInfo);
      OriginalScrollInfo.fMask := SIF_POS;
      // Store scrollbar position
      GetScrollInfo(Handle, SB_HORZ, OriginalScrollInfo); //
      LockWindowUpdate(Handle);
      try
        Perform(WM_HSCROLL, MakeWParam(SB_THUMBPOSITION, OriginalScrollInfo.nPos), 0); //Repos
      finally
        LockWindowUpdate(0);
      end;
    end; // JM 12.08.2021
  end;
  Mit Zitat antworten Zitat