Größe der Bilder in der Miniaturansichtsdarstellung

German support forum

Moderators: white, Hacker, Stefan2

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

Post by *ecki_c »

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
User avatar
van Dusen
Power Member
Power Member
Posts: 684
Joined: 2004-09-16, 19:30 UTC
Location: Sinzig (Rhein), Germany

Post by *van Dusen »

Hallo ecki_c,

vielen Dank für die Rückmeldung und fürs Bereitstellen der angepassten Versionen!
ecki_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).
Der DLL-Funktion PostMessage muss seit AutoIt3-Version 3.3.0.0 ein weiterer Aufrufparameter übergeben werden. Wenn Du die Zeile

Code: Select all

DllCall("user32.dll", "int", "PostMessage", "hwnd", WinGetHandle("classname=TTOTAL_CMD"), "int", 1075, "int", $intMsg)
änderst in

Code: Select all

DllCall("user32.dll", "int", "PostMessage", "hwnd", WinGetHandle("classname=TTOTAL_CMD"), "int", 1075, "int", $intMsg, "int", 0)
(also , "int", 0 anfügst), dann funktionieren auch mit AutoIt3 3.3.0.0 kompilierte Scripte ohne Access Violation.
ecki_c
Junior Member
Junior Member
Posts: 39
Joined: 2006-10-12, 06:24 UTC
Location: Chemnitz

Post by *ecki_c »

Hallo van Dusen,

Dein Hinweis klappte, jetzt geht es auch mit AutoIt Vers 3.3.0.0.

Kannst Du mir sagen, was an der Version 3.3 besser ist als 3.2? Der Code wird immerhin 262 kB statt 178 kB.

Danke sehr.

Viele Grüße

Ecki_C
User avatar
praetor
Junior Member
Junior Member
Posts: 75
Joined: 2003-05-24, 13:46 UTC

Post by *praetor »

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
User avatar
van Dusen
Power Member
Power Member
Posts: 684
Joined: 2004-09-16, 19:30 UTC
Location: Sinzig (Rhein), Germany

Post by *van Dusen »

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.
User avatar
praetor
Junior Member
Junior Member
Posts: 75
Joined: 2003-05-24, 13:46 UTC

Post by *praetor »

Hallo van Dusen,
vielen Dank.
Ich hoffe nur, ich bekomme das compiliert. Mit AutoIt habe ich keine Erfahrungen.

Gruß
praetor
User avatar
van Dusen
Power Member
Power Member
Posts: 684
Joined: 2004-09-16, 19:30 UTC
Location: Sinzig (Rhein), Germany

Post by *van Dusen »

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
User avatar
Herr Mann
Power Member
Power Member
Posts: 574
Joined: 2004-05-30, 17:11 UTC
Location: Niedersachsen, Deutschland

Post by *Herr Mann »

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.
User avatar
praetor
Junior Member
Junior Member
Posts: 75
Joined: 2003-05-24, 13:46 UTC

Post by *praetor »

Hallo van Dusen,

funktioniert prima. Merci!

Gruß
praetor
ecki_c
Junior Member
Junior Member
Posts: 39
Joined: 2006-10-12, 06:24 UTC
Location: Chemnitz

Post by *ecki_c »

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.
gokupk
Junior Member
Junior Member
Posts: 31
Joined: 2009-04-26, 13:29 UTC

Post by *gokupk »

hi
es sind leider alle datein in dem threat gelöscht oder passwortgeschüzt, könnte deshalb jemand die aktuelle version noch mal hochladen?
ecki_c
Junior Member
Junior Member
Posts: 39
Joined: 2006-10-12, 06:24 UTC
Location: Chemnitz

Post by *ecki_c »

Hallo,
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?
ich habe die Dateien neu hochgeladen:

http://www.kvb-chemnitz.de/Eckart/ThumbSizeSwitch.zip

(bitte Link exakt so eingeben).

Viele Grüße

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

ThumbSizeSwitch

Post by *ecki_c »

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
User avatar
Stefan2
Power Member
Power Member
Posts: 4133
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Re: ThumbSizeSwitch

Post by *Stefan2 »

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)





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

Post by *ecki_c »

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
Post Reply