![]() |
Re: Desktop Widget Engine (v0.31)
Ich bin früher auch immer nur über ein Proxy reingekommen und ich weiß wie blöd es ist, wenn man ein Programm hat, das ohne Internet extrem eingeschrängt ist. Von daher weiß ich wie blöd sowas ist und leider hab ich das Proxy-Problem bisher verdrängt. :zwinker:
|
Re: Desktop Widget Engine (v0.31)
meine prozedur:
Delphi-Quellcode:
das ganze hab ich mit OnMouseIn und OnSetFocus verbunden, funzt nich
procedure MouseEnter(Sender: TObject);
begin mainform.setFormAlpha(88); mainform.RenderForm; end; ich hab die prozedur einfach in den quelltext geschrieben ohne deklaration, die ja anscheinend nicht notwendig ist bei deinem widget-system ich will die alphawerte dynam. setzen, wenn ich rüberfahre soll sich der alphawert ändern. bezüglich objektinspektor, wär geil wenn ereignissprozeduren wie bei delphi bei doppelclick auf das ereignis einfach hinzugefügt werden und acha das mit dem minimieren bei deinem proggi funzt auch noch nicht richtig, nervt auch dass das immer im tna startet. wäre geil wenn du das programm in 2 proggis aufteilst, eines zum hinzufügen und bearbeiten von widgets und eines das die widgets anzeigt, damit spart man auch paar ressourcen |
Re: Desktop Widget Engine (v0.31)
Zitat:
Öffne das Widget im Editor und setze bei jedem UNTER-Element von wgImage1 die Eigenschaft "MouseTransparent" auf True. Dann wählst du wgImage1 aus (dort muss "MouseTransparent" auf False stehen) und weist dann die Events OnMouseIn und OnMouseOut zu. In die Events schreibst du dann ein SetFormAlpha und das RenderForm von oben - FERTIG! Zitat:
Zitat:
Zitat:
Dass mit einem seperaten Editor ist doch nicht resourcenschonender - da der Editor nur bei Bedarf geladen wird und somit normalerweise nicht im Speicher ist. |
Re: Desktop Widget Engine (v0.31)
Zitat:
und cool wäre auch ein rechtemaus menü für den quelltexteditor z.b. zum kopieren einfügen. ich hab nen gebrochenes schlüsselbein und nutze vorzugsweise die maus, das ständige umgreifen auf die tastatur zu strg+v dauert da ewig :wink: |
Re: Desktop Widget Engine (v0.31)
Zitat:
Zitat:
|
Re: Desktop Widget Engine (v0.31)
so hab grad was ausprobiert:
wenn ich mit dem minus zeichnen ( - ) rechnen will, müssen immer leerzeichen darum sein, ansonsten kommt nen fehler :shock: ich hab jetz ne fade funktion gemacht:
Delphi-Quellcode:
funktioniert wunderbar, nur wird das onmouseout event garnicht ausgeführt, wenn das onmousein event gerade noch ausgeführt wird:
procedure wgImage1MouseIn(Sender: TObject);
var i,k:integer; begin for i:=1 to 31 do begin mainform.setFormAlpha(100+(i*5)); mainform.RenderForm; sleep(10); end; end;
Delphi-Quellcode:
procedure wgImage1MouseOut(Sender: TObject);
begin sleep(700); mainform.setFormAlpha(100); mainform.RenderForm; end; edit: also zuerst onmouseout und dann onmousein funktioniert, aber erst onmousein und dann onmouseout funktioniert nicht |
Re: Desktop Widget Engine (v0.31)
Also wenn du Sleep() benutzt, wird das normale Windows.Sleep ausgeführt. Daher wird die komplette Anwendung (auch die anderen Widgets) für die Zeit stillgelegt. Somit wird bei dir auch kein Application.ProcessMessage aufgerufen, um auf neue Events zu regieren. Ich würd dir wirklich empfehlen, eher einen Timer zu verwenden. Das Objekt "Application" hab ich absichtlich nicht freigegeben, daher gibt es auch kein Application.ProcessMessages, von daher wird eine Delay-Funktion im Moment noch schwierig. Aber ich werd eine Delay-Funktion im nächsten Release mit einbauen, damit sowas nicht mehr so problemtisch wird.
Im Moment kann ich dir leider nur zu einem Timer raten. Zitat:
|
Re: Desktop Widget Engine (v0.31)
z.b.
Delphi-Quellcode:
var i,k:integer;
begin for k:=0 to 8769876 do begin i:=800-700; //kommt fehler i:=800 - 700; //funktioniert end; end; edit: wie kann ich nen timer hinzufügen ??? edit 2: das mit dem minuszeichen passiert innerhalb von schleifen |
Re: Desktop Widget Engine (v0.31)
Timer: in der Palette die Kategorie "Additional" auswählen, den TwgTimer auswählen und dann einfach auf die Form im Designer klicken. So wie in Delphi ;-)
Minuszeichen: Danke für den Hinsweis! Werd mir das anschauen, sobald ich wieder daheim bin, so in ca. 2-3 Tagen. |
Re: Desktop Widget Engine (v0.31)
sooo wollte gerade mal mit mainform.setLeft(100); die position verändern, dann wird aber der inhalt des mainform nicht mitverschoben, heißt: es ist nur noch ein teil des widgets zu sehen
edit: es wird die eigenschaft nicht vererbt, ich müsste für jedes objekt des programmes die position extra setzen Gruß Jokerface |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz