begin process at 2010 02 10 07:16:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

J'AI BESOIN D'AIDE !!!! :O

 > 

Stringgrid + couleur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Stringgrid + couleur

mardi 28 septembre 2004 à 08:17:41 | Stringgrid + couleur

swiss_cheese10

Bonjour tout le monde,

voilà j'ai un chtit problème pour mon projet. J'utilise un TStringGrid et j'ai pas mal de cases avec une seule lettre par case.
J'aimerais que quand l'utilisateur clique sur une case, la couleur de la police change MAIS ATTENTION ! Pas que la couleur change juste sur la case cliquée mais qu'elle change et qu'elle reste jusqu'à ce que le projet s'arrête...
J'ai trouvé comment faire pour que la couleur change juste sur la case cliquée mais je ne sais pas comment faire pour que la couleur reste changée tout le temps...

Voilà j'espère que vous pourrez m'aider...
En attendant bonne prog ! @+
mardi 28 septembre 2004 à 09:15:17 | Re : Stringgrid + couleur

Loulibier

Membre Club
salut,

il faut que tu mémorises les cellules sur lequels tu as déjà cliqué et tu les redessine à chaque fois.

Bonne Prog,

Olivier
mardi 28 septembre 2004 à 09:21:47 | Re : Stringgrid + couleur

swiss_cheese10

Merci...

Et t'as pas un petit exemple ??
mardi 28 septembre 2004 à 10:21:38 | Re : Stringgrid + couleur

Loulibier

Membre Club
Réponse acceptée !
voici le code :

public
{ Déclarations publiques }
bCellule : array of array of boolean;
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
iNoCol : integer;
iNoRow : integer;
begin
// Dimentionnement et Initialisation du Tableau;
SetLength(bCellule,StringGrid1.ColCount);

for iNoCol := 0 to High(bCellule) do
SetLength(bCellule[iNoCol],StringGrid1.RowCount);

for iNoCol := 0 to High(bCellule) do
begin
for iNoRow := 0 to High(bCellule[iNoCol]) do
bCellule[iNoCol][iNoRow] := False;
end;
end;

procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
// Mémorise la cellule cliquer
bCellule[ACol][ARow] := True;
end;

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
// Dessine avec la couleur selectionné
if (ACol > 0) and (ARow > 0) then
begin
if bCellule[ACol][ARow] = True then
StringGrid1.Canvas.Brush.Color := clBlue
else
StringGrid1.Canvas.Brush.Color := clWhite;

StringGrid1.Canvas.TextRect(Rect,2,2,StringGrid1.Cells[ACol,ARow]);
end;
end;


Bonne Prog,

Olivier
mardi 28 septembre 2004 à 10:34:44 | Re : Stringgrid + couleur

swiss_cheese10

Merci beaucoup !

J'ai encore quelques petits prblèmes d'affichage mais je vais essayer d'analyser ton code pis de me démmerder tout seul...

Merci ! Bye...
mardi 28 septembre 2004 à 10:55:48 | Re : Stringgrid + couleur

swiss_cheese10

J'ai encore quelques problèmes paske j'ai pas mis de FixedCols et de FixedRows. Donc ca prend pas en compte la 1ère colonne et la 1ère ligne...
Sinon a part ca, faut que je modifie juste la police mais ca y a qu'un mot a modifier...
mardi 28 septembre 2004 à 11:13:37 | Re : Stringgrid + couleur

Loulibier

Membre Club
il faut que tu enlève la condition :
if (ACol > 0) and (ARow > 0) then

de la procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);

pour modifier la police :
StringGrid1.Font.Name := 'Nom ta Font';


Bonne Prog,

Olivier.
mardi 28 septembre 2004 à 11:22:12 | Re : Stringgrid + couleur

swiss_cheese10

Ouais en fait, c'est pas le nom de la police mais c'est la couleur.
Au lieu de : StringGrid1.Canvas.Brush.Color, faut que je mette StringGrid1.Canvas.Font.Color non ?
mardi 28 septembre 2004 à 11:32:53 | Re : Stringgrid + couleur
mardi 28 septembre 2004 à 13:05:07 | Re : Stringgrid + couleur

swiss_cheese10

J'ai encore un tit prob...

Le truc, y m'affiche seulement la case en haut à gauche et après, plus rien...

C'est pas ca :

StringGrid1.Canvas.TextRect(Rect,2,2,StringGrid1.Cells[ACol,ARow]);
qui pose problème ??

1 2

Cette discussion est classée dans : voil, couleur, case, stringgrid, change


Répondre à ce message

Sujets en rapport avec ce message

Panel qui ne change pas de couleur [ par etrix ] Salut !voilà je tourne sous delphi 7 et lorsque je met un panel sur ma form et que je personnalise la couleur, elle ne change pas :/ j'ai déja eu souv panel qui change de couleur??? [ par apoke ] Salut tout le monde j'ai un problème avec un panel dont la couleur lors de la création est bleu.en fait il y'a des dbedit connecté à une table dans ce Récupérer la couleur d'une cellule stringGrid? [ par ataeallah ] Bonjour,Comment récupérer la couleur d'une cellule dans une stringGrid (Par exemple la premier cellule de la deuxième ligne)?Merci d'avance.ABDA@+ Comment changer la couleur des lignes séparatifs d'un stringgrid? [ par philpas ] Bonjour,Ma question est dans le titre. Comment changer la couleur des lignes séparatifs d'un stringgrid?.lorque la cellule est fixe, les lignes dessin couleur de fond d'une cellule de stringgrid HELP PLZ [ par almouminoun ] bonjour à tout le monde, enfaite je suis un etudiant en informatique, et je voudrais faire un petit programme genre serveur et multiclient, mon proble STRINGGRID [ par LREP ] Je voudrai afficher un stringgrid de 25 cases (5 x 5) sans colonne ni rangée fixesavec des chiffres de 1 à 25..couleur de la fonte noire, couleur du f Capter un click dans stringgrid [ par sidena ] J'ai deux questions sur l'emploi des stringgrids  :1 - Je voudrais capter un évènement chaque fois que je clique sur une case d'une sringgrid.J'ai ess StringGrid - Cellule multi couleur [ par kizermomo ] Bonjour à tous, il y a un début à tout alors voici mon premier post, n'ayant trouvé aucune information sur ce sujet.Voilà mon problème, j'ai une Check StringGrid Changer la couleur de fond en mode edition [ par lepotager ] bonjour,J'ai un stringgrid qui fonctionne très bien, couleurs modifiées et tout et tout...Mais... j'aimerai que lorsque l'utilisateur entre un texte d changer la couleur d'un Stringgrid [ par codepvc ] Bonjour, J'ai un problème pour l'utilisation d'un Stringgrid si quelqu'un peut m'aider, Je


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales