Peut on appliquer un couleur a une pagecontrol?

Peut on appliquer un couleur a une pagecontrol? - Delphi/Pascal - Programmation

Marsh Posté le 08-10-2004 à 15:50:33    

tout est ds le sujet merci ...

Reply

Marsh Posté le 08-10-2004 à 15:50:33   

Reply

Marsh Posté le 08-10-2004 à 16:05:41    

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
Reply

Marsh Posté le 17-11-2004 à 08:51:58    

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?

Reply

Marsh Posté le 17-11-2004 à 11:02:03    

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)

Reply

Marsh Posté le 17-11-2004 à 11:05:49    

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

Reply

Marsh Posté le 17-11-2004 à 11:24:48    

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
Reply

Marsh Posté le 17-11-2004 à 11:40:05    

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

Reply

Marsh Posté le 17-11-2004 à 11:40:48    

héhé merci encore :-)

Reply

Marsh Posté le 18-11-2004 à 08:36:36    

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....
:-(

Reply

Marsh Posté le 18-11-2004 à 09:37:12    

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)

Reply

Marsh Posté le 18-11-2004 à 09:37:12   

Reply

Marsh Posté le 18-11-2004 à 09:43:43    

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

Reply

Marsh Posté le 18-11-2004 à 10:25:22    

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)

Reply

Marsh Posté le 18-11-2004 à 10:40:40    

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

Reply

Marsh Posté le 02-11-2009 à 00:19:19    

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.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed