Bonjour,
J'utilise un ListBoxDrawItem pour une ListBox donc, et ce dernier ne fonctionne pas, alors que j'utilise dans un autre projet et il fonctionne sans aucun problème.
Voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
procedure TformAna.ListBoxDrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
begin
  with ListBox do
    with Canvas do
    begin
      // on dessine le fond des lignes en alternant les couleurs
      if Index mod 2 <> 1 then
        Brush.Color := clwhite
      else
        Brush.Color := $00F8D1C5;
      FillRect(Rect);
      // affichage lorsque la ligne est sélectionnée
      if (odFocused in State) then
      begin
        Brush.Color := $00F8D1C5;
        FillRect(Rect);
        Font.Color := clBlue;
        Font.Style := Font.Style + [fsBold];
      end
      else
      begin
        Font.Color := clblack;
      end;
      DrawText(Canvas.Handle, PChar(Items[Index]), -1, Rect,
        DT_VCENTER Or DT_SINGLELINE Or DT_LEFT);
    end;
end;
Je tiens à préciser que ce code est utilisé dans un TcxGrid il s'ouvre automatiquement lorsque l'on commence à taper du texte dans une colonne.
De plus cet ensemble ce situe dans une form qui s'ouvre en popup lors du changement de données (DataChang) d'une autre Grid.
Enfin le code du MeasureItem de la ListBox ne fonctionne pas non plus alors que le ListBoxKeyDown fonctionne.

Dernière information : Je sais pas si c'est en rapport avec ce problème là, mais j'ai un mainmenu au sein de ma form qui n'apparaît pas quand le programme est lancé, curieux...
Merci d'avance