Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - mouse eventları
  SSS SSS  Forumu Ara   Etkinlikler   Kayıt Ol Kayıt Ol  Giriş Giriş

Clomosy Resmi Forum Sitesidir. Amacımız kullanıcılarımıza, iş ortaklarımıza, danışmanlara, yazılımcılara programlarımız hakkında destek ve bilgi vermektir.

mouse eventları

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
  Konu Arama Konu Arama  Topic Seçenekleri Topic Seçenekleri
MenesKaya Açılır Kutu İzle
Yeni Üye
Yeni Üye
Simge

Kayıt Tarihi: Dün
Konum: Konya
Durum: Aktif Değil
Puanlar: 4
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı MenesKaya Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: mouse eventları
    Gönderim Zamanı: 8 Saat 13 Dakika Önce Saat 12:44
var
girisyuz: TclForm
logo1: TClProImage
anapanel: TclProPanel
ustabtn,musteribtn : TclProButton
void OnUstaEnter;
{
  clComponent.SetupComponent(ustabtn, '{"BorderColor":"#FF8C00", "BorderWidth":2}');
}

{
///////////
girisyuz=TclForm.Create(Self);
girisyuz.SetFormColor('#12192C','',clGNone);
girisyuz.clSetWindowState(fwsMaximized)
/////////////ANA PANEL
anapanel=girisyuz.AddNewProPanel(girisyuz, 'anapanel');
clComponent.SetupComponent(anapanel,'{"Align":"Center","Width":450,"Height":650, "BackgroundColor":"#12192C"}');
/////////////LOGO
logo1 = girisyuz.AddNewProImage(anapanel, 'logo1');
clComponent.SetupComponent(logo1, '{"Align":"Top", "Height":200,"Width":200}');
logo1.RotationAngle= 5
//////////USTA BUTON
ustabtn=girisyuz.AddNewProButton(anapanel, 'ustabtn','   Ben Ustayım' + #13 + '   Müşteri kabul et ve işlem kaydet');
clComponent.SetupComponent(ustabtn,'{"Align":"Top", "MarginTop":50, "Height":80, "BackgroundColor":"#1C253E", "RoundHeight":15, "RoundWidth":15, "BorderColor":"#1C253E", "BorderWidth":1,"TextSize":14, "TextColor":"#FFFFFF","TextBold":"yes"}')
girisyuz.AddNewEvent(ustabtn, tbeOnMouseMove , 'OnUstaEnter');
girisyuz.run;
}


kodum bu şekilde başlatınca çalışıyor ama mouseyi buton üstüne getirdiğimde border rengi değişmiyor 
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" style="display: none !important;">
Yukarı Dön
M-Guney Açılır Kutu İzle
Kıdemli Üye
Kıdemli Üye


Kayıt Tarihi: 16 Eylül 2025
Konum: Konya, Meram, K
Durum: Aktif Değil
Puanlar: 227
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı M-Guney Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 4 Saat 37 Dakika Önce Saat 16:20
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

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');
  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" 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">
Yukarı Dön
M-Guney Açılır Kutu İzle
Kıdemli Üye
Kıdemli Üye


Kayıt Tarihi: 16 Eylül 2025
Konum: Konya, Meram, K
Durum: Aktif Değil
Puanlar: 227
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı M-Guney Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 4 Saat 34 Dakika Önce Saat 16:23
Tam burada 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.

  girisyuz.AddNewEvent(ustabtn, tbeOnMouseMove, 'OnGeneralMouseMove');
  girisyuz.AddNewEvent(anapanel, tbeOnMouseMove, 'OnGeneralMouseMove');
  girisyuz.AddNewEvent(girisyuz, tbeOnMouseMove, 'OnGeneralMouseMove');

Eğer ki form'a yeni bir obje eklenecek ise event tanımlanmalı yoksa o objenin mouse üzerinden çıktığını anlayamaz

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">
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Kutu İzle

Forum Software by Web Wiz Forums® version 12.07
Copyright ©2001-2024 Web Wiz Ltd.

Bu Sayfa 0,047 Saniyede Yüklendi.