![]() |
Problem mit Buttons OnMouseEnter. Alle Buttons gläntzern
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:
gibt es eine Lösung für das Problem
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); Ich weiß nicht, warum alle Buttons glitzern, wenn der Mausezeiger auf ein Control in Form bewegt :( |
Re: Problem mit Buttons OnMouseEnter. Alle Buttons gläntzern
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 verstehen
Delphi-Quellcode:
Und bei Ersterem nicht, warum du nicht ganz normal über die OnEnter Prozedur des Bitbtn zugreifst!?
if WindowFromPoint(ptWork) = BitBtn2.Handle then
|
Re: Problem mit Buttons OnMouseEnter. Alle Buttons gläntzern
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
>> 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 |
Re: Problem mit Buttons OnMouseEnter. Alle Buttons gläntzern
Zitat:
geht das bei MouseEnter vllt. auch so:
Delphi-Quellcode:
procedure TForm1.BitBtn1MouseEnter(Sender: TObject);
begin TBitbtn(sender).Glyph:= {irgendwas} ; end; |
Re: Problem mit Buttons OnMouseEnter. Alle Buttons gläntzern
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 |
Re: Problem mit Buttons OnMouseEnter. Alle Buttons gläntzern
Oder du lädst dir einfach die LMD Tools herunter:
![]() 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 ;-) |
Re: Problem mit Buttons OnMouseEnter. Alle Buttons gläntzern
BitButton hat auch besitzt OnMouseEnter + OnMouseExit
Das geht um OnMouseLeave |
Re: Problem mit Buttons OnMouseEnter. Alle Buttons gläntzern
Unter Delphi 7 hat ein BitBtn kein Ereignis OnMouseEnter oder OnMouseExit.
|
Re: Problem mit Buttons OnMouseEnter. Alle Buttons gläntzern
Versehen, das war OnEnte und OnExit aber kein OnMouseEnter
Kann man sie nicht programmieren ? |
Re: Problem mit Buttons OnMouseEnter. Alle Buttons gläntzern
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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:50 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