Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2409 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Peut on appliquer un couleur a une pagecontrol?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Peut on appliquer un couleur a une pagecontrol?

n°868128
gronimogro​nimo
Posté le 08-10-2004 à 15:50:33  profilanswer
 

tout est ds le sujet merci ...

mood
Publicité
Posté le 08-10-2004 à 15:50:33  profilanswer
 

n°868151
antp
Super Administrateur
Champion des excuses bidons
Posté le 08-10-2004 à 16:05:41  profilanswer
 

Colorier les onglets ?
Il faut jouer avec OwnerDraw et OnDrawTab


Message édité par antp le 08-10-2004 à 16:05:54

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°900356
gronimogro​nimo
Posté le 17-11-2004 à 08:51:58  profilanswer
 

antp a écrit :

Colorier les onglets ?
Il faut jouer avec OwnerDraw et OnDrawTab


 
merci pour OndrawTab c bien ca
mais j arrive pas a m en servir ... je comprends pas comment elle marche... tu pourrais m eclaircir ... merci
mais je comprends pas comment tu arrives a connaitre toute c fonction .. comment tu as fait pour la trouver  ? tu la connaissais?

n°900446
antp
Super Administrateur
Champion des excuses bidons
Posté le 17-11-2004 à 11:02:03  profilanswer
 

gronimogronimo a écrit :


mais je comprends pas comment tu arrives a connaitre toute c fonction .. comment tu as fait pour la trouver  ? tu la connaissais?


 
Ça fait presque 5 ans que j'ai découvert Delphi, et plus de 3 ans que je l'utilise au boulot [:spamafote]
 


procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl; TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
  h, L: Integer;
begin
  if Active then
  begin
    Control.Canvas.Brush.Color := clGreen;
    Control.Canvas.Font.Color := clFuchsia;
  end
  else
    case TabIndex of
      1:
        begin
          Control.Canvas.Brush.Color := clRed;
          Control.Canvas.Font.Color := clWhite;
        end;
      2:
        begin
          Control.Canvas.Brush.Color := clBlue;
          Control.Canvas.Font.Color := clYellow;
        end;
    else
      Control.Canvas.Brush.Color := clWhite;
      Control.Canvas.Font.Color := clBlack;
    end;
  Control.Canvas.Pen.Style := psClear;
  Control.Canvas.Rectangle(Rect);
  h := Control.Canvas.TextHeight((Control as TPageControl).ActivePage.Caption);
  L := Rect.Left;
  if Active then
    Inc(L, 4);
  Control.Canvas.TextOut(L, Rect.Top + (Rect.Bottom - Rect.Top - h) div 2, (Control as TPageControl).ActivePage.Caption);
end;


 
2è tab en rouge, 3è en bleu, les autres en blanc, l'actif en vert, et le texte qui change de couleur aussi (c'est moche mais au moins on voit ce qui se passe :D)

n°900450
gronimogro​nimo
Posté le 17-11-2004 à 11:05:49  profilanswer
 

lol merci je v tester :-)
plus c voyant plus c clair

n°900485
gronimogro​nimo
Posté le 17-11-2004 à 11:24:48  profilanswer
 

en fait c bon g trouver
vu que je viens de voir que tu mavai parlé d overdraw ! :-)
fo l activer


Message édité par gronimogronimo le 17-11-2004 à 11:37:25
n°900506
antp
Super Administrateur
Champion des excuses bidons
Posté le 17-11-2004 à 11:40:05  profilanswer
 

[:antp:9] évidemment si tu lis pas tout

n°900508
gronimogro​nimo
Posté le 17-11-2004 à 11:40:48  profilanswer
 

héhé merci encore :-)

n°901471
gronimogro​nimo
Posté le 18-11-2004 à 08:36:36  profilanswer
 

y a un petit soucis avec ton prog qd meme
avec les noms des onglets  
ca fait n imp !
lol
les noms d onglets se correspondent pas ... et pi il change d onglet....
:-(

n°901501
antp
Super Administrateur
Champion des excuses bidons
Posté le 18-11-2004 à 09:37:12  profilanswer
 

ha ouais, mais bon, t'aurais pu te douter qu'il faut remplacer ActivePage par Pages[TabIndex] :p
(vu qu'ActivePage c'est la page sélectionnée, et non celle qu'on est en train de colorier, celle-là c'est celle donnée par TabIndex)

mood
Publicité
Posté le 18-11-2004 à 09:37:12  profilanswer
 

n°901508
gronimogro​nimo
Posté le 18-11-2004 à 09:43:43  profilanswer
 

antp a écrit :

ha ouais, mais bon, t'aurais pu te douter qu'il faut remplacer ActivePage par Pages[TabIndex] :p
(vu qu'ActivePage c'est la page sélectionnée, et non celle qu'on est en train de colorier, celle-là c'est celle donnée par TabIndex)


 
merci je connaissais pas cette option "pages" ...
j allais contourner le probleme autrement .. mais je pensais qu il existait un parametre comme celui que tu viens de me donner ...
merci

n°901529
antp
Super Administrateur
Champion des excuses bidons
Posté le 18-11-2004 à 10:25:22  profilanswer
 

gronimogronimo a écrit :

merci je connaissais pas cette option "pages" ...


 
bah c'est un peu la seule solution pour accéder aux pages de manière générique... (genre dans une boucle)

n°901548
gronimogro​nimo
Posté le 18-11-2004 à 10:40:40  profilanswer
 

b j en suis pas servi ds une boucle encore .. donc voila
mais merci ca peut servir
je me servis individuellement des Tabsheet.........

n°1936904
atlas56
salam oualikoum
Posté le 02-11-2009 à 00:19:19  profilanswer
 

bonjour  
le meme proble me seulement avec le image list , comment peut on les voir apres avoir met ownerdraw a true.
merci d'avance  
salutations.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Peut on appliquer un couleur a une pagecontrol?

 

Sujets relatifs
Couleur de liens ....couleur de fond lors chargement image
Couleur de fond d'une textbox ou d'une text area....Couleur par défaut
[javascript] changer couleur dans plusieurs cellules[BCB6] problème de conversion de couleur hexa
Lire la valeur de la couleur d'un pixel en 800*600 en 32 bits ?récupérer la couleur d'un pixel sur l'écran ?
changer la couleur de la fenetre dans la barre de tachesappliquer un syle different a un champ texte et a un radio button ?
Plus de sujets relatifs à : Peut on appliquer un couleur a une pagecontrol?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR