Rendre un TBitBtn plat

Wriggles Messages postés 31 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 10 mars 2009 - 10 mars 2009 à 13:15
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 - 14 avril 2009 à 12:19
Bonjour à tous,

Dans le cadre d'un relooking de l'appli sur laquelle je bosse, on prend le parti de lâcher le 3D des différents composants.

Il m'en reste un qui me pose problème : TBitBtn.

Pour traiter les TButton, j'ai utilisé le code suivant :


<hr />


procedure TForm1.Flatten(theControl: TWinControl);
var
   dwStyle: Longint;
begin
     dwStyle := GetWindowLong(theControl.handle, GWL_STYLE)or BS_FLAT;
     SetWindowLong(theControl.Handle, GWL_STYLE, dwStyle);
end;
 
procedure TForm1.FormCreate(Sender: TObject);
var
  i : Integer;
begin
  for i := 0toSelf.ComponentCount-1do
  begin
    if(Self.Components[i]is TButton)
    or(Self.Components[i]is TBitBtn)then
      Flatten(Self.Components[i]as TWinControl);
  end;
<hr />
Cela marche bien pour les composants TButton (en thème Windows classique) mais ne fait strictement rien sur le TBitBtn.

J'aurais donc deux questions :
. Dans la mesure où ces deux composants ont les mêmes héritages, pourquoi cela ne fonctionne que pour l'un d'entre eux ?
. Sauriez-vous comment rendre le TBitBtn plat ?

Merci. <!-- / message -->

1 réponse

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
14 avril 2009 à 12:19
bonjour,

dwStyle :=  BS_FLAT;

cantador
0
Rejoignez-nous