![]() |
|
|
#1
|
|||
|
|||
![]() Здраствуйте!!
Люди подскажите пожалуйсто как зделать чтоб при наведении курсора мыши на форму она становилась светлее а когда курсор не на форме форма почти прозрачная была AlphaBlendValue:=100; это в начале присовено при активации формы почти прозрачно а при наведении как зделать что было допустим AlphaBlendValue:=200; или есть какой способ? заранее спасибо! |
#2
|
||||
|
||||
![]() Есть такие методы у формы MouseEnter и MouseLeave, когда мышь залазит на компонент и когда мышь покидает этот компонент соответственно. Но эти методы у формы я видел только в Delphi2009, в Delphi 7 такие методы есть только у Label. Ну или возможно ещё где-то есть есть, но у формы их нет точно. Можешь кинуть на форму Label свойству Align присвоить значение alClient. И использовать методы MouseEnter и MouseLeave получится примерно т очто ты хочешь, но там правда есть ошибки. Не всегда получается вовремя отследить то что мышь покинула форму и увеличение прозрачности не будет, но всё же такой вот выход есть.
|
#3
|
|||
|
|||
![]() События OnMouseEnter, OnMouseLeave для формы можно и в 6-7 дельфях использовать, следующим образом:
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, StdCtrls, ExtCtrls; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER; procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE; public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} { TForm1 } procedure TForm1.CMMouseEnter(var Message: TMessage); begin AlphaBlend:=false; end; procedure TForm1.CMMouseLeave(var Message: TMessage); begin AlphaBlend:=true; end; procedure TForm1.FormCreate(Sender: TObject); begin AlphaBlendValue:=100; end; end. Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Timer1: TTimer; procedure FormCreate(Sender: TObject); procedure Timer1Timer(Sender: TObject); private public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} { TForm1 } procedure TForm1.FormCreate(Sender: TObject); begin AlphaBlendValue:=100; Timer1.Interval:=100; end; procedure TForm1.Timer1Timer(Sender: TObject); begin with Mouse.CursorPos do AlphaBlend:=not ((X>Left) and (Y>Top) and (X<Left+Width) and (Y<Top+Height) and Active); end; end. |
#4
|
|||
|
|||
![]() Цитата:
Спасобо огромное!! |