Comment donner à un formulaire une image d'arrière-plan statique à partir de JPEG et placer des contrôles sur certaines parties de celui-ci?Comment donner à un formulaire une image d'arrière-plan statique à partir de JPEG et y placer des contrôles?
Répondre
Placez un TImage
sur votre formulaire. Attribuez sa propriété Picture
. Mettez vos autres contrôles par-dessus.
Cela pourrait être une solution facile pour vous:
- Chargez le JPEG à Form.OnCreate
- Set TForm.DoubleBuffered True (en Form.OnCreate)
- Dans Form.OnPaint Gestionnaire d'événements dessiner/coller l'image sur le formulaire (Canvas.Draw, le TJPEGPicture devrait en quelque sorte exporter un TGraphic que vous pouvez utiliser pour Draw() ing)
- Placez les objets TImage/TPaintBox (sans images/gestionnaires OnPaint) aux emplacements correspondants et affecter des gestionnaires OnClick
Le but de la quatrième puce me saute aux yeux. Pourquoi voudrions-nous un TImage sans images, ou un TPaintBox sans un gestionnaire OnPaint? –
@Rob Kennedy: Vous pouvez également implémenter des événements OnMouseDown/Up sensibles aux coordonnées de TForm - mais avec TImage/TPaintBox vous pouvez facilement déplacer les zones sensibles à la souris sur TForm. Mais le chevauchement peut provoquer des problèmes de scintillement ou d'autres problèmes graphiques. – Robert
Ou, vous pouvez simplement utiliser un TButton. –
D'oh! D'oh! D'oh! – Mawg