crocejf2000
Messages postés260Date d'inscriptionlundi 27 janvier 2003StatutMembreDernière intervention27 août 2008
-
8 avril 2003 à 16:02
cs_Kaid
Messages postés949Date d'inscriptionmardi 2 octobre 2001StatutMembreDernière intervention 8 juillet 2006
-
9 avril 2003 à 13:32
Salut a tous,
Dans mon prog, il faut que je puisse configurer l'impression du header, footer, numero de ligne, sachant que l'utilisateur a le choix de mettre n'importe ou ou il le veut (header gauche,milieu,droit et footer gauche,milieu,bas) le nom du programme ou la date ou le nombre de pages. Pour le traitement c'est bon, mais c'est pour l'UI que je sais pas trop comment faire : comment je peut creer un control qui ressemble a une mini-feuille et voir dedans ou sont placer le infos, et clicker dessus pour en changer. J'avais penser faire ca avec des Combo-box mais c'est vraiment pas top.
Il me faidrai juste un point de départ et apres je devrais me débrouiller. (de quel classe doit-je dériver, etc...)
crocejf2000
Messages postés260Date d'inscriptionlundi 27 janvier 2003StatutMembreDernière intervention27 août 20081 9 avril 2003 à 10:04
J'arrive bien a afficher a peut pres ce que je veux, mais j'arrive pas a recuperer les evenements (click,et...). J'ai encore jamais fait de controles perso donc c'est un peut galere pour moi :
Il passe bien dans le WindowProc et le OnPaint mais pas dans OnLButtonDown. Je sais pas si ca un rapport avec CStatic qui ne renvoi pas d'evenement de click. Sinon, pourquoi ne pas dériver ma classe de CWnd ?
cs_Kaid
Messages postés949Date d'inscriptionmardi 2 octobre 2001StatutMembreDernière intervention 8 juillet 20061 9 avril 2003 à 10:19
Oui c'est vrai, tu peux partir de CWnd. Par contre, si je peux te donner un conseil, ne mélange pas les deux façons de récupérer un message à savoir la surcharge de WindowProc et l'utilisation de MESSAGE_MAP. MESSAGE_MAP est plus simple.
Mais qu'est ce que tu veux faire avec l'événement click-gauche ? Je croyais que tu fesais seulement un contrôle d'affichage.
crocejf2000
Messages postés260Date d'inscriptionlundi 27 janvier 2003StatutMembreDernière intervention27 août 20081 9 avril 2003 à 10:28
J'avais mélanger les 2 façon juste pour le test...
En fait il me faut le click gauche car le control sert a afficher une sorte de mini-page avec header et footer, et il faut que quand je click sur l'header ou le footer de cette mini page, une combo-box apparaisse pour faire le choix de ce que j'y met. En résumé, il faut que je recupere les evenements (click,etc...). Est-ce que ca peut marcher avec CStatic ou il faut que je le fasse avec CWnd (comment faire ??).
Thanks, Hart
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Kaid
Messages postés949Date d'inscriptionmardi 2 octobre 2001StatutMembreDernière intervention 8 juillet 20061 9 avril 2003 à 12:02
Le plus simple est donc de dériver un contrôle de CWnd. Dans ce contrôle, tu surcharges le paint et le click gauche. Il faut ensuite que tu testes dans quelle zone de la mini feuille l'utilisateur a clické et ensuite je pense que le plus simple c'est d'ouvrir une CDialog où l'utilisateur pourra paramètrer son impression. A toi de voir ensuite si le texte saisie par l'utilisateur est affichable sur ta mini feuille. Si il a saisie trois tonnes de texte, l'affichage sera dur.
crocejf2000
Messages postés260Date d'inscriptionlundi 27 janvier 2003StatutMembreDernière intervention27 août 20081 9 avril 2003 à 13:25
J'ai vu dans la MSDN qu'il était préferable de créer un control ActiveX, qu'en pense tu? J'ai commencé avec l'appwizard et je pense (j'espere) avoir des résultat.
cs_Kaid
Messages postés949Date d'inscriptionmardi 2 octobre 2001StatutMembreDernière intervention 8 juillet 20061 9 avril 2003 à 13:32
Je trouve la solution pas géniale. ActiveX est plus long à mettre en place et à développer qu'un simple subclassing.
L'intérêt d'ActiveX est de partager les composants entres VB, VC++, IE, ..., mais il ne faut pas oublier d'enregistrer le contrôle sur la machine cliente.