AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Vollautomatische Spaltenbreitenanpassung in Fenstern
Thema durchsuchen
Ansicht
Themen-Optionen

Vollautomatische Spaltenbreitenanpassung in Fenstern

Ein Thema von Delphi-Laie · begonnen am 14. Apr 2008 · letzter Beitrag vom 23. Nov 2017
Antwort Antwort
Seite 3 von 3     123   
Delphi-Laie
Registriert seit: 25. Nov 2005
Hallo Delphifreunde!

Nachdem ich mein Programm bereits dem Delphi-forum.de-Forum (mit bisher sehr bescheiden zu nennender Resonanz) vorstellte, soll auch dieses Forum das Ergebnis meines Fleißes der letzten Wochen, fast schon Monate kennenlernen.

Wen sowohl die in ihrer Breite nie stimmenden Spalten in den Dateianzeigelisten (Detailansicht) als auch die halbherzigen, halbautomatischen Lösungen, diese Breiten zu korrigieren (am besten in Echtzeit jedem Bedarf anzupassen), schon immer so gestört haben wie mich, der möge in meinem kleinen Programm den weltweit anscheinend allerersten Versuch kennenlernen, zur Lösung dieser Problematik eine vollautomatische Lösung zu schaffen.

Sämtliche Details zu meinem - sehr wahrscheinlich immer noch nicht ganz ausgereiften - Programm stehen in den Informationen dazu - aufrufbar nach dem Programmstart.

Für Anregungen, Hinweise, Kritiken, Verbesserungsvorschläge usw. usf. jeglicher Art bin ich offen und dankbar.

Viele Grüße

Delphi-Laie

Edit: Ein subtiler Fehler (der aus unterschiedlichem Verhalten einer API-Funktion in verschiedenen Windows herrührt) ließ das Programm unter ME (generell 9.x?) nicht mehr lauffähig sein. Korrigiert, deshalb jetzt Beta 4

Edit: Inzwischen Beta 7. Letzte Korrekturen:
- Beep bei Enter-Tastendruck (TEdit) abgeschaltet
- Bezeichnung des Registryeintrages verbessert (jetzt vollständiger Name des Programmes anstatt 4 Buchstaben)
- die anscheinend nicht nötige Rekursion bei EnumChildWindows, um skalierbare Fensterelemente gezielt zu suchen, entfernt. Funktioniert trotzdem. SysListView32 und TListView sind anscheinend direkt in die Hauptfenster eingebettet, sodaß die Rekursion überflüssig ist.

Für weitergehende Interessen steht mein Quelltext in der Rubrik "Open Source" zur Verfügung.

Edit: Wiederum böse Fehler im Exe- und im DLL-Projekt gefunden (der eine existierte vorab nicht, keine Ahnung, wie der sich plötzlich einschlich), außerdem die Fensterstatusumschaltung und den Registryzugriff verbessert. Damit jetzt Beta 11.

Edit 2: Inzwischen bis zur Beta 13 vorgedrungen. In der Beta 12 u.a. einen kleinen Fehler beim schreibenden Registryzugriff (.free vergessen) behoben, in der Beta 13 etliche kleine Detailverbesserungen vorgenommen.

Edit 3: Wieder erhebliche Veränderungen, deshalb inzwischen die (Beta-)Versionsnummer um 2 erhöht. Die beiden wichtigsten, auch optisch markantesten Veränderungen (neben vielen weiteren):
- Ermittlung der hinter den Fenstern stehenden Dateinamen nicht nur über Prozeßschnappschup (Routine geht auf Luckies WinInfo zurück), sondern alternativ auch über einen Modulschnappschuß möglich.
- Neben der Inklusiv- kann alternativ auch eine Exklusiv-Dateiliste erstellt und benutzt werden, die aber nicht so zuverlässig wie ersteres arbeitet und deshalb mehr Experimentalcharakter trägt.

Edit4: Nochmals zwei Versionsnummern höher, nunmehr kann als vierte Auslösemethode auch ein Tastendruck (eine der F-Tasten) den Hotkey und damit die Skalierung auslösen, was jedoch nur halbautomatisch ist (ähnlich AutoHotKey), und die Dateilistentypen können separat zu-/abgeschaltet werden. Zudem habe ich noch tüchtig am Code gefeilt und dabei eine ganze Reihe Fehler ausgemerzt.

Edit5: Beta 18 zusätzlich mit optionalem Löschschutz für die Konfigurationsdateien, indem diese offengehalten werden, weil manche Systemreinigungsprogramme auch das Temp-Verzeichnis leeren, kleinen Fehlerkorrekturen und aufgeräumterem Quelltext.

Edit6: Dateinamenseingabeprozeduren verbessert.

Edit 7: Unterschiedliche Schriftgröße(n) der (beiden) Editfelder vereinheitlicht.

Edit 8: Fehler in der Timerprozedur entfernt.

Edit 9: Funktionen zur Ermittlung des Exe-Dateinamens etwas vereinfacht.
Angehängte Dateien
Dateityp: rar AutoSetColumnsWidth - Beta 18 - Quelltexte.rar (27,9 KB, 41x aufgerufen)
Dateityp: rar AutoSetColumnsWidth - Beta 18 - Dateien für Programmbetrieb.rar (169,5 KB, 55x aufgerufen)

Geändert von Delphi-Laie (15. Dez 2010 um 13:18 Uhr)
 
Delphi-Laie

 
Delphi 10.1 Berlin Starter
 
#21
  Alt 23. Nov 2017, 15:38
Zufällig sehe ich, daß hier mal jemand etwas schreibt, denn per e-Mail wurde ich nicht benachrichtigt.

Das Problem scheint Windows immer noch nicht gelöst zu haben, obwohl ich es mal Mark Russinovich, der ja für seine vielen netten Helferleins für Windows bekannt ist, schilderte. Mehr als ein Dank kam nicht als Reaktion.

Allerdings benutze ich für bzw. seit Windows>XP nur 64-Bit-Versionen. Auf diesen funktioniert dieses Programm mit globalem Hook nicht. Zugegeben, ich versuchte es sowohl mit Lazarus als auch mit Delphi für 64 flotzumachen, aber das gelang mir nicht, sodaß ich es irgendwann aufgab.

Diese 32-Bit-Version habe ich nicht mehr nennenswert weiterentwickelt, sodaß sie mit "Beta 18" stehenblieb. Es funktionierte nie so ganz zu meiner Zufriedenheit. Vielleicht liegt es daran, daß es mein erstes größeres Projekt war - für das ich mit DLL-/Hookprogrammierung ziemlich mutig, ja kühn war - vielleicht aber auch daran, daß sich so etwas nicht besser hinbekommen läßt. Am unangenehmsten habe ich in Erinnerung, daß das Programm irrigerweise die Tastenkombination zum Acrobat-Reader schickt (und der dann mit immenser Verkleinerung der Darstellung reagiert), obwohl das ja eigentlich nicht passieren dürfte.

Ich werde also auch nichts mehr daran herumprogrammieren.

Ein optionaler Autostart ist aber enthalten, er müßte, sofern aktiviert, über die Registrierung erfolgen (soweit ich mich entsinne). Vielleicht wurde der registrierungsinterne Pfad in den neueren Windows verändert? Weiß ich nicht. Könnte man sonst vielleicht "manuell" über Autostart im Startmenü starten.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 19:35 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