ThumbSizeSwitch Miniaturanischtgröße ändern

German support forum

Moderators: sheep, Hacker, Stefan2, white

Post Reply
ecki_c
Junior Member
Junior Member
Posts: 38
Joined: 2006-10-12, 06:24 UTC
Location: Chemnitz

ThumbSizeSwitch Miniaturanischtgröße ändern

Post by *ecki_c »

Hallo,

anknüpfend an diese Diskussion vor einigen Jahren

https://ghisler.ch/board/viewtopic.php?f=2&t=12237&sid=2472d676357d557c2cc2d1d87718fa97

muss ich wieder einmal um Hilfe bitten.

Ich habe in der Buttonbar das Einschalten der Miniaturansichten für die Dateien und deren Vergößerung/Verkleinerung eingebaut.
Hier kann man die benötigten Dateien herunter laden. Buton.jpg zeigt die erweiterte Buttonbar.

Hier kann man sich alle Dateien herunter laden:

https://c.gmx.net/@324449226194949446/5ioV6_QIRFO6FwHsDMCxAA

Ich habe die Dateien ThumbSizeSwitchPos.au3 und ThumbSizeSwitchNeg.au3 an den aktuellen OK-Button (46) angepasst. Leider funktioniert trotzdem die automatische Umschaltung der Miniaturansichtsgröße nicht. Es wird zwar das entsprechende Einstellungsmenü aufgerufen, aber der aktuelle Zustand wird nicht mehr geändert. Es bleibt beim Zwischenspeicherordner und er Pixelanzahl.

Woran kann das liegen? Früher ging das wunderbar. Wer kennt sich aus?

Vielen Dank für Hilfe.



Wenn das Herunterladen nicht klappt, dann sind hier 2 wichtige Dateien:

ThumbSizeSwitchPos-Button46

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Compression=4
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
AutoItSetOption("WinTitleMatchMode", 4)

; Die Programmierung basiert auf folgendem Link, aber reduziert auf das Durchlaufen einer INI-Tabelle, hier ThumbSizeSwitchPos.ini.
; http://rapidshare.com/files/1864881/ThumbSizeSwitch_1.0.zip.html


If WinExists("classname=TTOTAL_CMD") Then

;*** ThumbSizeSwitchPos.ini lesen
$strIniFile = @ScriptDir & "\ThumbSizeSwitchPos.ini"
$strIniSection = IniReadSectionNames($strIniFile)

;; $intIniSectionMatch = 0

;*** TC-Konfigurationsdialog "Miniaturansicht" aufrufen und aktuelle Thumbs-Einstellungen lesen (cm_ThumbnailsConfig=482;Conf: Thumbnails)
_PostMessage(482)
;~ WinWait("classname=TDLGCONFIGALL")
WinWaitActive("classname=TDLGCONFIGALL")
;~ WinSetState("classname=TDLGCONFIGALL", "", @SW_HIDE)
$strThumbsLocation = ControlGetText("classname=TDLGCONFIGALL", "", "TEdit7")
$strThumbsWidth = ControlGetText("classname=TDLGCONFIGALL", "", "TEdit6")
$strThumbsHeight = ControlGetText("classname=TDLGCONFIGALL", "", "TEdit5")

;; If $intIniSectionMatch = 0 Then
;*** Diejenige Section der INI-Datei bestimmen, die auf die aktuell konfigurierte folgt
For $intIniSection = 1 To $strIniSection[0]
If $strThumbsLocation = IniRead($strIniFile, $strIniSection[$intIniSection], "ThumbsLocation", "") Then ExitLoop
Next
$intIniSectionMatch = Mod($intIniSection, $strIniSection[0]) + 1
; Folgende Zeilen sollen Rundumlauf verhindern (also von lettem INI-Eintrag nach erstem). Aber es gibt Probleme, wenn als
; wenn als Datenbankverzeichnis eines angegeben ist, das nicht in der INI-Datei vorkommt.
; If $intIniSectionMatch < $intIniSection Then
; $intIniSectionMatch = $intIniSection
; EndIf
;; EndIf

;*** Neue Thumbs-Einstellungen setzen
$strThumbsLocation = IniRead($strIniFile, $strIniSection[$intIniSectionMatch], "ThumbsLocation", $strThumbsLocation)
$strThumbsWidth = IniRead($strIniFile, $strIniSection[$intIniSectionMatch], "ThumbsWidth", $strThumbsWidth)
$strThumbsHeight = IniRead($strIniFile, $strIniSection[$intIniSectionMatch], "ThumbsHeight", $strThumbsHeight)
ControlSetText("classname=TDLGCONFIGALL", "", "TEdit7", $strThumbsLocation)
ControlSetText("classname=TDLGCONFIGALL", "", "TEdit6", $strThumbsWidth)
ControlSetText("classname=TDLGCONFIGALL", "", "TEdit5", $strThumbsHeight)
;*** "OK"-Button
ControlClick("classname=TDLGCONFIGALL", "", "TButton46")

EndIf

Func _PostMessage($intMsg)
DllCall("user32.dll", "int", "PostMessage", "hwnd", WinGetHandle("classname=TTOTAL_CMD"), "int", 1075, "int", $intMsg, "int", 0)
EndFunc



ThumbSizeSwitchPos.ini

[Groesse1]
ThumbsLocation=%$LOCAL_APPDATA%\Ghisler1
ThumbsWidth=16
ThumbsHeight=16

[Groesse2]
ThumbsLocation=%$LOCAL_APPDATA%\Ghisler2
ThumbsWidth=32
ThumbsHeight=32

[Groesse3]
ThumbsLocation=%$LOCAL_APPDATA%\Ghisler3
ThumbsWidth=48
ThumbsHeight=48

[Groesse4]
ThumbsLocation=%$LOCAL_APPDATA%\Ghisler4
ThumbsWidth=64
ThumbsHeight=64

[Groesse5]
ThumbsLocation=%$LOCAL_APPDATA%\Ghisler5
ThumbsWidth=80
ThumbsHeight=80

[Groesse6]
ThumbsLocation=%$LOCAL_APPDATA%\Ghisler6
ThumbsWidth=96
ThumbsHeight=96

[Groesse7]
ThumbsLocation=%$LOCAL_APPDATA%\Ghisler7
ThumbsWidth=128
ThumbsHeight=128

[Groesse8]
ThumbsLocation=%$LOCAL_APPDATA%\Ghisler8
ThumbsWidth=160
ThumbsHeight=160

[Groesse9]
ThumbsLocation=%$LOCAL_APPDATA%\Ghisler9
ThumbsWidth=192
ThumbsHeight=192

User avatar
matixx
Power Member
Power Member
Posts: 1067
Joined: 2003-03-21, 02:37 UTC
Location: ....
Contact:

Re: ThumbSizeSwitch Miniaturanischtgröße ändern

Post by *matixx »

2ghisler(Author)

Wäre es möglich die Größenänderung der Miniaturansichten mittels STRG-Mausrad zu erzeugen?

Beispiel: im Explorer kann man damit alle Ansichtsmodi durchschalten, extrem praktisch.

STRG-Mausrad schaltet durch in folgender Reihenfolge:

1. Extra large Icons --> alle verfügbaren Größen
2. Large Icons --> alle verfügbaren Größen
3. Medium Icons --> alle verfügbaren Größen
4. Small Icons --> alle verfügbaren Größen
5. List
6. Details
7. Tiles
8. Content

Feature?
#101512

ecki_c
Junior Member
Junior Member
Posts: 38
Joined: 2006-10-12, 06:24 UTC
Location: Chemnitz

Re: ThumbSizeSwitch Miniaturanischtgröße ändern

Post by *ecki_c »

Hallo,

meine weiteren vielen Probiererei hat zu keinem positiven Ergebnis geführt. Ich konnte nur feststellen, dass die TC-Version 9.22 einwandfrei klappt. Eine andere Version außer den aktuellen 9.50 habe ich leider nicht mehr.

Ich kann mir nur vorstellen, dass sich irgendeine verwendete Variable geändert hat. Vielleicht gibt es hier doch jemand, der Hinweise hat?

Danke sehr.

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 39575
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: ThumbSizeSwitch Miniaturanischtgröße ändern

Post by *ghisler(Author) »

Wahrscheinlich haben sich die internen Nummern des scriptingtools für Dialogelemente TEdit7 oder TButton46 verschoben, weil neue Konfigurationsoptionen hinzugekommen sind.

Im verlinkten Thread
https://ghisler.ch/board/viewtopic.php?f=2&t=12237
ist beschrieben, wie man die neuen Nummern herausfinden kann.
Author of Total Commander
http://www.ghisler.com

ecki_c
Junior Member
Junior Member
Posts: 38
Joined: 2006-10-12, 06:24 UTC
Location: Chemnitz

Re: ThumbSizeSwitch Miniaturanischtgröße ändern

Post by *ecki_c »

Hallo,

vielen Dank für den Hinweis. Dass sich da noch andere Variablen geändert haben könnten, hatte ich zwar vermutet, als Laie aber nicht gewusst, wie ich das herausfinden kann. Nun klappt alles wieder.

Unter folgendem Link kann alles benötigte herunter geladen werden
https://c.gmx.net/@820364600447866511/2Xgep_KSQHmcsrNLruqd3g

Die Datei ThumbSizeSwitchPos-8,6,5,46.au3 hat folgenden Inhalt (ThumbSizeSwitchNeg-8,6,5,46.au3 entsprechend; 8,6,5,46 dienen als Anmerkung, welche Instanzen verwendet werden):

============

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Compression=4
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
AutoItSetOption("WinTitleMatchMode", 4)

; Die Programmierung basiert auf folgendem Link, aber reduziert auf das Durchlaufen einer INI-Tabelle, hier ThumbSizeSwitchPos.ini.
; http://rapidshare.com/files/1864881/ThumbSizeSwitch_1.0.zip.html


If WinExists("classname=TTOTAL_CMD") Then

;*** ThumbSizeSwitchPos.ini lesen
$strIniFile = @ScriptDir & "\ThumbSizeSwitchPos.ini"
$strIniSection = IniReadSectionNames($strIniFile)

;; $intIniSectionMatch = 0

;*** TC-Konfigurationsdialog "Miniaturansicht" aufrufen und aktuelle Thumbs-Einstellungen lesen (cm_ThumbnailsConfig=482;Conf: Thumbnails)
_PostMessage(482)
;~ WinWait("classname=TDLGCONFIGALL")
WinWaitActive("classname=TDLGCONFIGALL")
;~ WinSetState("classname=TDLGCONFIGALL", "", @SW_HIDE)
$strThumbsLocation = ControlGetText("classname=TDLGCONFIGALL", "", "TAltEdit8")
$strThumbsWidth = ControlGetText("classname=TDLGCONFIGALL", "", "TAltEdit6")
$strThumbsHeight = ControlGetText("classname=TDLGCONFIGALL", "", "TAltEdit5")

;; If $intIniSectionMatch = 0 Then
;*** Diejenige Section der INI-Datei bestimmen, die auf die aktuell konfigurierte folgt
For $intIniSection = 1 To $strIniSection[0]
If $strThumbsLocation = IniRead($strIniFile, $strIniSection[$intIniSection], "ThumbsLocation", "") Then ExitLoop
Next
$intIniSectionMatch = Mod($intIniSection, $strIniSection[0]) + 1
; Folgende Zeilen sollen Rundumlauf verhindern (also von lettem INI-Eintrag nach erstem). Aber es gibt Probleme, wenn als
; wenn als Datenbankverzeichnis eines angegeben ist, das nicht in der INI-Datei vorkommt.
; If $intIniSectionMatch < $intIniSection Then
; $intIniSectionMatch = $intIniSection
; EndIf
;; EndIf

;*** Neue Thumbs-Einstellungen setzen
$strThumbsLocation = IniRead($strIniFile, $strIniSection[$intIniSectionMatch], "ThumbsLocation", $strThumbsLocation)
$strThumbsWidth = IniRead($strIniFile, $strIniSection[$intIniSectionMatch], "ThumbsWidth", $strThumbsWidth)
$strThumbsHeight = IniRead($strIniFile, $strIniSection[$intIniSectionMatch], "ThumbsHeight", $strThumbsHeight)
ControlSetText("classname=TDLGCONFIGALL", "", "TAltEdit8", $strThumbsLocation)
ControlSetText("classname=TDLGCONFIGALL", "", "TAltEdit6", $strThumbsWidth)
ControlSetText("classname=TDLGCONFIGALL", "", "TAltEdit5", $strThumbsHeight)
;*** "OK"-Button
ControlClick("classname=TDLGCONFIGALL", "", "TButton46")

EndIf

Func _PostMessage($intMsg)
DllCall("user32.dll", "int", "PostMessage", "hwnd", WinGetHandle("classname=TTOTAL_CMD"), "int", 1075, "int", $intMsg, "int", 0)
EndFunc

=======

Viel Erfolg für Nachnutzer wünscht

ecki_c.

ecki_c
Junior Member
Junior Member
Posts: 38
Joined: 2006-10-12, 06:24 UTC
Location: Chemnitz

Re: ThumbSizeSwitch Miniaturanischtgröße ändern

Post by *ecki_c »

Hallo,

wie ich feststellen musste, haben die relevanten Größen in der 32- und in der 64-Bit-Version unterschiedliche Instanzen. Es ist daher leider nicht möglich, für beide Versionen die selben Größenumschaltdateien zu verwenden. In der 64-bit-Version heißen die entsprechenden Parameter:
Edit8, Edit6, Edit5, Button21.

Die ergänzten Dateien sind hier zu beziehen: https://c.gmx.net/@820364600447866511/LWwoa0zhSDOhXM0BqtywJQ

VG

ecki_c.

Post Reply