|
Mouse'un hareketlerini dinleyen bir event mevcut fakat hover yani üzerine gelme durumunu dinleyen bir event clomosy de mevcut değil ama yine de yapılabilinir.
Alt kısımdaki örnekte senin kullanmış olduğun setup component yapısını clprosettings yapısına çevirdim. SetupComponent yapısından daha güncel bir yapıdır. İnecelemek istersen : https://www.docs.clomosy.com/Pro_Object_Properties" rel="nofollow - https://www.docs.clomosy.com/Pro_Object_Properties
Kullanılan Yapı ise farenin o anki konumuna göre kimin "shout" (bağırdığını) takip eder. Eğer bağıran (ustabtn) butonun kendisi değilse, butonun stilini anında eski haline döndürür.
var girisyuz: TclForm; logo1: TClProImage; anapanel: TclProPanel; ustabtn, musteribtn: TclProButton; // Durumu takip etmek için global bir boolean isHoveredNow: Boolean;
void ManageHover(target: TclProButton); var HoverState: Boolean; { // Mevcut durumu hesapla (içeride miyiz?) HoverState = (girisyuz.clSender == target); // Eğer durum değişmediyse (hala içerdeyiz veya hala dışardayız), hiçbir şey yapma ve çık // Bu kontrol SetclProSettings'in her frame'de çalışmasını engeller if (HoverState == isHoveredNow) { // Fonksiyondan çık Exit; }
// Durum değiştiyse (Giriş veya Çıkış gerçekleştiyse) işlem yap if (HoverState) { // Giriş anı: Sadece 1 kez çalışır target.clProSettings.BorderColor = clAlphaColor.clHexToColor('#FF8C00'); target.clProSettings.BorderWidth = 2; target.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#25304E'); } else { // Çıkış anı: Sadece 1 kez çalışır target.clProSettings.BorderColor = clAlphaColor.clHexToColor('#1C253E'); target.clProSettings.BorderWidth = 1; target.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#1C253E'); } // Sadece durum değişince bileşeni güncelle target.SetclProSettings(target.clProSettings); // Yeni durumu kaydet isHoveredNow = HoverState; }
void OnGeneralMouseMove; { ManageHover(ustabtn); }
{ girisyuz = TclForm.Create(Self); girisyuz.SetFormColor('#12192C', '', clGNone); girisyuz.clSetWindowState(fwsMaximized);
anapanel = girisyuz.AddNewProPanel(girisyuz, 'anapanel'); anapanel.Align = alCenter; anapanel.Width = 450; anapanel.Height = 650; anapanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#12192C'); anapanel.SetclProSettings(anapanel.clProSettings);
logo1 = girisyuz.AddNewProImage(anapanel, 'logo1'); girisyuz.SetImage(logo1, ' https://resmim.net/cdn/2026/05/05/CoxjKC.png" rel="nofollow - https://resmim.net/cdn/2026/05/05/CoxjKC.png '); logo1.Align = alTop; logo1.Height = 200; logo1.Width = 200; logo1.RotationAngle = 5;
ustabtn = girisyuz.AddNewProButton(anapanel, 'ustabtn', ' Ben Ustayım' + #13 + ' Müşteri kabul et ve işlem kaydet'); ustabtn.Align = alTop; ustabtn.Height = 80; ustabtn.Margins.Top = 50;
// Başlangıç tasarımı ustabtn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#1C253E'); ustabtn.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF'); ustabtn.clProSettings.FontSize = 14; ustabtn.clProSettings.TextSettings.Font.Style = [fsBold]; ustabtn.clProSettings.IsRound = True; ustabtn.clProSettings.RoundHeight = 15; ustabtn.clProSettings.RoundWidth = 15; ustabtn.clProSettings.BorderColor = clAlphaColor.clHexToColor('#1C253E'); ustabtn.clProSettings.BorderWidth = 1; ustabtn.SetclProSettings(ustabtn.clProSettings); // State başlangıç değeri isHoveredNow = False;
girisyuz.AddNewEvent(ustabtn, tbeOnMouseMove, 'OnGeneralMouseMove'); girisyuz.AddNewEvent(anapanel, tbeOnMouseMove, 'OnGeneralMouseMove'); girisyuz.AddNewEvent(girisyuz, tbeOnMouseMove, 'OnGeneralMouseMove');
girisyuz.Run; }
https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" rel="nofollow - https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">
|