Seite 4 von 6

Verfasst: 11.11.2008 12:48
von STARGÅTE
Ein Macro reicht auch schon ^^

Code: Alles auswählen

Macro CountList(List)
 ListSize(List) 
EndMacro

Verfasst: 11.11.2008 16:00
von memdee
#NULL hat geschrieben: - gearbeitet wird daran, wenn ich selbst was vermissen sollte, oder hier jemand ideen/bugs hat.
Cool/Praktisch wärs noch, wenn man einzelnen Fenstern ein Hintergrundbild zuweisen könnte (abweichend vom ausgewählten Design-Stil), als attribute z.B.:
sgx(#win01)\background = #sprite_blubb

Verfasst: 11.11.2008 16:04
von Thorium
Super :allright:
Dann werd ich mich mal mit dem hübschen Teil vergnügen. :mrgreen:
#NULL hat geschrieben: um 64bit hab ich mich noch nicht gekümmert. das nehme ich mir vielleicht mit der nächsten PB final vor. sollte ja nicht schwierig sein? ..ich muß mich mich erstmal belesen was da zu beachten ist.
Hier gibts Lesestoff zu dem Thema. Ist tatsächlich nicht schwierig. Nur jenachdem wie groß der Source ist eine Fleißarbeit. Es sollten möglichst alle Long-Variablen in Interger-Variablen umgeändert werden. Rückgabewerte, vorallem Handles, sind unter x64 Quad Word und unter x86 Double Word. Der Typ Integer wird halt automatisch unter x86 als Double Word und unter x64 als Quad Word kompiliert. Damit ist der Source dann sowohl 32Bit als auch 64Bit tauglich.

Wenn die WinAPI verwendet wird, sind da ggf. auch noch Sachen anzupassen.

Verfasst: 11.11.2008 17:32
von STARGÅTE
Weil ich es eben noch mal getestet habe muss ich noch ein paar BUGs melden:

- Wenn ich ein Button "runter drücke" findet bereits das Event statt, es sollte aber erst stattfinden wenn ich den Button wieder loslasse.

- Wenn man schnell (10Finger-Tech) im Editor schreibt dann kommt es daszu das er alles spamt. denn du hast vermutlich den Fehler gemacht, das du abfrags ob "Tasten" lange gedrückt werden, dies sollte jedoch für jedes Zeichen einzeln gemacht werden.

Verfasst: 11.11.2008 18:57
von memdee
Die Bugs kann ich bestätigen.

Übrigens auch sehr nett wäre eine Option, TextGadgets optional linksbündig oder zentriert zu setzen. Achja, und automatischer Zeilenumbruch im Textgadget wär auch gut ;)

edit: Ich möcht ja nicht nerven, aber gibts ne Möglichkeit, den Text, den man in ein Edit-Gadget eingegeben hat, "rauszuholen"? Einen Befehl wie GetGadgetText() hab ich in der Doku nicht gefunden.

edit2: Ok, vergesst es. Hätt ich mir ja denken können, dass es sgx(#gadget)\text ist ;) Das kommt davon, wenn man zu lang am Stück sich mit einer Sache befasst -.-

Verfasst: 13.11.2008 00:53
von memdee
Noch zwei Bugs hab ich gefunden:

Wenn ich ein Trackbar mittels sgxCellAssign() in ein Table einbinden will, werden Höhe und Breite der Trackbar ignoriert und stattdessen die Werte der Zelle verwendet.

Der zweite Bug: gleiche Situation, nur um den obigen Bug zu umgehen, wird die Trackbar nicht in die Zelle eingebunden, sondern einfach "über" das Table gelegt. Dabei wird der "Knopf" nicht an der richtigen Position dargestellt, sondern ca. 600 Pixel weiter rechts, also deutlich außerhalb der Trackbar.
Auch ein manuelles Versetzen des Knopfes mittels sgx(#trackbar)\state, sgxsetstate() oder sgx(#trackbar)\scrollpos bringt nichts, erst bei einem Klick mit der Maus auf die Trackbar wird der Knopf an der richtigen Position angezeigt.
Irgendwelche Ideen?

edit: Um den zweiten Bug mal anschaulicher zu machen: Screenshot

Verfasst: 16.11.2008 21:15
von #NULL
@stargate
sgx(id)\leftclick ist ein leftdown.
benutzte besser sgx(id)\leftup für deine aktionen.
das edit ist leider noch nicht so gut, muss ich gucken..


@memdee
du kannst die bilder des desings verändern:

Code: Alles auswählen

    sgx(id)\design\img[#sgx_DesignBackgroundNormal]\nr = img
    sgx(id)\design\img[#sgx_DesignBackgroundNormal]\w  = ImageWidth(img)
    sgx(id)\design\img[#sgx_DesignBackgroundNormal]\h  = ImageHeight(img)
    sgx(id)\design\img[#sgx_DesignBackgroundHover ]\nr = img
    sgx(id)\design\img[#sgx_DesignBackgroundHover ]\w  = ImageWidth(img)
    sgx(id)\design\img[#sgx_DesignBackgroundHover ]\h  = ImageHeight(img)
    sgxRefresh(id)
wobei img dein PB #image ist, aber du solltest eher ein neues design benutzen (am besten zweimal laden) und erst dann die änderungen vornehmen. allerdings werden die hintergünde momentan immer gekachelt (wenn der bereich größer ist, als das bild). es soll eigentlich mal ein 'backgroundMode' feld für die designs geben, um das hintergrundbild nur einmal (optional zentriert) zu zeichnen.
der gadgetstruktur direkt ein (optionales) hintergrundbild hintzufügen, würde eigentlich das konzept von designs hintergehen, die ja dazu da sind die optik zu definieren. es spricht auch nichts dagegen, getrennte designs für einzelne elemente zu verwenden.

die textausrichtung wird gemacht. ob und wie die für mehrezeiligen text funktioniert, weiß ich aber noch nicht.

meinst du mit automatischem zeilenumbruch, dass er jede zeile umbricht, bevor sie länger als das element breit ist?
du könntest die zeilenumbrüche in deinem text per hand für eine bestimme maximallänge anpassen: #LF löschen, und dann neue setzten in berücksichtigung deiner zeilenläge. vielleicht baue ich dafür doch noch ein flag ein.

das mit der trackbar guck ich mir auch an.


@thorium
danke die infos.
ist der defaulttyp in pb430b4 integer oder long? die hilfe sagt long, also reicht es nicht die typangabe bei den relevanten variablen weg zu lassen. ich muss sie als integer definieren.(?)

Verfasst: 16.11.2008 21:31
von Thorium
#NULL hat geschrieben: @thorium
danke die infos.
ist der defaulttyp in pb430b4 integer oder long? die hilfe sagt long, also reicht es nicht die typangabe bei den relevanten variablen weg zu lassen. ich muss sie als integer definieren.(?)
Die Hilfe ist noch nicht an die 4.30 angepasst. Integer ist jetzt neuer Defaulttyp.

Verfasst: 19.11.2008 16:04
von #NULL
changes.txt hat geschrieben:- sgxSetSate() fixed for scrollbar and trackbar.
- sgxText() got new parameter for text aligment flags: #sgxAlignTextLeft, #sgxAlignTextRight, #sgxAlignTextCenter
- sgxText() got new parameter for automatic word wrap.
@memdee
vielleicht kannst du die trackbar nochmal testen.

dass die breite der trackbar an die spaltenbreite angepasst wird, liegt am style der table. wenn du kein #sgxStyleFitCellW übergibst, sollte das nicht sein (..musst du mir mal sagen).

Verfasst: 19.11.2008 18:12
von memdee
Ah, ein Update! Klasse :)

Leider gibts nen Compilererror in Zeile 3632: Mid(): Incorrect number of parameters.
While TextWidth(Mid(text,linestart)) <--- da fehlt "length"

Der Trackbar-Bug ist tatsächlich verschwunden, vielen Dank :)

Mit den neuen Parametern für wordwrap und align muss ich mich erstmal anfreunden ;)