begin process at 2012 02 10 15:04:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

Divers

 > 

LIstBox..


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

LIstBox..

mardi 21 juin 2005 à 11:40:29 | LIstBox..

XgaletteX

A quel niveau peut on utiliser la proc drawtext pour un list box
mardi 21 juin 2005 à 13:34:22 | Re : LIstBox..

ni69

Membre Club
Dans l'événement OnDrawItem

@+
Bonne Prog'
Nico [www.ni69.new.fr]

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
mardi 21 juin 2005 à 14:04:38 | Re : LIstBox..

XgaletteX

Ca ne marche pas, voici mon code:

procedure Tfichetype2.ListQuestionDrawItem(Control: TWinControl;
  Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
     inherited;

     with Control as TListBox do with Canvas do
          // Dessin du texte en utilisant la fonction API
          DrawText(Canvas.Handle,PChar(ListQuestion.Items[Index]),-1,Rect,DT_WORDBREAK);
end;

Ca ne change rien...

mardi 21 juin 2005 à 17:55:55 | Re : LIstBox..

florenth

Membre Club
Pourquoi ne pas utiliser directement l'implémentation de cet API dnas la classe TCanvas ?
Je veux parler de la procedure TextOut().

Un exemple:

procedure TFicheType2.ListQuestionDrawItem(Control: TWinControl;
  Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
    inherited;     
    with (Control as TListBox).Canvas do
          // Dessin du texte en utilisant la fonction du TCanvas
          TextOut(Rect.Left,Rect.Top,ListQuestion.Items[Index]);
end;

Texte de l'aide: " [TextOut] Ecrit une chaîne dans le canevas en commençant au point (X,Y), puis actualise la valeur de PenPos à la fin du dessin de la chaîne ".

Exactement ce qu'il te faut.
@ ++
Florent

Si tu ne te plantes pas ......
tu ne poussera jamais
mardi 21 juin 2005 à 19:35:00 | Re : LIstBox..

ni69

Membre Club
C'est d'ailleurs ce que j'avais déjà proposé..............
http://www.delphifr.com/forum.v2.aspx?ID=489203

@+
Bonne Prog'
Nico [www.ni69.new.fr]

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
mercredi 22 juin 2005 à 09:53:30 | Re : LIstBox..

XgaletteX



Ta proposition avec textout ne marche pas, je simplementcouper les chaines possédant plusieurs mots, donc je dois bien utiliser drawtext mais ici ca ne marche pas 
 
mercredi 22 juin 2005 à 10:13:21 | Re : LIstBox..
mercredi 22 juin 2005 à 14:02:29 | Re : LIstBox..

Kenavo

Réponse acceptée !
Salut,

Je pense qu'il faut :

1 - Mettre la propriété Style du TListBox à lbOwnerDrawVariable
2 - Gérer l'évènement OnMeasureItem
3 - Gérer l'évènement OnDrawItem

procedure
Tfichetype2.ListQuestionMeasureItem(Control: TWinControl; Index: Integer;
  var Height: Integer);
const
  Marge = 2;  // Pour séparer les items
var
  Rect : TRect;
begin
   Rect.Left := 0;
   Rect.Right := (Control as TListBox).ClientWidth;
   with (Control as TListBox).Canvas do
   begin
     // Calcul de la hauteur du rectangle
     DrawText(Handle,PChar(ListQuestion.Items[Index]),-1,Rect,DT_CALCRECT or DT_WORDBREAK);
   end;
   Height := Rect.Bottom - Rect.Top + Marge;
end;

procedure Tfichetype2.ListQuestionDrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
begin
   with (Control as TListBox).Canvas do
   begin
     Fillrect(rect);
     // Dessin du texte en utilisant la fonction API
     DrawText(Handle,PChar(ListQuestion.Items[Index]),-1,Rect,DT_WORDBREAK);
   end;
end;



Ken@vo

Code, Code, Codec !



Cette discussion est classée dans : listbox


Répondre à ce message

Sujets en rapport avec ce message

ListBox ??? [ par Fab ] Salut ,Je possede une listbox avec des doublons et je voudrais savoir comment faire pour parcourir la list et supprimer les lignes des doublons .Merci recuperer la selection d'1 ListBox [ par wittabix ] Salut,je debute en Delphi, j'ai mis u_ne ListBox dans ma form et je voudrais récuperer la selection de l'utilisateur sur cette listbox.Comment faire s Reconnaître un item dans une listbox ? [ par finipe ] Bonjour à tous !J'ai besoin d'aide je me trouve bloqué (à nouveau devrais-je dire...)J'expose mon problème : j'ai une listbox dans laquelle s'ajoute d ListBox... [ par finipe ] Bonjour à tous. Je voudrais savoir s'il y a moyen de manipuler une chaîne de caractère dans une ListBox, sachant que la fin de cette chaîne est variab String déjà existante... [ par finipe ] Bonjour à tous ! J'ai deux problèmes à vous soumettre :- Dans un programme je passe des items d'une combobox à une listbox, d'un simple clique de bout ajouter ligne par ligne dans une listbox [ par ELECTRORESiSTiK ] Bonsoir,Je voudrais ajouter dans une listbox toutes les lignes d'un fichier TXT mais pas avec LoadFileFromFile, de manière avec une boucle, parce que Colones dans une Listbox [ par Lowrad ] Salut... Je suis pas mal nouveau au monde du pascal et delphi...Ce que j'aimerais faire est fort simple.. j'aimerais avoir une listbox qui contient 3 mettre du texte en exposant ou indice dans une listbox [ par magicvinni ] Bonjour, Est il possible de mettre du texte en exposant ou en indice dans une TListBox du style : f1(x)=5x²+2x+1? Sinon que faut il utiliser?Question relooker un listbox [ par lnicos ] ba voilà, c souvent que je vois des programmes avec des listbox de couleur et des styles plus joli que celui par desfaux, j'aimerais savoir comment fa listbox:=probleme!! [ par lugdanum ] bonjour tout le monde: voilà j'ai un boutton qui fait descendre (ou monter)l'élément séléctionner dans une listbox avec ce code: procedure TFormMain.B

Livres en rapport



Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,172 sec (3)

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