Couleur de fond d'un objet ole word

Résolu
daiv36 Messages postés 17 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 14 mars 2005 - 1 déc. 2004 à 10:56
astrosug44 Messages postés 29 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 3 février 2007 - 3 juin 2005 à 15:33
Je souhaite faire un diaporama avec des fichiers word.
Tous fonctionne parfaitement ... le seul hic, c'est que le fond de toutes les pages s'affichent en gris. j'ai beau modifier la propriété Color du composant TOleContainer ou de la fiche TForm, rien n'y fait. J'aimeris que le fond soit blanc comme dans word et non gris. Merci d'avance pour vos réponse.

7 réponses

JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
2 déc. 2004 à 10:31
voici un bout de code qui te permetra de choper et de changer les couleurs systeme :

const
  ColorArray: array [0..25] of Integer = (COLOR_3DHILIGHT, COLOR_3DLIGHT,
    COLOR_3DSHADOW, COLOR_3DDKSHADOW, COLOR_3DFACE, COLOR_ACTIVEBORDER,
    COLOR_ACTIVECAPTION, COLOR_APPWORKSPACE, COLOR_BACKGROUND,
    COLOR_BTNFACE, COLOR_BTNTEXT, COLOR_CAPTIONTEXT, COLOR_GRAYTEXT,
    COLOR_HIGHLIGHT, COLOR_HIGHLIGHTTEXT, COLOR_INACTIVEBORDER,
    COLOR_INACTIVECAPTION, COLOR_INACTIVECAPTIONTEXT, COLOR_INFOBK,
    COLOR_INFOTEXT, COLOR_MENU, COLOR_MENUTEXT, COLOR_SCROLLBAR,
    COLOR_WINDOW, COLOR_WINDOWFRAME, COLOR_WINDOWTEXT);

procedure TForm1.SetColor(Index: Integer; Value: TColor);
var
  Tmp: Integer;
begin
  Tmp := ColorArray[Index];
  SetSysColors(1, Tmp, Value);
end;

function TForm1.GetColor(Index: Integer): TColor;
begin
  Result := GetSysColor(ColorArray[Index]);
end;


pourc e que tu chch il me semble que c'est "COLOR_3DFACE", verifie la couleur en posant un TPanel par exemple, puis en faisant
Panel1.Color := GetColor(4);

le 4 étant le COLOR_3DFACE
si c'est la couleur a modifier, tu pourras faire :
SetColor(4, clWhite);

pour mettre du blanc :)

j'espere que ça va t'aider

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! ;)

-------------------------------------------
http://diabloporc.free.fr : mon site refait ! Delphi power !
3
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
1 déc. 2004 à 21:55
qqchose de ton theme windows est gris, et c cette couleur ke recup ton ole... regarde dans ton theme ce qui est en gris (proprietes d'affichage, theme, avancé)

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! ;)

-------------------------------------------
http://diabloporc.free.fr : mon site refait ! Delphi power !
0
daiv36 Messages postés 17 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 14 mars 2005
2 déc. 2004 à 08:48
Effectivement quand je choisit la couleur banche pour l'element Objets 3D dans le theme de windows mon diaporama apparait bien sur fond blanc.

Cependant ca change toute l'apparence de windows et pour les utilisateur c pas top :-\. Est-il possible de modifier ce parametre a partir de delphi ? De maniere a ce que je puisse le changer au debut et a la fin du diaporama.

En tout cas je te remercie, au moins maintenant g une solution.
0
daiv36 Messages postés 17 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 14 mars 2005
2 déc. 2004 à 17:16
wahoooo !!! ca c de la réponse efficace ; vu le code je pensait que ca allait etre galère et en fait en 5 minutes c t torché ! Un grand merci à toi JulioDelphi
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
astrosug44 Messages postés 29 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 3 février 2007
3 juin 2005 à 11:47
Ahhhh c'est exactement le code que je cherchait pour mon prog....
j'ai essayé mais chez moi sa fonctionne pas :
l'erreur me renvoie à cette ligne :
procedure TForm1.SetColor(Index: Integer; Value: TColor);

il je croie 'setcolor non délcaré ...'

comment ce se fait ????
0
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
3 juin 2005 à 12:23
Tu dois aussi déclarer SetColor dans les procédures (dans le haut de ton code) :



...

private

procedure SetColor(Index: Integer; Value: TColor);

...
0
astrosug44 Messages postés 29 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 3 février 2007
3 juin 2005 à 15:33
C'est bon ca fonctionne j'avais tout simplement oublié de déclarer.....
Par contre comment faire pour récupérer les couleur système par défaut ????
car avec mon programme je les modifie en cliquant sur un Bouton et j'aimerais qu'en cliquant sur un autre bouton on récupère les couleur système qu'il y avait .

Merci d'avance,
Guillaume
0