Größe der Bilder in der Miniaturansichtsdarstellung
Moderators: Hacker, Stefan2, white
Hallo van Dusen,
Danke für die Änderungshinweise. Ich habe sie eingearbeitet und nun klappt wieder alles wie gewohnt. Die nötigen Quellen und kompilierten Dateien kann man sich holen von http://www.kvb-chemnitz.de/Eckart/ThumbSizeSwitch.zip (Schreibeweise beachten!).
Ein wichtiger Hinweis: Ich habe zuerst die korrigierten Dateien mit AutoIt v.3.3.0.0 ausprobiert, das führt aber zu einer Fehlermeldung (Programmabsturz, sowohl bei alter als auch neuer Scriptversion). AutoIt v.3.2.0.1 funktioniert (die übersetzte .exe-Datei ist nur ca. 280 kb groß statt 360 kb), alles unter Windows 2000.
Viele Grüße
Ecki_C
Danke für die Änderungshinweise. Ich habe sie eingearbeitet und nun klappt wieder alles wie gewohnt. Die nötigen Quellen und kompilierten Dateien kann man sich holen von http://www.kvb-chemnitz.de/Eckart/ThumbSizeSwitch.zip (Schreibeweise beachten!).
Ein wichtiger Hinweis: Ich habe zuerst die korrigierten Dateien mit AutoIt v.3.3.0.0 ausprobiert, das führt aber zu einer Fehlermeldung (Programmabsturz, sowohl bei alter als auch neuer Scriptversion). AutoIt v.3.2.0.1 funktioniert (die übersetzte .exe-Datei ist nur ca. 280 kb groß statt 360 kb), alles unter Windows 2000.
Viele Grüße
Ecki_C
Hallo ecki_c,
vielen Dank für die Rückmeldung und fürs Bereitstellen der angepassten Versionen!
änderst in
(also , "int", 0 anfügst), dann funktionieren auch mit AutoIt3 3.3.0.0 kompilierte Scripte ohne Access Violation.
vielen Dank für die Rückmeldung und fürs Bereitstellen der angepassten Versionen!
Der DLL-Funktion PostMessage muss seit AutoIt3-Version 3.3.0.0 ein weiterer Aufrufparameter übergeben werden. Wenn Du die Zeileecki_c wrote:Ein wichtiger Hinweis: Ich habe zuerst die korrigierten Dateien mit AutoIt v.3.3.0.0 ausprobiert, das führt aber zu einer Fehlermeldung (Programmabsturz, sowohl bei alter als auch neuer Scriptversion).
Code: Select all
DllCall("user32.dll", "int", "PostMessage", "hwnd", WinGetHandle("classname=TTOTAL_CMD"), "int", 1075, "int", $intMsg)
Code: Select all
DllCall("user32.dll", "int", "PostMessage", "hwnd", WinGetHandle("classname=TTOTAL_CMD"), "int", 1075, "int", $intMsg, "int", 0)
Hallo Ecki_C,
plötzlich funktioniert ThumbSizeSwitch nicht mehr und ich habe keine rechte Idee, woran das liegen könnte. Die INI's werden offensichtlich geladen (löscht man sie vorübergehend, kommt ja ein Fehler) und der TC-Dialog für die Miniaturansicht poppt auch auf. Aber es wird offensichtlich nichts eingetrage. Kann das an Version 7.5a liegen?
Oder hast Du sonst eine Idee?
Grüße
praetor
plötzlich funktioniert ThumbSizeSwitch nicht mehr und ich habe keine rechte Idee, woran das liegen könnte. Die INI's werden offensichtlich geladen (löscht man sie vorübergehend, kommt ja ein Fehler) und der TC-Dialog für die Miniaturansicht poppt auch auf. Aber es wird offensichtlich nichts eingetrage. Kann das an Version 7.5a liegen?
Oder hast Du sonst eine Idee?
Grüße
praetor
Hallo praetor,
der "OK"-Button (Class: TButton) im Dialog "Konfigurieren" > "Miniaturansicht" hat jetzt die Instance-Nummer, nämlich "31". TButton30 ist jetzt der "Abbrechen"-Button. Im AutoIt3-Script brauchst Du also nur folgende kleine Änderung vorzunehmen:
Ändern von:
[face=courier]ControlClick("classname=TDLGCONFIGALL", "", "TButton30")[/face]
Ändern in:
[face=courier]ControlClick("classname=TDLGCONFIGALL", "", "TButton31")[/face]
Damit sollte das Script wieder funktionieren.
der "OK"-Button (Class: TButton) im Dialog "Konfigurieren" > "Miniaturansicht" hat jetzt die Instance-Nummer, nämlich "31". TButton30 ist jetzt der "Abbrechen"-Button. Im AutoIt3-Script brauchst Du also nur folgende kleine Änderung vorzunehmen:
Ändern von:
[face=courier]ControlClick("classname=TDLGCONFIGALL", "", "TButton30")[/face]
Ändern in:
[face=courier]ControlClick("classname=TDLGCONFIGALL", "", "TButton31")[/face]
Damit sollte das Script wieder funktionieren.
Hallo praetor,
basierend auf ecki_cs Fassung des Tools (http://www.kvb-chemnitz.de/Eckart/ThumbSizeSwitch.zip) habe ich die beiden Scripte ThumbSizeSwitchNeg.au3 und ThumbSizeSwitchPos.au3 für TC V7.50a / AutoIt3 V3.3.0.0 angepasst und kompiliert. Die beiden geänderten Scripte und die daraus erzeugten EXEs kannst Du hier herunterladen:
http://rapidshare.de/files/48444088/ThumbSizeSwitch_75a.zip.html
basierend auf ecki_cs Fassung des Tools (http://www.kvb-chemnitz.de/Eckart/ThumbSizeSwitch.zip) habe ich die beiden Scripte ThumbSizeSwitchNeg.au3 und ThumbSizeSwitchPos.au3 für TC V7.50a / AutoIt3 V3.3.0.0 angepasst und kompiliert. Die beiden geänderten Scripte und die daraus erzeugten EXEs kannst Du hier herunterladen:
http://rapidshare.de/files/48444088/ThumbSizeSwitch_75a.zip.html
- Herr Mann
- Power Member
- Posts: 574
- Joined: 2004-05-30, 17:11 UTC
- Location: Niedersachsen, Deutschland
Im (aktuellen) Windows Explorer kann man beinahe stufenlos zoomen.
Auch andere Programme haben mittlerweile einen entsprechenden Regler.
Nur im TotalCommander muss man wieder improvisieren.
Gut, ich will ja nicht schon wieder meckern...
Aber mindestens drei verschiedene Größen sollten doch im Standard möglich sein.
Ich weiß auch, das sich vieles nicht von heute auf morgen ändern lässt.
Gerade bei solchen und auch bei anderen Kleinigkeiten merkt man, das der TotalCommander was die GUI betrifft immer wieder hinterher hinkt oder sagen wir es freundlicher, hinter seinen Möglichkeiten zurückbleibt.
Auch andere Programme haben mittlerweile einen entsprechenden Regler.
Nur im TotalCommander muss man wieder improvisieren.

Gut, ich will ja nicht schon wieder meckern...

Aber mindestens drei verschiedene Größen sollten doch im Standard möglich sein.
Ich weiß auch, das sich vieles nicht von heute auf morgen ändern lässt.
Gerade bei solchen und auch bei anderen Kleinigkeiten merkt man, das der TotalCommander was die GUI betrifft immer wieder hinterher hinkt oder sagen wir es freundlicher, hinter seinen Möglichkeiten zurückbleibt.
Hallo,
ich komme mit meiner Antwort etwas spät, aber mir war noch gar nicht aufgefallen, dass sich schon wieder was geändert hat. Warum denn das? van Dusen hat ja die Lösung parat und ich werde es auch ausprobieren und wieder neu komplett hochladen (http://www.kvb-chemnitz.de/Eckart/ThumbSizeSwitch.zip)
Viele Grüße
Ecki_C.
ich komme mit meiner Antwort etwas spät, aber mir war noch gar nicht aufgefallen, dass sich schon wieder was geändert hat. Warum denn das? van Dusen hat ja die Lösung parat und ich werde es auch ausprobieren und wieder neu komplett hochladen (http://www.kvb-chemnitz.de/Eckart/ThumbSizeSwitch.zip)
Viele Grüße
Ecki_C.
Hallo,
http://www.kvb-chemnitz.de/Eckart/ThumbSizeSwitch.zip
(bitte Link exakt so eingeben).
Viele Grüße
Eckart.
ich habe die Dateien neu hochgeladen:gokupk wrote:hi
es sind leider alle datein in dem threat gelöscht oder passwortgeschüzt, könnte deshalb jemand die aktuelle version noch mal hochladen?
http://www.kvb-chemnitz.de/Eckart/ThumbSizeSwitch.zip
(bitte Link exakt so eingeben).
Viele Grüße
Eckart.
ThumbSizeSwitch
Hallo,
ich beziehe mich auf eine länger zurückliegende Diskussion:
http://ghisler.ch/board/viewtopic.php?t=12237&highlight=miniaturansicht
Die damals erstellten Scripte bzw. mit AutoIt erstellten ausführbaren Dateien funktionieren auch heute noch. Allerdings findet das automatische Drücken von OK nicht mehr statt. D. h., dass das Menü Konfigurieren -> Einstellungen -> Miniaturansicht aufgerufen und dort die notwendigen Eintragungen zur Bildgröße vorgenommen werden, aber man muss noch auf OK klicken. Früher ging das mal automatisch. Woran liegt das?
Vielen Dank,
ecki_c
ich beziehe mich auf eine länger zurückliegende Diskussion:
http://ghisler.ch/board/viewtopic.php?t=12237&highlight=miniaturansicht
Die damals erstellten Scripte bzw. mit AutoIt erstellten ausführbaren Dateien funktionieren auch heute noch. Allerdings findet das automatische Drücken von OK nicht mehr statt. D. h., dass das Menü Konfigurieren -> Einstellungen -> Miniaturansicht aufgerufen und dort die notwendigen Eintragungen zur Bildgröße vorgenommen werden, aber man muss noch auf OK klicken. Früher ging das mal automatisch. Woran liegt das?
Vielen Dank,
ecki_c
Re: ThumbSizeSwitch
ecki_c wrote:, aber man muss noch auf OK klicken.
Früher ging das mal automatisch. Woran liegt das?
Sieh dir mal oben das Post von van Dusen an:
ControlClick("classname=TDLGCONFIGALL", "", "TButton30")
Verwende "AU3_Spy.exe" aus dem AutoHotkey-Ordner,
um zu sehen, welchen Namen (wie "TButton30") der gewünschte Button (jetzt) hat.
(AU3_Spy.exe starten und den Mauszeiger über den Button halten, dann den Wert in AU3_Spy-Dialog ablesen)
Hallo,
"TButton31" statt "TButton30" ist bereits in der ThumbSizeSwitchPos.au3 (Name bei mir so) eingetragen. Daran kann es also nicht liegen. Unten ist der Text, der schon mal funktioniert hat. Rundumlauf (s. u.) ist bewusst nicht ausgeschaltet.
Meinst Du, Stefan2, wirklich AU3_Spy.exe aus dem _AutoHotkey-Ornder? Ich habe AutoIt verwendet, da gibt es keine AU3_Spy.exe.
Viele Grüße
Ecki_C
-------
#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", "", "TButton31")
EndIf
Func _PostMessage($intMsg)
DllCall("user32.dll", "int", "PostMessage", "hwnd", WinGetHandle("classname=TTOTAL_CMD"), "int", 1075, "int", $intMsg, "int", 0)
EndFunc
"TButton31" statt "TButton30" ist bereits in der ThumbSizeSwitchPos.au3 (Name bei mir so) eingetragen. Daran kann es also nicht liegen. Unten ist der Text, der schon mal funktioniert hat. Rundumlauf (s. u.) ist bewusst nicht ausgeschaltet.
Meinst Du, Stefan2, wirklich AU3_Spy.exe aus dem _AutoHotkey-Ornder? Ich habe AutoIt verwendet, da gibt es keine AU3_Spy.exe.
Viele Grüße
Ecki_C
-------
#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", "", "TButton31")
EndIf
Func _PostMessage($intMsg)
DllCall("user32.dll", "int", "PostMessage", "hwnd", WinGetHandle("classname=TTOTAL_CMD"), "int", 1075, "int", $intMsg, "int", 0)
EndFunc