[DELPHI OU API] Petite interogation sur les icones...

Petite interogation sur les icones... [DELPHI OU API] - Programmation

Marsh Posté le 23-05-2002 à 14:00:13    

Comment mettre le fond du texte des icones en transparent ? Ceci afin de ne plus se soucier de la couleur du fond d'écran lorsqu'on change de papier pein, et de ne plus avoir de paté moche autour du texte des icones ...

Reply

Marsh Posté le 23-05-2002 à 14:00:13   

Reply

Marsh Posté le 23-05-2002 à 14:25:59    

Reply

Marsh Posté le 23-05-2002 à 14:54:48    

La procedure, c'est cool, mais par contre je n'arrive pas à la mettre en oeuvre...
 
J'ai des erreurs, et je n'arrive pas à comprendre d'où elle viennent... nottement :
 
Declaration forward ou external non satisfaite
 
Qu'est-ce que ça signifie ?

Reply

Marsh Posté le 23-05-2002 à 14:57:20    

Que la procédure est pas déclarée dans la partie interface alors qu'elle l'est dans la partie implentation, ou le contraire


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 23-05-2002 à 15:02:37    

Bon, j'avais déjà résolu le pb, mais par contre, il me dit aussi :
 
- Identificateur non déclaré LVM-SETTEXTBKCOLOR
- Identificateur non déclaré LVM-SETTEXTCOLOR
 
Je ne sais pas comment déclarer ces choses... A moins qu'il faille les transtyper...

Reply

Marsh Posté le 23-05-2002 à 15:20:28    

Faut mettre commctrl dans les uses, vu que c'est un truc de la listview et que la listview est déclarée là.
(et c'est des _ pas des -)

 

[jfdsdjhfuetppo]--Message édité par antp le 23-05-2002 à 15:20:43--[/jfdsdjhfuetppo]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 23-05-2002 à 15:24:13    

Bien joué...
 
Je n'ai plus qu'une erreur de compilation :  
 
- Variable requise
 
c'est pour la ligne
 
EnumChildWindows(h, @EnumChildProc, 0);
 
En tout cas merci de l'aide que tu m'apporte, c'est trop sympa

Reply

Marsh Posté le 23-05-2002 à 15:25:27    

EnumChildProc est défini comment ?
 
Balance tout le code ça ira plus vite :D

 

[jfdsdjhfuetppo]--Message édité par antp le 23-05-2002 à 15:25:44--[/jfdsdjhfuetppo]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 23-05-2002 à 15:29:00    

function EnumChildProc(AHandle: hWnd): BOOL; stdcall;
procedure ApplyColor();
 
 
function TfrmMain.EnumChildProc(AHandle: hWnd): BOOL; stdcall;
// callback for EnumChildWindows.
var
  tmpS: string;
  theClassName: string;
  clrText: Integer;
begin
  Result := True;
  SetLength(theClassName, 256);
  GetClassName(AHandle, PChar(theClassName), 255);
  tmpS := PChar(theClassName);
  if Pos('SysListView32', tmpS) > 0 then
    begin // ColorToRGB(clNone)
      clrText := -1; // Desired background color
      SendMessage(AHandle, LVM_SETTEXTBKCOLOR, 0, clrText);
      clrText := $FFFFFF; // Desired text color (BGR)
      SendMessage(AHandle, LVM_SETTEXTCOLOR, 0, clrText);
    end;
end;
 
procedure TfrmMain.ApplyColor();
const
  WM_REFRESH_DESKTOP = $A065;
var
  WndClass: array[0..50] of char;
  h: THandle;
begin
  WndClass := 'Progman';
  h := FindWindow(@WndClass[0], 'Program Manager';);
  EnumChildWindows(h, @EnumChildProc, 0);
  SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);
end;

Reply

Marsh Posté le 23-05-2002 à 15:35:38    

function TfrmMain.EnumChildProc(AHandle: hWnd): BOOL; stdcall;
 
nan tu peux pas, tu dois faire juste
 
function EnumChildProc(AHandle: hWnd): BOOL; stdcall;


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 23-05-2002 à 15:35:38   

Reply

Marsh Posté le 23-05-2002 à 15:48:19    

Quand j'enlève le 'TfrmMain', le bug 'Variable requise' ne disparait pas, mais en plus le bug 'Declaration foward ou external non satisfaite' réapparait...
 
Je ne comprend vraiment pas comment s'articule tout ça.

Reply

Marsh Posté le 23-05-2002 à 15:53:07    

C'est bon, j'aitrouvé de quoi ça venait : je déclarait la fonction, du coup tout partait en latte...
 
Maintenant, j'aimerai bien savoir comment récuppérer la couleur du texte et du background, pour pouvoir contrôler par période l'état... Avec un GetMessage ? Autre chose ?

Reply

Marsh Posté le 23-05-2002 à 16:03:34    

ça je sais pas... Mais via un autre type de message ou un Get quelque chose ça doit être faisable.
http://groups.google.com


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Sujets relatifs:

Leave a Replay

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