| Autor |
Beitrag |
rolandt4088
      
Beiträge: 122
WINDOWS XP
Delphi 7, CodeGear RAD Studio
|
Verfasst: Do 14.06.07 20:49
Hallo,
ich bin dabei Images in meine Anwendung als Schalter einzusetzen.
Beim Start der Anwendung wird das Bild A in das Image geladen. Gehe ich mit dem Mauszeiger auf das Image(MouseMove), wird das Bild B geladen. Verlass ich das Image wird wieder Bild A geladen.
Das funktioniert ja auch so weit ganz gut.
Was mich stört:
Das, durch die Mausbewegung auf dem Panel (hier liegen meine Images drauf) ständig das Bild in das Image neu geladen wird. Das verursacht ein nerviges Flackern des Image.
Hat jemand eine Idee wie man das Problem ohne MousMove lösen kann?
mfg
Roland
|
|
Jann1k
      
Beiträge: 866
Erhaltene Danke: 43
Win 7
TurboDelphi, Visual Studio 2010
|
Verfasst: Do 14.06.07 21:01
Du kannst doch in einer variablen speichern, welches Bild gerade im Image geladen ist und nur neu laden, falls es das falsche ist. Die Eigenschaft tag des images bietet sich hierfür zB an.
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Do 14.06.07 21:05
Genau. Oder du benutzt meine Roll-Over-Komponenten (hier vorgestellt: www.delphi-forum.de/....php?p=269965#269965). Damit bekommst du eine Image-Komponente mit oMouseEnter und onMouseLeave Ereginissen.
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
|
|
rolandt4088 
      
Beiträge: 122
WINDOWS XP
Delphi 7, CodeGear RAD Studio
|
Verfasst: Do 14.06.07 21:26
Titel: Rolover Componente
Hallo,
nach der Compelierung erhalte ich diese Meldung:
[Fataler Fehler] DelphiX_for7.dpk(66): Datei nicht gefunden: 'Language.dcu'
Warscheinlich habe ich esnicht richtig gemacht.
Gruß
Roland
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Do 14.06.07 21:39
Du sollst es auch nicht in de DPK von DelphiX aufnehmen, sondern am besten in die Dclusr (so wie auf der Seite angegeben).
In D7 gehts etwa so:
Komponente --> Komponente Installieren --> Name der Unit: RoCoU.pas wählen, Package: dclusr.dpk wählen, OK klicken --> neu kopilieren? Ja klicken. Dann sollte es funktionieren.
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
|
|
rolandt4088 
      
Beiträge: 122
WINDOWS XP
Delphi 7, CodeGear RAD Studio
|
Verfasst: Do 14.06.07 21:47
Titel: Rollvover
Hallo,
ich habe noch nie eine Kompenente hinzugefügt.
Aber Dank Deiner Hilfe habe ich wieder was gelernt.
Es hat funktioniert.
Jetzt werde ich das Image austesten.
Ich melde mich wieder.
Gruss
Roland
|
|
rolandt4088 
      
Beiträge: 122
WINDOWS XP
Delphi 7, CodeGear RAD Studio
|
Verfasst: Do 14.06.07 21:59
Titel: timage11
Hallo,
was ist an Deiner Komponente anders?
Ich habe keine Unterschiede gefunden.
Gruß
Roland
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Do 14.06.07 22:02
Nun, wie gesagt, die Eregnisse onMouseEnter und onMouseLeave. Das erste tritt ein, sobald die Maus das Obekt betritt, das zweite tritt ein sobald die Maus das Objekt verlässt.
Bist du dir sicher dass du TROImage auf dein Formular gezogen hast, oder hast du aus versehen nach wie vor TImage benutzt?
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
|
|
rolandt4088 
      
Beiträge: 122
WINDOWS XP
Delphi 7, CodeGear RAD Studio
|
Verfasst: Do 14.06.07 22:03
Tut mir leid, aber diese Ereignisse habe ich nicht.
|
|
rolandt4088 
      
Beiträge: 122
WINDOWS XP
Delphi 7, CodeGear RAD Studio
|
Verfasst: Do 14.06.07 22:06
Ich habe noch mal nach gesehen ob ich wirklich Dein TIMAGE genommen habe.
Habe ich.
Name: TImage11
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Do 14.06.07 22:12
Es sollte in der Palette unter "RoCos" stehen, ist das so?
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
|
|
rolandt4088 
      
Beiträge: 122
WINDOWS XP
Delphi 7, CodeGear RAD Studio
|
Verfasst: Do 14.06.07 22:12
EIn TROImage gibt es bei mir nicht.
IMAGE1(ROCul) wird mir angezeigt.
|
|
rolandt4088 
      
Beiträge: 122
WINDOWS XP
Delphi 7, CodeGear RAD Studio
|
Verfasst: Do 14.06.07 22:14
Diese Palette habe ich nicht.
Die Komponente steht in der Palette Beispiel
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Do 14.06.07 22:15
Sehr merkwürdig, weiß jetzt aus der ferne auch net worans liegt 
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
|
|
rolandt4088 
      
Beiträge: 122
WINDOWS XP
Delphi 7, CodeGear RAD Studio
|
Verfasst: Do 14.06.07 22:16
Wie entferne ich die Komponente wieder?
Vielleicht habe ich doch noch einen Fehler gemacht.
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Do 14.06.07 22:21
Kann es sein dass du statt Komponente installieren auf Neue Komponente geklickt hast?
- Deinstallieren: im Prinzip möglich... aber da du dich net so gut auskennst lass es lieber erstmal, sonst löscht du noch ne falsche Komponente. Du müsstest dazu "Packages installieren" wählen, und dann könntest du die RoCoU.pas aus der dclusr.dpk wieder rauslöschen, aber wie gesagt mach es lieber erstmal net.
Probier lieber einfach nochmal
Menü: Komponente klicken
- Komponente installieren
- name der Unit: rocou.pas wählen
- package: dclusr.dpk
- ok
- kompilieren (Jetzt sollte da stehen das 7 (!) neue Komponenten installiert wurden.
- auf nachfrage dclusr speichern
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
|
|
rolandt4088 
      
Beiträge: 122
WINDOWS XP
Delphi 7, CodeGear RAD Studio
|
Verfasst: Do 14.06.07 23:01
Ich musste mal eben Delphi neu instrallieren, weil ich kaum noch Komponenten hatte.
Naja, Delphi läuft wieder und Deine Komponente habe ich genau Deiner Anweidung eingebunden.
Leider ohne Erfolg. Sie steht wieder unter Beispiele und hat micht die Ereignisse die ich benötige.
Roland
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Do 14.06.07 23:06
Tut mir leid, ich kann es dir aus der ferne wie gesagt nicht helfen, aber bei mir ging es so. naja.
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
|
|
rolandt4088 
      
Beiträge: 122
WINDOWS XP
Delphi 7, CodeGear RAD Studio
|
Verfasst: Do 14.06.07 23:20
Wie kann das denn mit TAG funktionieren?
Ich gar keine Vorstellung?
Ich habe ein Image und 2 Bilder. Bild 1 wird mit dem Fenster öffnen geladen.
Bild 2 soll geladen werden wennich mit dem Mauszeiger über das Image gehe. Verlasse ich das Image soll Bild 1 wieder geladen werden.
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Do 14.06.07 23:32
Tag ist im prinzip wie ne Variable vom typ integer.
Beispiel:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| if image.tag = 0 then begin image.picture[..] := [..] image.tag := 1; end;
if image.tag = 1 then begin image.picture[..] :) [..] image.tag := 0; end; |
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
|
|