Druckversion des Themas

Hier klicken um das Topic im Orginalformat anzusehen

HTML-Editor phase 5 Support _ Proton _ Scrollbare und ziehbare Tabs

Geschrieben von: proton 13.12.2010 - 13:42

Aus verschiedenen Gründen benutze ich nicht phase5 sondern proton zum editieren meiner Quellen.
Da der 3.3PR1 leider ein paar Macken hat (allen voran das Problem, dass durch den Dateimanager kein Arbeiten im Netrzwerk möglich ist, da bei jedem Tabwechsel die Verzeichnisliste neu einliest anstatt sie zu cachen und bei identischem Verzeichnis das Einlesen trotzdem durchführt) ist die Version 3.2 im Einsatz.

Die kleinen Hauptfunktionen, die mir fehlen betreffen die Quell-Tabs:
Funktion 1. Kein Scrollen durch die Tabs per Maus möglich, nur über die Tasten <> - vor allem bei vielen offenen Quellen ist das sehr umständlich.
Funktion 2. Kein Drag'n'Drop der Tabs möglich um die Anordnung zu ändern.

Da die Quellen leider nicht zugänglich sind (dort wäre das nur kleine Änderungen) suche ich nach einer anderen Möglichkeit das zu lösen.
Möglichkeit 0: Anderen Editor benutzen --> fällt erst einmal aus...
Möglichkeit 1: Plugin (wenn ich das richtig verstanden habe sind diese nur auf "Klick" aktiv, nicht die komplette Zeit)
Möglichkeit 2: Ändern des Binaries über ResHack und Co (geht übrigens nur in Version 3.2, da die 3.3 komprimiert ist).
Möglichkeit 3: Realisierung über externes Programm und Windows-Hook (das dürfte recht kompliziert werden).

Die Möglichkeit 2 habe ich bereits wie folgt ausprobiert um Problem 1 zu umgehen:
proton.exe öffnen, Ressource TRFMEDIT (enthällt alle Hauptkomponenten) von

QUELLTEXT
  object TabControl: TTabControl
    Left = 0
    Top = 28
    Width = 622
    Height = 25
    Align = alTop
    TabOrder = 2
    OnChange = TabControl2Change
    OnMouseDown = TabControlMouseDown
    OnMouseUp = TabControlMouseUp
  end
auf
QUELLTEXT
  object TabControl: TTabControl
    Left = 0
    Top = 28
    Width = 622
    Height = [b]60
    MultiLine = True
[/b]    Align = alTop
    TabOrder = 2
    OnChange = TabControl2Change
    OnMouseDown = TabControlMouseDown
    OnMouseUp = TabControlMouseUp
  end
ändern, damit wird das nicht Scrollbar aber alle Tabs werden angezeigt. Problem: Da sich die Höhe leider nicht wie in http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/ComCtrls_TTabControl_MultiLine.html angegeben dynamisch anpasst (eventuell muss da noch ein anderer Wert modifiziert werden, aktiviert man AutoSize schmiert das ganze ab) sind in meiner Änderung nun immer fest 3 Zeilen für die Tabs reserviert. Hat man zu viele Tabs sind diese nicht mehr sichtbar, hat man nur ein paar Dateien offen ist der Platz ungenutzt.
Um das eigentliche Problem zu lösen müsste man nur Wissen, wie man die aktuelle Position im TTabControl ändern kann und die Methodenaufrufe OnMouseWheelDown und OnMouseWheelUp entsprechend angeben.
Für Problem 2 habe ich mich mit DragMode = dmAutomatic versucht, aber das scheint wohl wenn dann nicht auf das TTabControl sondern auf die Tabs selbst gesetzt werden zu müssen - und die werden dynamisch zur Laufzeit erzeugt...

Fällt jemandem zu o. g. Problemen etwas ein?
Danke, proton

Unterstützt von Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)