| |
|
|
Ulrich Milde | Hallo allerseits!
Ich würde gerne meinen Xprofed erweiter, und zwar nur die Iconbuttonleiste. Damit möchte ich erreichen, dass je nach Bedarf eine mit einem anderen Icon versehene PRFRun32 ins Profanverzeichnis kopiert wird. Das Kopieren wäre kein Problem und 12 mit unterschiedlichen Icons versehene PRFRun32 habe ich auch bereits. Das Problem ist vielmehr, wo die Icons für die Toolbar zu finden sind. Die scheint es nämlich nicht zu geben. Mit der Testversion von GConvert habe ich nicht nur im Profanverzeichnis alle in Exe und DLL vorhandenen Icons anzeigen lassen, sondern auch alle in Windows/System32. Es war keine Spur dieser Icons zu entdecken, die sind schlicht und einfach nicht vorhanden.
Im Sourcecode vom XProfed ist es recht ähnlich. In Zeile 1750 geht es los mit Controls erstellen und offnsichtlich geschieht das für die Toolbar in Zele 1767 mit Tbar#=New(RGHToolbar.... Aber auch da ist nicht nachvollziehbar, was und wo denn nun die eigentliche Quelle der Icons ist. Es wäre sehr nett, wenn mir jemand das Geheimnis der nicht vorhandenen, andererseits aber doch vorhandenen Icons erklären könnte.
Viele Grüsse vom Ulrich |
|
|
| |
|
|
|
RGH | Hallo,
die Toolbar verwendet keine einzelnen Icons, sondern eine Picturelist, will heißen: eine Bitmap, die alle Bilder enthält. Die entscheidende Zeile ist diese: KompilierenMarkierenSeparieren Die Bitmap heißt TOOLBAR und befindet sich sowohl in Interpreter als auch Runtime. (BTW: Die nachfolgenden Zeilen dienen dazu, die Toolbar-Icons transparent zu machen.)
Gruß Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 08.07.2007 ▲ |
|
|
|
|
| Hrm - wenn es Dir mehr um das Programmicon statt um die Toolbar geht: Du kannst Dein Programmicon aber auch einfacher mit KompilierenMarkierenSeparieren {$res icon meinprogrammicon.ico}
bestimmten. [...]
Somit müsstest Du nicht nur wegen einem anderen Programmicon immer gleich eine neue PrfRun32.Exe bauen. |
|
|
| |
|
|
|
Ulrich Milde | Ich hatte ja schon befürchtet dass die Toolbar Icons irgendwo tief verborgen sind. Allerdings hätte ich eher auf eine unscheinbare, unauffällige Anweisung irgendwo anders im Quellcode getippt als darauf, dass das Herz von Profan selbst die Icons versteckt Nun gut, die Imagemap auslesen, ein BMP oder GIF schreiben, das um meine eigenen Icons erweitern, zu viel Aufwand für mich. Schade dass die Imagemap nicht als Bildatei vorliegt, denn dann könnte man die recht einfach erweitern. OK, zurückschreiben geht dann nicht mehr, aber das ist ja auch unnötig. Vielleicht kann die interne Ressource Toolbar als externe Resource Bild der Ressource Toolbar verfügbar gemacht werden? Ich könnte mir durchaus vorstellen, dass es noch mehr in den Fingern juckt,, sich den XProfed nach eigenen Wünschen umzuschneidern, so wie ich es vorhabe. So ein Bild würde dabei sicherlich helfen.
XPSE nutze ich ja eh schon seit einiger Zeit, das allerdings nur, um den Code genauer auf Fehler abzuklopfen. Das XPSE mehr kann, ok, das wusste ich schon. Aber das eine einzige Zeile das Icon auswechseln kann, das ist mir neu. Vielen Dank für diesen Tip, der viel Aufwand und Speicherplatz einsparen wird
Viele Grüsse vom Ulrich |
|
|
| |
|
|
|
Ulrich Milde | Es hat mir doch keine Ruhe gelassen, denn ich wollte wirklich gerne sehen welch nette Icons in Profan versteckt sind. Eigentlich ja eine ganz einfache Sache, anstatt die Toolbar mit den Icons zu bestücken wird das Bild im Speicher angezeigt, aus dem die Icons kommen. So etwa sollte das funktionieren: KompilierenMarkierenSeparieren $H Windows.ph
Declare htoolbmp&
hToolBmp& = create(hPic, 0, TOOLBAR)
MCls %bmpx, %bmpy,~GetSysColor(1)
StartPaint -1
DrawPic hToolBmp&, 0, 0; -1 transparent: Hintergrund der Toolbar wird ~GetSysColor(15)
EndPaint
DeleteObject hToolBmp&
hToolBmp& = create(hPic, 0, &membmp)
DrawPic hToolBmp&,10,10;0
WaitKey
Pustekuchen, nichts passiert! Und damit wäre das Rätsel der verschwundenen Icons weiter offen. Wirklich schade, die Icons gefallen mir nämlich sehr gut. Weiss vielleicht jemand wie dieses gut versteckte Bild der Icons sichtbar gemacht werden kann?
Danke und Grüsse vom Ulrich |
|
|
| |
|
|
|
RGH | Hallo,
Du hast lediglich ein CLS als erste Zeile vergessen: Ohne Bildschirm keine Anzeige!
Außerdem kannst Du zum Betrachten der Original-Bitmap den Umweg zum Anpassen des Hintergrundes derselben an die eingestellten Farben auslassen: KompilierenMarkierenSeparieren Gruß Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 09.07.2007 ▲ |
|
|
|
|
Ulrich Milde | Kleine Ursache, grosse Wirkung (schäm...) Aber nun ist ja alles klar und ich habe nicht nur das BMP Bild der gut versteckten Icons, sondern gleich auch noch jedes Icon für sich selbst als nummerierte BMP Datei. Es gitb genug fertige Programme, die daraus eine eine *.ICO Daei machen können. Ich nehm für sowas Irfanview, umsont und sehr gut! Zum Schluss noch der Programmcode zum herausdestilieren der Icons.
Vielen Dank, Grüsse und Tschüss! KompilierenMarkierenSeparierenDieses Progamm extrahiert die 52 in Runtime und Interpreter vorhandenen
52 mini Icons (16*16 Pixel) und schreibt diese als BMP Dateien ins
Startverzeichnis dieses Programms. Das Urspungsbild wird auch gesichert.
Declare htoolbmp&,a$,i%,arbDir$
ArbDir$=Upper$(@GetDir$($Drive))+chr$(92)
hToolBmp& = create(hPic, 0, TOOLBAR)
Window 10,10 - %BMPX+32, 300
cls
DrawPic hToolBmp&,10,150;0
SaveBMP ArbDir$+ProfanMiniIcons.bmp,10,150 - %BMPX,%BMPY
i%=0
Whileloop 10,%BMPX,16
SaveBMP ArbDir$+Str$(i%)+PRFICO.BMP,&loop,150 - 16,16
inc i%
EndWhile
Print
print Im Bild sind ;%BMPX\%BMPY; Icons (16*16Pixel) enthalten
Print Bildgrösse x=;%BMPX, Bildgrösse y=;%BMPY
print
Print Das ganze Bild wird als ProfanMiniIcons.bmp im Programmverzeichnis gespeichert
Print Jedes dieser Icons wird als BMP Datei extrahiert und mit dem
Print Dateinamen nummerPRFICO.BMP gesichert
Print
print Ende mit ESC
while a$<>chr$(27)
a$=Inkey$()
endwhile
|
|
|
| |
|
|
|
| Vielleicht könntest Du daraus einen allgemeingültigeren Source machen und ihn als Codesnippet oder Helfer posten. |
|
|
| |
|
|
|
Ulrich Milde |
Vielleicht könntest Du daraus einen allgemeingültigeren Source machen und ihn als Codesnippet oder Helfer posten.
Da werde ich mir was einfallen lassen, denn ich bin jetzt schon etwas weiter als heute nachmittag. Aus den einzelnen BMPs wieder Icons machen, das allerdings tu ich mir über Profan nicht an. Irfanview kann das viel besser. (Irfanview > Datei > Batchkonvertierung/Umbennenung) Das ist ein für mich ziemlich aktuelles Projekt. Mit Ankündigunge hingegen, auch da bin ich etwas vorsichtiger geworden. Da liegt nämlich noch eine Leiche in meinem Keller, Arbeitstitel Stringfunktionssimulator..... Aber was kann ich dafür wenn der Jens erheblich schneller lernt als ich schreiben kann
Grüsse vom Ulrich |
|
|
| |
|
|