OVH Cloud OVH Cloud

[BCB6] Pb conception de compo TTreeView

1 réponse
Avatar
Olivier
Bonjour

j'arrive a mettre un image de fond dans treeview le probleme
est le suivant les texte affichés avec les noeuds etc laisse un blanc entre
mon image de fond,
comment faire pour supprimer cela je voudrais que cela soit unis

voici l'image en lien
http://membres.lycos.fr/osarda/temp/CaptureMytreeview.jpg


J'ai le essaye avec le Canvas mais je ne sais comment faire avez vous une
idée ?

est ce que le canvas s'apllique sur les lignes du trreview ?

il faudrait faire un transparent mais comment ?


J'ai essaye des truc comme

TTreeNode *TN= MyTreeView1->GetNodeAt(TXX,TYY);
MyTreeView1->Canvas->Brush->Style=bsClear;
MyTreeView1->Canvas->Font->Size=14;
MyTreeView1->Canvas->Font->Color= clHighlightText;
MyTreeView1->Canvas->TextOutA(TXX,TYY,TN->Text)

sans grand succes

j'ai essaye votre code et cela ne marche toujours pas
voici ce que je fais

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);

}

}

}



Plus en amont cette fonction est publique dans ma classe je fais
appel a elle lorsque on on veut changer en dynamique le fond d'image
de mon Treeview

Code:
void __fastcall TMyTreeView::PaintBackground()
{

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);
}

}


PaintBackgroundToTreeView(TCustomTreeView *Sender,
const TRect &ARect, bool &DefaultDraw) elle est aiignée sur l'evenement OnCustumDraw

C'est une fonction qui permet de charger l'image elle apelle la fonction
DrawImgBackground(Graphi
cs


::TBitmap * pImg)

Je ne sais pas ou est l'erreur ?

faut il en plus utiliser les fonctions comme TextOut ou DrawText ?
si oui laquelle ? auriez vous un exemple ?

je ne connais pas tres bien la classe TCanvas

Comment recuperer le coordonnees d'un items ?

merci encore de votre aide

--
Cordialement ,
Sarda Olivier

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






















----------------------------------------------------------------------------
----

1 réponse

Avatar
Christian ASTOR
Olivier wrote:

j'arrive a mettre un image de fond dans treeview le probleme
est le suivant les texte affichés avec les noeuds etc laisse un blanc entre
mon image de fond,
comment faire pour supprimer cela je voudrais que cela soit unis



J'avais déjà donné du pseudo-code pour cela (WM_PRINT), mais sans gérer
les scrollings éventuels => Google