OVH Cloud OVH Cloud

[BCB6]Tapisser le fond d"un TreeVew

6 réponses
Avatar
Olivier
Bonjour
j'y arrive toujour pas a faire mon fond unis

voila le code que je teste sur un bouton

Code:
void __fastcall TForm1::Button5Click(TObject *Sender)
{
TRect NodeRect;


MyTreeView1->Canvas->Font->Color= clRed;
MyTreeView1->Canvas->Brush->Style=bsClear;
file://MyTreeView1->Canvas->Pen->Color = clWhite; ??

TTreeNode *pTn=TV->Items->GetFirstNode();

while(pTn){

NodeRect.Top = NodeRect.Top + TV->Indent ;
MyTreeView1->Canvas->TextOut(NodeRect.Left, NodeRect.Top, pTn->Text);
pTn=pTn->GetNext();

}


}



ou est l'erreur ? si quelqu'n pouvait m'aider
je suis noyé

merci encore
_________________
Cordialement,
Sarda Olivier
-------------------------------

Site Web :
http://www.membres.lycos.fr/osarda/

Revenir en haut

6 réponses

Avatar
patrox
Il y a un message set back color pour les treeviews, tu dois surement
pouvoir retrouver l'equivalent chez borland.

TreeView_SetBkColor

pat.

"Olivier" a écrit dans le message de
news:3f4a3be9$0$1116$
Bonjour
j'y arrive toujour pas a faire mon fond unis

voila le code que je teste sur un bouton

Code:
void __fastcall TForm1::Button5Click(TObject *Sender)
{
TRect NodeRect;


MyTreeView1->Canvas->Font->Color= clRed;
MyTreeView1->Canvas->Brush->Style=bsClear;
file://MyTreeView1->Canvas->Pen->Color = clWhite; ??

TTreeNode *pTn=TV->Items->GetFirstNode();

while(pTn){

NodeRect.Top = NodeRect.Top + TV->Indent ;
MyTreeView1->Canvas->TextOut(NodeRect.Left, NodeRect.Top, pTn->Text);
pTn=pTn->GetNext();

}


}



ou est l'erreur ? si quelqu'n pouvait m'aider
je suis noyé

merci encore
_________________
Cordialement,
Sarda Olivier
-------------------------------

Site Web :
http://www.membres.lycos.fr/osarda/

Revenir en haut







Avatar
Olivier
je te remercie mais cela
a quel endroit je dois faire appel a cette fonction ?

SetBkMode(MyTreeView1->Canvas->Handle, TRANSPARENT);

je suis noye plouf!!!

voici unbout de code
void __fastcall TMyTreeView::DrawImgBackground(Graphics::TBitmap * pImg)
{
file://ici on dessine le bitmap sur le fond
this->Canvas->Brush->Style = bsClear;

for(int x=0 ; x < this->Width ; x+=pImg ->Width){

for (int y=0 ; y < this->Height ; y+=pImg ->Height){

this->Canvas->Draw(x,y,pImg);

}

}

}

void __fastcall TMyTreeView::PaintBackground()
{
apel a PaintBackgroundToTreeView qui apelle DrawImgBackground

file://ser quand on change le fond du Treevew
int Result=IsValidPathImg(_FPathImgBackground);

if(Result==FILE_OK){

PaintBackgroundToTreeView(_Sender,_ARect,_DefaultDraw);

this->Invalidate(); // redesinne le ctrl treeview


}else{

ThrowError(Result);
}

}
Avatar
Olivier
j'ai trouve

SetBkMode(MyTreeView1->Canvas->Handle, TRANSPARENT);

Bonjour
j'y arrive toujour pas a faire mon fond unis avec un imzge de fond

voila le code que je teste sur un bouton

Code:
void __fastcall TForm1::Button5Click(TObject *Sender)
{
TRect NodeRect;

MyTreeView1->Canvas->Font->Color= clRed;
MyTreeView1->Canvas->Brush->Style=bsClear;
file://MyTreeView1->Canvas->Pen->Color = clWhite; ??

TTreeNode *pTn=TV->Items->GetFirstNode();

while(pTn){

NodeRect.Top = NodeRect.Top + TV->Indent ;
MyTreeView1->Canvas->TextOut(NodeRect.Left, NodeRect.Top, pTn->Text);
pTn=pTn->GetNext();

}
}

ou est l'erreur ? si quelqu'n pouvait m'aider
je suis noyé

merci encore
_________________
Cordialement,
Sarda Olivier
-------------------------------

Site Web :
http://www.membres.lycos.fr/osarda/
Avatar
Olivier
je te remercie mais cela
a quel endroit je dois faire appel a cette fonction

je suis noye plouf!!!

voici unbout de code
void __fastcall TMyTreeView::DrawImgBackground(Graphics::TBitmap * pImg)
{
file://ici on dessine le bitmap sur le fond
this->Canvas->Brush->Style = bsClear;

for(int x=0 ; x < this->Width ; x+=pImg ->Width){

for (int y=0 ; y < this->Height ; y+=pImg ->Height){

this->Canvas->Draw(x,y,pImg);

}

}

}
apel a PaintBackgroundToTreeView qui apelle DrawImgBackground

void __fastcall TMyTreeView::PaintBackground()
{
apel a PaintBackgroundToTreeView qui apelle DrawImgBackground

file://ser quand on change le fond du Treevew
int Result=IsValidPathImg(_FPathImgBackground);

if(Result==FILE_OK){

PaintBackgroundToTreeView(_Sender,_ARect,_DefaultDraw);

this->Invalidate(); // redesinne le ctrl treeview


}else{

ThrowError(Result);
}

}







--
Cordialement ,
Sarda Olivier

Site Web:
http://membres.lycos.fr/osarda
Avatar
Olivier
desolie j'ai envoye 3 fois le meme message

--
Cordialement ,
Sarda Olivier

Site Web:
http://membres.lycos.fr/osarda
Avatar
Neilos
Si tu veux juste mettre une seule couleur en fond.... il suffit de
changer la propriété Color de ton TTreeView...

Si c'est pour mettre une image écrit moi jte répondrais, là g la flemme
LOL

--
Neilos