Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Runde, ovale, diagonale, geschwungene oder sonstwie Buttons (https://www.delphipraxis.net/78959-runde-ovale-diagonale-geschwungene-oder-sonstwie-buttons.html)

xZise 16. Okt 2006 09:04

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Dino: Man kommt ganz einfach an die Mausposition!

Sunlight7 16. Okt 2006 09:43

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Zitat:

Zitat von xZise
Dino: Man kommt ganz einfach an die Mausposition!

Und hier findet man ein komplettes Beispiel mit Timer, wie man prüfen kann, ob die Maus über der Komponente ist: TPaintedButton :roll:

Pinki 24. Okt 2006 13:51

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Hi ich kann bei mir die komponente leider nicht installieren.
Es kommt die Meldung:
SQL-Code:
Datei PaintedButtons.res nicht gefunden!
:wiejetzt:

MfG

Sunlight7 24. Okt 2006 14:27

Re: Runde, eckige, geschwungene oder sonstwie Buttons
 
Zitat:

Zitat von Pinki
SQL-Code:
Datei PaintedButtons.res nicht gefunden!

Zitat:

Zitat von newuser01
Fehler: RoundButton.res nicht gefunden :gruebel:

Zitat:

Zitat von Sunlight7
Ja die muß man erst machen...

Du kannst Dir entweder selber eine Datei zusammenbasteln, oder meine verwenden.
Oben zu finden, hab sie neu hochgeladen, sie hatte noch den alten Namen :angel2:

Edit: Für die bessere Lösung hatte ich noch keine Zeit :coder:
Edit2: Verflixte Tag's

Pinki 24. Okt 2006 14:41

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Jetzt habe ich installiert aber wäre schön wenn noch das schone Bild von Vorschau.jpg eingebunden wäre.Nähmlich es ist kein Bild in der Kompo eingebunden :mrgreen:

Sunlight7 24. Okt 2006 14:56

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Der Sinn der Kompo ist ja, das sich der Programmierer selber Buttons zeichnet :stupid: :zwinker: :mrgreen:

Pinki 24. Okt 2006 15:11

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Du kannst es besser und passt gut zu der Umgebung vom Player das ich gerade am basteln bin

:bounce1:

TKC 30. Okt 2006 13:14

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Also ... ich bekomme das einfach nicht hin ... was muss man denn beim erstellen der Resourcen Bitmaps beachten ?

Sunlight7 30. Okt 2006 14:13

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Was bekommst Du nicht hin?

Zu Beachten:
  • Alle Bitmaps in der gleichen Größe
  • Farbe Schwarz und Weiß ist transparent (Wenn nicht anders festgelegt)
  • Die Namen der Bitmaps
  • Touchzones:
    • 0 für nix :)
    • RGB(1, 0, 0)=Taste 1
    • RGB(2, 0, 0)=Taste 2
    • ...
  • Einen Screenshot hier posten :mrgreen: damit man sehen kann, was daraus gemacht wurde :zwinker:

TKC 30. Okt 2006 14:40

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Zitat:

Zitat von Sunlight7
Was bekommst Du nicht hin?

Zu Beachten:
  • Alle Bitmaps in der gleichen Größe
  • Farbe Schwarz und Weiß ist transparent (Wenn nicht anders festgelegt)
  • Die Namen der Bitmaps
  • Touchzones:
    • 0 für nix :)
    • RGB(1, 0, 0)=Taste 1
    • RGB(2, 0, 0)=Taste 2
    • ...
  • Das Ergebnis hier posten :mrgreen: damit man sehen kann, was daraus gemacht wurde :zwinker:

Das war genau die Info die mir gefehlt hatte :wink: .

Warum ist denn das Selected noch ausgeklammert ... kann ich das ohne großen Aufwand wieder einsetzten?

Super Kompo ... gefällt mir echt. :thumb:

Sunlight7 30. Okt 2006 15:11

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Das wäre eigentlich alles oben in der Kompo gestanden :zwinker:

Bitte was ist ausgeklammert? Selected :gruebel:
Das steht doch gar nicht drinnen :gruebel:

Wenn Du das meinst:
Delphi-Quellcode:
// property ResDisabled:String    read FResDisabled
//                                 write SetResDisabled;
Das ist noch in Planung...
Da muß ich mich erst noch mit dem Property-Editor spielen, um ein Array of Boolean einzubauen...


Danke, was alles so entsteht, wenn man wissen will, ob eine Idee auch umsetzbar ist...

PS: Nicht vergessen:
  • Einen Screenshot hier posten :mrgreen: damit man sehen kann, was daraus gemacht wurde :zwinker:

TKC 30. Okt 2006 15:30

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Hallo,

ist irgendwie nicht mein Tag heute ... habe das in der Unit der Kompo doch glatt übersehen.
Mit dem Selected war natürlich Disabled gemeint. :wink:

Ein Problem hab ich noch ... bei der 1. schaltfläche bekomme ich ein Index out of Bounds(1) beim Mouseover.

Das sind die Hints ... ich benutze jedoch gar keine momentan !

Hab es jetzt für mich so gelöst:
Delphi-Quellcode:
  if temp > 0 then
    begin
      if (ShowHint) and (FHintList.Count >= temp) then
        ChangeHint(FHintList[temp])
      else
        ChangeHint('');

      if Assigned(FOnMouseMove) then
        FOnMouseMove(Self, temp, Shift, X, Y);
    end
  else
    ChangeHint('');
Ich werde mal sehen ob ich noch ne Eigenschaft Selected(oder Button down) dazubekomme.

Coder 30. Okt 2006 16:11

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
hat nich noch einer den Code für Delphi 3 ?

Sunlight7 30. Okt 2006 17:03

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Ich ihn noch für Delphi 2 :mrgreen:
Aber das nützt Dir nix, würde bei Dir nicht laufen :pale:

Kann Delphi 3 noch nicht TBitmap.ScanLine?
Wenn doch, kannst Du die Kompo verwenden.
Ich hab Delphi 5+ geschrieben, weil ich nicht weiß, ab welcher Version ScanLine drinnen ist :stupid:

Sunlight7 30. Okt 2006 17:04

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Ich hab ihn noch für Delphi 2 :mrgreen:
Aber das nützt Dir nix, würde bei Dir nicht laufen :pale:

Für Delphi 3 kann ihn keiner haben, das wurde von mir nicht veröffentlicht...

Kann Delphi 3 noch nicht TBitmap.ScanLine?
Wenn doch, kannst Du die Kompo verwenden.
Ich hab Delphi 5+ geschrieben, weil ich nicht weiß, ab welcher Version ScanLine drinnen ist :stupid:

Edit: Also das mit dem Editieren hat ich mir anders vorgestellt :stupid:
Wenn mal ein Modi vorbeischaut: die beiden Beiträge kann man verschmelzen :mrgreen:

Coder 30. Okt 2006 19:19

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
mhh, ja Scanline ist ab der 3er wohl drin.

Sunlight7 30. Okt 2006 20:27

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Na dann probier's halt mal...

Sunlight7 31. Okt 2006 01:55

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Zitat:

Zitat von ACE-ppc
Hab es jetzt für mich so gelöst:
Delphi-Quellcode:
  if temp > 0 then
    begin
      if (ShowHint) and (FHintList.Count >= temp) then
        ChangeHint(FHintList[temp])
      else
        ChangeHint('');

      if Assigned(FOnMouseMove) then
        FOnMouseMove(Self, temp, Shift, X, Y);
    end
  else
    ChangeHint('');

Warum so umständlich?
Es hätte genügt, das "="-Zeichen raus zu nehmen, das war der Fehler :mrgreen:

Zitat:

Zitat von ACE-ppc
Ich werde mal sehen ob ich noch ne Eigenschaft Selected(oder Button down) dazubekomme.

Was meinst Du damit "dazubekomme"? :gruebel:
Du bräuchtest da nur MousePressed und LastBtn, einer Eigenschaft zuweisen :zwinker:

Edit: Das mit dem Disabled hab ich eingebaut, aber wie ich das in den Objekt Inspektor rein bringen soll weiß ich noch nicht. :gruebel:

TKC 31. Okt 2006 09:03

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Zitat:

Zitat von Sunlight7
Zitat:

Zitat von ACE-ppc
Ich werde mal sehen ob ich noch ne Eigenschaft Selected(oder Button down) dazubekomme.

Was meinst Du damit "dazubekomme"? :gruebel:
Du bräuchtest da nur MousePressed und LastBtn, einer Eigenschaft zuweisen :zwinker:

Das mit dem Disabled hab ich eingebaut, aber wie ich das in den Objekt Inspektor rein bringen soll weiß ich noch nicht.


Hab ich auch schon überlegt ... evtl mit ner Stringlist (1=SELECTED,5=DOWN) oder so ähnlich.

Hast du den geänderten Quellcode schon im 1. Post ?

Sunlight7 31. Okt 2006 12:49

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Nö, hab ich noch nicht, das möcht' ich erst nochmal durchtesten, nicht das da wieder ein "=" zuviel drinnen steht :wink:

Zitat:

Zitat von ACE-ppc
Hab ich auch schon überlegt ... evtl mit ner Stringlist (1=SELECTED,5=DOWN) oder so ähnlich

Das verstehe ich nicht ganz, wofür?

Welcher Button was macht kann man in den MouseEvents erfahren (Variable BTN).

TKC 31. Okt 2006 14:40

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Zitat:

Zitat von Sunlight7
Delphi-Quellcode:
Hab ich auch schon überlegt ... evtl mit ner Stringlist (1=SELECTED,5=DOWN) oder so ähnlich
Das verstehe ich nicht ganz, wofür?

Ich möchte z.B. anzeigen das der Knopf 1 gedrückt ist und auch bleibt.

Ich möchte gern eine Tastaturbelegung visuell realisieren und die belegten Tasten sollen dann anders aussehen.

Ich habe deine Komponente für mich etwas modifiziert... ich hoffe das ist kein Problem.

Folgendes habe ich geändert:

1. Bitmaps werden jetzt im OI zugewiesen (damit entfällt das erstellen einer .res Datei)
2. Das Standard Bitmap wird schon in der IDE Angezeigt (kleine Vorschau mit Transparenz)
3. Property Autosize hinzugefügt (momentan nur eine sehr einfache implementierung aber funktioniert)
4. Lokale Variablen Sinnvoller benannt (z.B. FBmpStandard anstelle von Standard usw. )
5. Versionsstring im OI hinzugefügt (finde ich immer ganz Nett)

und noch nen paar Kleinigkeiten.

Wäre schön wenn du mal drüber schaust ob ich noch was falsch habe.. evtl gefällt dir ja auch was :wink:.

Habe nur Delphi 2006 .. hoffe es funktioniert bei dir.

[edit=Dax]Anhang auf Anfrage entfernt - Mfg, Dax[/edit]

OldGrumpy 31. Okt 2006 14:57

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Ich habe das Problem mit der schnell bewegten Maus durch Messagehandling für WM_MOUSELEAVE gelöst. Spart gegenüber dem Timer Resourcen und ist noch flotter. Mich nervten nämlich ein paar HTML-Buttons bei denen bei schneller Mausbewegung durchaus auch mal mehrere noch im MouseOver-Status sein konnten :(

Sunlight7 31. Okt 2006 15:45

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
@OldGrumpy: Das funkt aber nicht mit GraphicControls.

@ACE-ppc: Ich habe auch bereits einige Modifikationen vorgenommen, werden gleich hochgeladen.
Nimm bitte Deinen Anhang raus, das verstößt gegen die Nutzungsbedingungen :warn:
Und ich möchte hier keinen Versionswirrwar haben :zwinker:
Ansonsten kannst Du die Kompo abändern, aber auf die Nutzungsbedingungen achten!
Wenn Du die Kommentare liest, weißt Du, warum ich darauf sehr großen Wert lege.

Wenn wer Änderungsvorschläge hat, oder Änderungen einringen möchte, diese Quellcodes mir per PN schicken!
Hier posten verstößt gegen die Nutzungsbedingungen.

1. Hätt' ich noch keine Zeit :)
2. Diese Bug's hab ich gelöst
3. Bei mir jetzt immer AutoSize :)
4. Hab ich ähnlich, weil ich mit nem anderem Namen kollidiert bin :roteyes:
5. Kann man machen :)

OldGrumpy 31. Okt 2006 16:01

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Zitat:

Zitat von Sunlight7
@OldGrumpy: Das funkt aber nicht mit GraphicControls.

Sicher? Der Thread hier sagt was anderes :) Würde mich auch stark wundern, wenn :)

Sunlight7 31. Okt 2006 16:16

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Okay, überzeugt, werde das in der D5 Version besser machen.

In meiner D2 Version funkt das aber nicht :cry:

Edit: @Dax, Danke.

OldGrumpy 31. Okt 2006 16:19

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Selbst wenns nicht direkt implementiert ist, sollte mans selber dazubauen können. Ist immerhin ne Windows Message, die es schon seit Windows 98 gibt, da sollte das auch in D2 gehen. Alles ohne Gewähr, ich war lange Jahre jenseits von Borland unterwegs und erst mit Delphi 2005 (und inzwischen gottseidank 2006) wieder dabei. Manchmal lohnt es sich halt, auch mal auf eine neuere Version umzusteigen :)

Sunlight7 31. Okt 2006 16:29

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Die BN Message gibt's es ja, aber in GraphicControls kommt die nicht an.
Das gibt's IMHO schon in Win95. Aber das auch Gewähr, weil Win96 :mrgreen: habe ich bei mir ordentlich umgemotzt. :mrgreen:

Edit: Ich hab ja ne neuere, aber mit den klassischen macht's mehr Spaß :mrgreen:
Und ein Großteil meiner Unit's und Kompos läuft nur auf D2...

OldGrumpy 31. Okt 2006 16:38

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Dann wäre mal zu klären warum die nicht ankommt. Bzw. wo die verarbeitet wird, denn sonst müsste sie ankommen :) Ist bei Deinem D2 auch schon der ganze Source dabei? Dann kannste ja mal reinschauen. Notfalls muss man halt WndProc hooken und alles selber machen :mrgreen:

Sunlight7 31. Okt 2006 16:51

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Der Source ist teilweise dabei, aber das was man möchte halt immer nicht.

Aber der Timer tut's für das in D2, für nen Hook bin ich zu faul :mrgreen:

Sunlight7 1. Nov 2006 19:23

Benachrichtigung
 
Zitat:

Zitat von newuser01
Lass es mich wissen wenn die Kompo fertig ist werde gerne darauf zurückgreifen :-D

Na Fertig ist so eine Sache...
Aber das was Du wolltest ist jetzt drinnen.
Eigentlich schon seit gestern :oops:

Zitat:

Zitat von ACE-ppc
Wäre schön wenn du mal drüber schaust ob ich noch was falsch habe.. evtl gefällt dir ja auch was :wink: .

Wenn ich mal drüber schauen soll, schicke mir das bitte per PN :wink:
Keine Sorge, wenn ich etwas von anderen übernehme, schreibe ich das rein :zwinker:

Sunlight7 2. Nov 2006 20:19

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Ein kleines Update:
Gedrückte Tasten sind möglich :wink:

Sunlight7 7. Nov 2006 22:56

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Info: Update Online :wink:

@ACE-ppc: Okay, knapp vor Mitternacht...
Also, wie gesagt, ich habs geschafft, die neue Version heute noch hochzuladen :mrgreen:

Kannst Du dann gleich mal bei Deinen riesen Bitmaps ausprobieren, das es viel schneller ist. :zwinker:
Kannst auch gleich die neuen Eigenschaften EnabledStr & PushedStr probieren.
Die sind etwas kriminell programmiert :oops: , das traue ich mich ja fast gar nicht herzuzeigen :oops:

Infos oben :wink:

Grüßle!

Edit: Immer diese Tippfehler :roll:

TKC 9. Nov 2006 17:10

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Hi,
ich habe bisher noch keine Probleme in der 1.5er festgestellt.

Der Speed ist jetzt absolute Spitze (auch bei großen BMP).
Endlich braucht man keine Res Datei mehr erstellen (was das ausprobieren stark vereinfacht).
Propertys sind soweit auch alle da, die man braucht (ausser mein Spezialfall :wink: ).

also ich kann nur folgendes sagen ......
SUPER !!!

Sunlight7 9. Nov 2006 17:32

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Danke, danke :-D

Auch wenns etwas kriminell programmiert ist, zumindest da, wo ich die Strings missbrauche :mrgreen: :mrgreen: :mrgreen:

Ich habs mit Deinem Bitmap probiert, es kommt echt so auf über 1000% schneller hin :mrgreen:

Eins stört mich aber noch sehr, wenn man jetzt Bitmaps in 16/256 Farben hat, und diese im OI lädt und speichert, werden diese in 24 Bit gespeichert.
Das Problem möchte ich noch lösen.

Edit: Und die MaxButtons Konstante möcht' ich auch noch automatisieren.

Chrissi91 15. Nov 2006 13:50

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Hi,

ich habe mir mal kurz die Demo angeschaut und habe einen Verbesserungsvorschlag:

Ich wollte die Buttons mal testen, was sich beim MOuseOver, Click MouseLeave, etc. ändert, aber wenn jedes Mal ein ShowMessage kommt, nervt es gewaltig.

Ich habe jetzt nicht den ganzen Thread durchgelesen. Falls es also schonmal jemand gepostet haben sollte, möchte ich mich eentschuldigen. :zwinker:

Sunlight7 15. Nov 2006 17:45

Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
 
Hallo,

die Demo Exe ist ja eigentlich schon ganz veraltet (V1.1).
Stimmt, da könnte ich mal ein Update reinstellen, aber auf den Witz möcht' ich auch nicht verzichten. :-D
Werd' ich bei Gelegenheit mal überarbeiten, und auch die Pushed & Enabled Eigenschaften ins Demo einbauen. :angel2:
:dp:

Edit: Demo Exe erneuert. :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:57 Uhr.
Seite 2 von 2     12   

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