AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Letzter Eintrag in TSynCompletionProposal nicht richtig sichtbar
Thema durchsuchen
Ansicht
Themen-Optionen

Letzter Eintrag in TSynCompletionProposal nicht richtig sichtbar

Ein Thema von Dennis07 · begonnen am 19. Feb 2016 · letzter Beitrag vom 19. Feb 2016
Antwort Antwort
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
485 Beiträge
 
Delphi 11 Alexandria
 
#1

Letzter Eintrag in TSynCompletionProposal nicht richtig sichtbar

  Alt 19. Feb 2016, 18:16
Hallo DP-Community,
ich habe mal wieder ein kleines Frägeleinchen.
Naja, vielleicht kein kleines wenn dieser Bug sogar in Software wie SMS weiterhin besteht

Es geht um die TSynCompletionProposal-Komponente, welche es für TSynEdits bzw. TSynMemos anbietet, eine Art Insight zu erstellen. Die Grundlegende Funktionsweise wird ja in der Demo recht anschaulich und gut gezeigt.
Allerdings habe ich beim anzeigen das Problem, dass bis zum manuellen Resizen per Cursor Die Größe so gesetzt ist, dass das letzte Item nicht mehr sichtbar ist, oder zumindest kaum noch (siehe Anhang).

Wie ich feststellen konnte, existiert dieses Problem auch weiterhin in vielen Programmen, die SynEdit verwenden, so auch SMS, dem Demoprojekt und anderen.
Ich habe schon nahezu alles probiert und auch versucht die entsprechende Unit abzuändern, bisher ohne Erfolg. Hat jemand von euch eventuell einen Lösungsansatz?
Miniaturansicht angehängter Grafiken
2016-02-19_180806.jpg  
Dennis
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
485 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Letzter Eintrag in TSynCompletionProposal nicht richtig sichtbar

  Alt 19. Feb 2016, 18:53
Mist... wieso komm ich immer erst auf die Lösung wenn ich es schon gefragt habe....
aber nochmal für die, die evl. auch danach suchen.
Die Prozedur "TSynBaseCompletionProposalForm.Resize" hat einen Fehler: Es wird vergessen, dass die Zählung bei 0 beginnt und somit muss es nicht "... div FEffectiveItemHeight" sondern "... div FEffectiveItemHeight - 1" heißen. Dann funktioniert auch alles.

Delphi-Quellcode:
procedure TSynBaseCompletionProposalForm.Resize;
begin
  inherited;

  if FEffectiveItemHeight <> 0 then
    FLinesInWindow := (Height - FHeightBuffer) div FEffectiveItemHeight {EDIT}- 1{/EDIT};

  if not(csCreating in ControlState) then
    AdjustMetrics;

  AdjustScrollBarPosition;
  Invalidate;
end;
Dennis
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz