AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Problem mit Buttons OnMouseEnter. Alle Buttons gläntzern
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Buttons OnMouseEnter. Alle Buttons gläntzern

Ein Thema von Praxist · begonnen am 10. Aug 2008 · letzter Beitrag vom 11. Aug 2008
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Praxist

Registriert seit: 6. Jul 2008
39 Beiträge
 
Delphi 7 Professional
 
#1

Problem mit Buttons OnMouseEnter. Alle Buttons gläntzern

  Alt 10. Aug 2008, 11:07
Hallo

by speedbuttons und Bitbtn Buttons leuchten alle Buttons zusamen, wenn ich den Mousezeiger
auf ein Button oder auf ein Control in Form bewege
Onmouse Enter bekommt das Button ein neues Icon und auch beim OnMouseleave :
Delphi-Quellcode:
procedure TForm1.ButtonsCMMouseEnter(var Message: TMessage);
begin
if WindowFromPoint(ptWork) = BitBtn2.Handle then
ImageList1.GetBitmap(2, BitBtn2.Glyph);
//...
procedure TForm1.ButtonsCMMouseleave(var Message: TMessage);
begin
if WindowFromPoint(ptWork) <> BitBtn2.Handle then
ImageList1.GetBitmap(3, BitBtn2.Glyph);
gibt es eine Lösung für das Problem
Ich weiß nicht, warum alle Buttons glitzern, wenn der Mausezeiger auf ein Control in Form bewegt
  Mit Zitat antworten Zitat
Benutzerbild von TonyR
TonyR

Registriert seit: 17. Jun 2006
Ort: Bautzen
503 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Problem mit Buttons OnMouseEnter. Alle Buttons gläntzern

  Alt 10. Aug 2008, 14:32
Ich versteh nicht ganz, möchtest du bei allen BitButtons diesen Effekt haben, oder nur bei einem?

Bei letzterem würde ich folgene Anweisung nicht verstehenif WindowFromPoint(ptWork) = BitBtn2.Handle then Und bei Ersterem nicht, warum du nicht ganz normal über die OnEnter Prozedur des Bitbtn zugreifst!?
Es ist unmöglich, witzig zu sein ohne ein bisschen Bosheit. Die Bosheit eines guten Witzes ist der Widerhaken, der ihn haften lässt. - Georg Christoph Lichtenberg
  Mit Zitat antworten Zitat
Praxist

Registriert seit: 6. Jul 2008
39 Beiträge
 
Delphi 7 Professional
 
#3

Re: Problem mit Buttons OnMouseEnter. Alle Buttons gläntzern

  Alt 10. Aug 2008, 15:17
Zitat von TonyR:
Ich versteh nicht ganz, möchtest du bei allen BitButtons diesen Effekt haben, oder nur bei einem?

Bei letzterem würde ich folgene Anweisung nicht verstehenif WindowFromPoint(ptWork) = BitBtn2.Handle then Und bei Ersterem nicht, warum du nicht ganz normal über die OnEnter Prozedur des Bitbtn zugreifst!?
ich möchte diesen Effekt bei mehreren BitButtons haben
>> warum du nicht ganz normal über die OnEnter Prozedur des Bitbtn zugreifst!?
weil D7 den Event OnMouseLeave nicht hat sondern nur OnMouseMouve

Das Problem kommt von dem Event OnMouseEnter, was ich programmiert habe, und
möchte ich ändern

>> Bei letzterem würde ich folgene Anweisung nicht verstehen
Delphi-Quellcode:
procedure TForm1.ButtonsCMMouseEnter(var Message: TMessage);
var
  ptWork : TPoint;
begin
  GetCursorPos(ptWork);
  if WindowFromPoint(ptWork) = BitBtn2.Handle then // wenn der cursor drauf kommt
Miniaturansicht angehängter Grafiken
onmouseenter_effect_problem_118.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von TonyR
TonyR

Registriert seit: 17. Jun 2006
Ort: Bautzen
503 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Problem mit Buttons OnMouseEnter. Alle Buttons gläntzern

  Alt 10. Aug 2008, 15:28
Zitat von Praxist:
...
weil D7 den Event OnMouseLeave nicht hat sondern nur OnMouseMouve
...
sorry, daran hatte ich nicht gedacht.


geht das bei MouseEnter vllt. auch so:
Delphi-Quellcode:
procedure TForm1.BitBtn1MouseEnter(Sender: TObject);
begin
TBitbtn(sender).Glyph:= {irgendwas} ;
end;
Es ist unmöglich, witzig zu sein ohne ein bisschen Bosheit. Die Bosheit eines guten Witzes ist der Widerhaken, der ihn haften lässt. - Georg Christoph Lichtenberg
  Mit Zitat antworten Zitat
Praxist

Registriert seit: 6. Jul 2008
39 Beiträge
 
Delphi 7 Professional
 
#5

Re: Problem mit Buttons OnMouseEnter. Alle Buttons gläntzern

  Alt 10. Aug 2008, 15:40
OnMouseEnter und OnMouseNove beide funktionieren
Das Problem was macht man OnMouseLeave ?
Das BitButton soll ein anderes Bild bekommen wenn der Cursor das Button verlässt
  Mit Zitat antworten Zitat
Benutzerbild von TonyR
TonyR

Registriert seit: 17. Jun 2006
Ort: Bautzen
503 Beiträge
 
FreePascal / Lazarus
 
#6

Re: Problem mit Buttons OnMouseEnter. Alle Buttons gläntzern

  Alt 10. Aug 2008, 15:51
Oder du lädst dir einfach die LMD Tools herunter: http://www.lmd.de/download/#LMD%20Freeware

Da ist der TLMDButton unter der Rubrik LMDStd dabei, der besitzt OnMouseEnter + OnMouseExit, da umgehst du die ganze Sache

Edit: Außerdem kann man in diesen Button natürlich auch ein Glyph laden
Es ist unmöglich, witzig zu sein ohne ein bisschen Bosheit. Die Bosheit eines guten Witzes ist der Widerhaken, der ihn haften lässt. - Georg Christoph Lichtenberg
  Mit Zitat antworten Zitat
Praxist

Registriert seit: 6. Jul 2008
39 Beiträge
 
Delphi 7 Professional
 
#7

Re: Problem mit Buttons OnMouseEnter. Alle Buttons gläntzern

  Alt 10. Aug 2008, 16:02
BitButton hat auch besitzt OnMouseEnter + OnMouseExit
Das geht um OnMouseLeave
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.544 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Problem mit Buttons OnMouseEnter. Alle Buttons gläntzern

  Alt 10. Aug 2008, 16:09
Unter Delphi 7 hat ein BitBtn kein Ereignis OnMouseEnter oder OnMouseExit.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Praxist

Registriert seit: 6. Jul 2008
39 Beiträge
 
Delphi 7 Professional
 
#9

Re: Problem mit Buttons OnMouseEnter. Alle Buttons gläntzern

  Alt 10. Aug 2008, 16:16
Versehen, das war OnEnte und OnExit aber kein OnMouseEnter
Kann man sie nicht programmieren ?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.544 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Problem mit Buttons OnMouseEnter. Alle Buttons gläntzern

  Alt 10. Aug 2008, 16:34
Kann man. Kleines Beispiel (komplette Unit):
Delphi-Quellcode:
unit bla;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons;

type

  TBitBtn = class(Buttons.TBitBtn)
  private
    procedure CMMOUSEENTER(var Msg: TMessage); message CM_MOUSEENTER;
    procedure CMMOUSELEAVE(var Msg: TMessage); message CM_MOUSELEAVE;
  end;

  TForm1 = class(TForm)
    btn1: TBitBtn;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TBitBtn }

procedure TBitBtn.CMMOUSEENTER(var Msg: TMessage);
begin
  inherited;
  Font.Style := Font.Style + [fsBold];
end;

procedure TBitBtn.CMMOUSELEAVE(var Msg: TMessage);
begin
  inherited;
  Font.Style := Font.Style - [fsBold];
end;

end.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     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 20:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz