AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Desktop Widget Engine (v0.72)
Thema durchsuchen
Ansicht
Themen-Optionen

Desktop Widget Engine (v0.72)

Ein Thema von littleDave · begonnen am 27. Aug 2008 · letzter Beitrag vom 14. Aug 2011
Antwort Antwort
Seite 5 von 27   « Erste     345 6715     Letzte »    
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.875 Beiträge
 
Delphi 11 Alexandria
 
#1

Re: Desktop Widget Engine (v0.31)

  Alt 11. Sep 2008, 19:30
Kein Problem; ist mir halt aufgefallen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

Registriert seit: 27. Apr 2006
Ort: München
556 Beiträge
 
Delphi 7 Professional
 
#2

Re: Desktop Widget Engine (v0.31)

  Alt 11. Sep 2008, 20:08
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.
Jabber: littleDave@jabber.org
in case of 1 is 0 do external raise while in public class of object array else repeat until 1 is 0
  Mit Zitat antworten Zitat
Benutzerbild von jokerfacehro
jokerfacehro

Registriert seit: 13. Feb 2007
306 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Desktop Widget Engine (v0.31)

  Alt 12. Sep 2008, 11:13
meine prozedur:

Delphi-Quellcode:
procedure MouseEnter(Sender: TObject);
begin

mainform.setFormAlpha(88);
mainform.RenderForm;

end;
das ganze hab ich mit OnMouseIn und OnSetFocus verbunden, funzt nich
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
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

Registriert seit: 27. Apr 2006
Ort: München
556 Beiträge
 
Delphi 7 Professional
 
#4

Re: Desktop Widget Engine (v0.31)

  Alt 12. Sep 2008, 15:28
Zitat von jokerfacehro:
meine prozedur:
[...]
das ganze hab ich mit OnMouseIn und OnSetFocus verbunden, funzt nich
ich hab die prozedur einfach in den quelltext geschrieben ohne deklaration, die ja anscheinend nicht notwendig ist bei deinem widget-system
Das stimmt schon bisher. Jedoch hab ich gerade gesehen, dass es noch ein Problem gibt: dass OnSetFocus und das OnLostFocus der WidgetForm wird nicht ausgeführt. Um ein Ziel doch noch relativ einfach zu erreichen, kannst du folgendes machen:

Ö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 von jokerfacehro:
bezüglich objektinspektor, wär geil wenn ereignissprozeduren wie bei delphi bei doppelclick auf das ereignis einfach hinzugefügt werden
Das gibts schon. Hier mal ein Zitat aus dem ersten Post :
Zitat:
Events zuweisen:
Um einer Komponente ein Event zuzuweisen solltet ihr im Object-Inspector den Tab "Events" auswählen. Dort klickst ihr doppelt auf den Namen des Events. Dann wird automatisch alles nötige erstellt. Ihr könnt die Events natürlich auch manuell eintragen, jedoch ist solltet ihr dann genau wissen, welche Parameter wann wo kommen. Wenn eine Event-Funktion falsche Parameter hat, wird das Widget zwar erfolgreich kompiliert, die Event-Funktion wird aber niemals erreicht.
Zitat von jokerfacehro:
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
Wenn du das Programm mit dem Parameter -normal startest, wird es nicht im TNA gestartet. Dafür kannst du am besten eine Verknüpfung anlegen und dort den Parameter eintragen. Später wird es dann eine Einstellung dafür geben.
Dass mit einem seperaten Editor ist doch nicht resourcenschonender - da der Editor nur bei Bedarf geladen wird und somit normalerweise nicht im Speicher ist.
Jabber: littleDave@jabber.org
in case of 1 is 0 do external raise while in public class of object array else repeat until 1 is 0
  Mit Zitat antworten Zitat
Benutzerbild von jokerfacehro
jokerfacehro

Registriert seit: 13. Feb 2007
306 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Desktop Widget Engine (v0.31)

  Alt 12. Sep 2008, 17:14
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!
naja, ganz schön umständlich, warum reagiert denn das onmousein der mainform nicht


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
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

Registriert seit: 27. Apr 2006
Ort: München
556 Beiträge
 
Delphi 7 Professional
 
#6

Re: Desktop Widget Engine (v0.31)

  Alt 12. Sep 2008, 17:21
Zitat von jokerfacehro:
naja, ganz schön umständlich, warum reagiert denn das onmousein der mainform nicht
Naja, die MainForm ist nur eine Art Dummy-Componente, die nur den maximalen Zeichenbereich eingrenzt. Ich hab es noch nicht geschafft, gewisse Events auch in MainForm auslösen zu lassen - wird aber noch kommen.

Zitat von jokerfacehro:
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
Werd ich noch machen, hab bisher noch nicht daran gedacht.
Jabber: littleDave@jabber.org
in case of 1 is 0 do external raise while in public class of object array else repeat until 1 is 0
  Mit Zitat antworten Zitat
Benutzerbild von jokerfacehro
jokerfacehro

Registriert seit: 13. Feb 2007
306 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Desktop Widget Engine (v0.31)

  Alt 12. Sep 2008, 17:24
so hab grad was ausprobiert:

wenn ich mit dem minus zeichnen ( - ) rechnen will, müssen immer leerzeichen darum sein, ansonsten kommt nen fehler

ich hab jetz ne fade funktion gemacht:

Delphi-Quellcode:
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;
funktioniert wunderbar, nur wird das onmouseout event garnicht ausgeführt, wenn das onmousein event gerade noch ausgeführt wird:

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
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

Registriert seit: 27. Apr 2006
Ort: München
556 Beiträge
 
Delphi 7 Professional
 
#8

Re: Desktop Widget Engine (v0.31)

  Alt 12. Sep 2008, 17:40
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 von jokerfacehro:
wenn ich mit dem minus zeichnen ( - ) rechnen will, müssen immer leerzeichen darum sein, ansonsten kommt nen fehler
Kannst du mir den Abschnitt aufschreiben, damit ich das so bald wie möglich verbessern kann? Normalerweise braucht man kein Leerzeichen vor und/oder nach einem Minus.
Jabber: littleDave@jabber.org
in case of 1 is 0 do external raise while in public class of object array else repeat until 1 is 0
  Mit Zitat antworten Zitat
Benutzerbild von jokerfacehro
jokerfacehro

Registriert seit: 13. Feb 2007
306 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Desktop Widget Engine (v0.31)

  Alt 12. Sep 2008, 17:54
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
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

Registriert seit: 27. Apr 2006
Ort: München
556 Beiträge
 
Delphi 7 Professional
 
#10

Re: Desktop Widget Engine (v0.31)

  Alt 12. Sep 2008, 18:10
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.
Jabber: littleDave@jabber.org
in case of 1 is 0 do external raise while in public class of object array else repeat until 1 is 0
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 27   « Erste     345 6715     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:30 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