Back to the list ScreenGadget version: 1.20
CSHW89
-
Platform:
Windows Type: UserLIB/DLL Genre: - Language: German
read: 11489
9 / 4
BBCode Link
[url=http://www.purearea.net/pb/showcase/show.php?id=438]
[b]ScreenGadget v.1.20[/b][/url]


ScreenGadget ist die Umsetzung von Gadgets, Men?s, Requestern und Windows im Vollbildmodus.

Es fing mit einem einzigen ButtonGadget im Vollbildmodus an und ist heute, nach 5 Jahren, das gr??te Projekt, dass ich je programmiert habe:
18 Gadgettypen (Button, ButtonSprite, Calendar, CheckBox, ComboBox, Date, ExplorerList, Frame3D, HyperLink, List, Option, ProgressBar, ScrollBar, Spin, String, Text, TrackBar, Tree), Menu, PopupMenu, 5 Requester (Color, Input, Message, OpenFile, SaveFile) und Fenster.

Weitere Features:
- Fast 200 Befehle f?r die Verwaltung der Gadgets, Menus und Windows
- Callback-Proceduren bei Requestern erm?glicht Erweiterung der Requester (Vergr??erung des Fensters, hinzuf?gen weiterer Gadgets ect.)
- Callback-Netzwerk wie in Windows (SetWindowCallback())

Update 1.00 -> 1.05:
- (NEU) Auswahl minimales und maximales Datum f?r Calendar und Date
- (VERBESSERT) Benutzung von Trackbar und ScrollBar verbessert

Update 1.05 -> 1.10:
- (NEU) Ausgabe von Tabs mit Chr(9) (f?r Men?)
- (NEU) 2 Befehle: Get/SetTabLengthSZ()
- (GE?NDERT) Monatsdurchlauf bei Calendar und DateGadget langsamer
- (NEU) Daf?r schneller Jahreswechsel beim Draufklicken auf das Jahr (durch SpinGadget)
- (NEU) SetWindowCallback_() kann nun mehrmals aufgerufen werden. So werden Ereignisse verschiedener Gadgets auch zu verschiedenen Prozeduren gesendet.
- (VERBESSERT) Die maximale Anzahl an Fenstern von 10 ist aufgehoben. Man kann so viele Fenster ?ffnen, wie mal will.
- (GE?NDERT) Die vertikale Ausrichtung von Texten in die Mitte ist bei Text und HyperLinkGadgets aufgehoben. Nur noch bei Button, CheckBox und OptionGadget werden die Texte (vertikal) mittig angezeigt.
- (REPARIERT) #Any hat nicht mit Fenstern und Men?s funktioniert
- (REPARIERT) ComboBox hat nicht funktioniert, wenn die Box nach oben aufgeht.

Update 1.10 -> 1.20:
Die Benutzung von Fenstern wurde komplett ?berarbeitet. Dadurch kommen folgende ?nderungen zustande:
- (GE?NDERT) Alle Fenster k?nnen nun beliebig aktiviert werden.
- (NEU) Mit dem neuen Befehl SetActiveWindow_() kann ein Fenster aktiviert werden.
- (NEU) Neuer Befehl SetEnableWindow_()
- (GE?NDERT) Achtung! GetWindowID_() in GetActiveWindow_()
- (GE?NDERT) Achtung! ButtonSpriteGadget_() in ButtonImageGadget_()
- (NEU) E-Mail-Adresse f?r Bugs steht in der Hilfedatei (Geschichte)
[405 KB]    (1090 Downloads)

to vote LogIn or Register an account.




 
 
 
STARG?TE
01:38:30 2007-06-25
Geile Sache, nur dumm, das ich auch gerade an ScreenGadget+Window und alles drum herum arbeite ^^
Naja egal, Super Arbeit, und ich werde mich jetzt darauf Speziallisieren, das der Benutzer verschiedene Styles verwenden kann (also auch Texturen als Button), mal sehen, wie weit ich komme

Hroudtwolf
11:19:48 2007-06-25
Richtig gut !

Hab vor nem Jahr auch mal an sowas gearbeitet. Mangels Lust kam da nie mehr bei raus als ein Button- und ein String-Control.

Du wirst da sicherlich mit einigen Schwierigkeiten gek?mpft haben.
Denn der Screen bietet ja nicht alle Annehmlichkeiten der normalen Umgebung.

Hast du die Controls mithilfe von DrawFrameControl gezeichnet ?

Nun ein paar Bugs/Unsch?nheiten die mir auffielen:

- Das Calendar-Control ratert durch wenn man auf einen der Monatwechsel-Buttons l?ngere Zeit dr?ckt.
- Das Trackbar-Control besitzt keinen Mouse-Capture. Das hat zur Folge dass es die Mouse verliert wenn der User etwas mit der Mouse wackelt.
- Warum hast du die Lib nicht schon fr?her released ? ^^

MfG :)

Wolf

ts-soft
00:06:16 2007-06-25
Danke f?r die sch?ne Lib, werde es gleich mal testen, wollte nur anmerken, der Name
ist etwas ung?nstig gew?hlt. Gibt bereits eine gleichnamige Lib im PBOSL

Gru?
Thomas

CSHW89
18:12:59 2007-06-27
Halli Hallo,
wie geht?s denn so?

Danke schon mal f?r die positiven Bewertungen und Kommentare!

Ich habe zwei Fragen an Hroudtwolf. Was zum Teufel ist ?DrawFrameControl?. Also die Procedure EventGadget_() zeichnet unter anderem alle Gadgets. Die Gadgets werden also in jedem Frame neu gezeichnet und zwar in einer StartDrawing()..StopDrawing() Routine. Ich hoffe dies wird dir weiter helfen.

Die zweite Frage bezieht sich auf den CalendarGadgets. Meinst du, du m?chtest es so wie Windows haben, dass die Monate durchrattern. Anders k?nnte ich deinen Satz nicht verstehen. Denn bei mir rattert es nicht durch.

An Stargate:
Mach nur weiter, h?rt sich super an mit den verschiedenen Styles. Viel Gl?ck dabei

An sonsten bin ich st?ndig dabei, Bugs zu entfernen und hoffe auf eure Mithilfe, denn alle Bugs werde ich mit Sicherheit nicht finden.

An was ich derzeit arbeite:
- Date/Calendar: minimales und maximales Datum wird bald einzustellen sein.

Hroudtwolf
21:05:28 2007-06-28
Servus,

DrawFrameControl ist ne Windows-API mit der sich alle m?glichen Controls (Buttons, Checkboxes, etc...) ?ber einen DeviceContext zeichnen lassen.

Das CalendarGadget ratert bei mir durch wenn ich die Maus gedr?ckt halte bzw zu lange dr?cke.

MfG

Wolf


CSHW89
10:50:58 2007-07-07
Halli Hallo,
wie geht?s denn so?

Also APIs hab ich nicht zum Zeichnen benutzt. Ich hab alles selbst gezeichnet. Wie schon gesagt, ich hab vor Jahren damit angefangen. Da kannte ich noch keine APIs.

Das mit dem CalendarGadget kann ich nicht nachvollziehen. Die Anzahl der Frames, die das CalendarGadget wartet, h?ngt von der Framezahl pro Sekunde ab. So ist das Wechseln der Monate auf jedem Rechner gleich und ich finde es nicht zu schnell. Ich kann es aber beim n?chsten Update ein wenig langsamer machen.