Bonjour à vous tous
Je me permets de vous contacter pour un problème que je n'arrive pas à résoudre :
J'ai une TFORM sur laquelle s'affichent plusieurs bitMap, différentes en fonction des actions de l'utilisateur. Il est donc difficile, à un instant donné, de savoir ce que la Form contient comme BitMap et où elles se trouvent. C'est pour cette raison que je n'ai pas implémenté l'événement "OnPaint" et que j'ai bloqué le déplacement de la Form.
Tout se passe bien sauf que si on appuie sur les touches Tab ou Alt, l'événement "OnPaint" est lancé : toutes les bitmap s'effacent !!!
J'ai essayé également ceci :
protected
procedure WMPaint(var Message: TWMPaint); message WM_PAINT;
.....
procedure TForm.WMPaint(var Message: TWMPaint);
begin
if PeutDessiner then
inherited ;
end;
J'ai donc initialiser PeutDessiner à Vrai quand j'autorise à Redessiner et à Faux quand je n'autorise pas : En appuyant sur la touche Tab ou ALT, la fenêtre s'efface quand même alors que PeutDessiner est à faux ?!!!!
Est-ce qu'il est possible d'intercepter l'appui de ces deux touches ou de les bloquer momentanément avant que "OnPaint" ne soit appelé ( j'ai essayé onKeyPress, OnKeyDown, OnKeyUp : elles sont appelées après OnPaint donc ne sont pas exploitables hélas ) ?
Je vous remercie par avance de vos réponses et vous souhaite une très bonne journée.
Laurent CUSSAC
Partager