FENÊTRE UN PEU CUSTOMISÉE

Utilisateur anonyme - 27 nov. 2006 à 14:42
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 - 1 déc. 2006 à 18:52
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40489-fenetre-un-peu-customisee

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
1 déc. 2006 à 18:52
Apparement, il est pas possible d'empècher le TSpeedButton d'afficher sa bordure lorsque la souris se déplace dessus.

Et le TSpeedButton gère Haut, Désactivé, Cliqué, Bas... Mais pas le survol de la souris.

Donc je ne vais pas remplacer les TImages a priori...
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
28 nov. 2006 à 12:12
Salut,

Merci pour toutes ces remarques très constructives .

La prochaine mise à jour arrive très vite.
Utilisateur anonyme
27 nov. 2006 à 17:43
Autre chose :

dans la procedure :TfrmDeadForm.RefreshButton(uToRefresh: TImage; nImageIndex: Integer);

tu déclares URect qui n'est jamais utilisé
à ce propos sais tu que tu peux affecter les valeurs à un TRect en une fois ?
URect := Rect(0, 0, 32, 32);

Sinon à la place d'utiliser des TImages pour en faire des boutons n'est pas la bonne méthode,
trop lourd et trop de code à écrire pour gérer toutes les actions...

Tu pouvais simplement utiliser des TSpeedButton avec les propriétés Flat et Transparent à True
et du coup toute la gestion que tu as mis en place pour gérer les cliques etc n'est plus utile.

Pour le reste je te laisse le soin de repérer tout ce qui est inutile dans le code et mettre ta source à jour

@+
Utilisateur anonyme
27 nov. 2006 à 14:42
Salut,

petite modification pour le déplacement de la fenêtre :

// On déplace la fiche si l'utilsateur maintient le bouton gauche
procedure TfrmDeadForm.imgCrossMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
// Rafraichissement des boutons
RefreshButton(imgMinimize, 0);
RefreshButton(imgClose, 2);

// Déplacement éventuel
ReleaseCapture;
Perform(WM_SYSCOMMAND, SC_MOVE or HTCAPTION, 0);
end;
Rejoignez-nous