Bonjour, j'ai une petite question.
J'aimerais savoir comment on doit procéder afin de modifier la taille (à l'initialisation) de la zone d'affichage d'un contrôle ActiveX.
Merci beaucoup
Bonjour, j'ai une petite question.
J'aimerais savoir comment on doit procéder afin de modifier la taille (à l'initialisation) de la zone d'affichage d'un contrôle ActiveX.
Merci beaucoup
salut ,
dans l'activex ou du coté applicatif ?
Directement dans l'activeX ...
re,
utilise:
voir aussi GetControlSize ...COleControl::SetControlSize
This method sets the position and size of the ActiveX control. This function should not be used in your control constructor.
Note that all coordinates for control windows are relative to the upper-left corner of the control.
BOOL SetControlSize(
int cx,
int cy );
Merci beaucoup, ça marche impec !!
Du coup j'ai une autre petite question, peut-on bloquer le redimensionnement de façon à empêcher l'utilisateur du composant activeX de redimensionner la zone d'affichage ?
selon quels criteres ?
tu peux sur le ondraw faire un controle sur la taille et remettre l'ancienne taille .
reste a savoir comment tu determine la taille de reference ..
ah ok, en fait, pour faire simple, je mets une image de fond, donc je voudrais que le controle prenne les dimensions de l'image (ce qui fonctionne).
Et j'aimerais de plus que l'utilisateur ne puisse pas redimensionner la zone d'affichage du composant activeX.
Je pensais qu'il y avait un moyen de bloquer directement le redimensionnement sans avoir à vérifier si la taille a été modifiée et si c'est le cas la remettre à la bonne dimension.
re,
en fait tu fais le test que si la fonction AmbientUserMode(); renvoie faux .
(tu controles la taille de l'image avec la valeur renvoyée par GetControleSize.)
Merci merci beaucoup , ça marche presque parfaitement.
Je dis "presque" car si effectivement tout se passe bien lorsqu'on essaie d'agrandir la zone d'affichage (celle ci se repositionne immédiatement à sa taille initiale), il n'en est pas de même lorsque l'on réduit la zone.
En effet, à ce moment là, si effectivement la zone se redimensionne à la bonne taille (la taille initiale), le dessin lui n'est pas rafraichi correctement.
Toute la parite entre la zone initiale (avant le redimensionnement) et la zone réduite (après redimentionnement) n'est pas redessiné et je ne comprends pas trop pourquoi car dans OnDraw, je fais bien ré-afficher à chaque fois l'image.
Voici 2 images qui expliqueront probablement mieux que mes commentaires :
http://perso.wanadoo.fr/web.com/Image1.jpg
http://perso.wanadoo.fr/web.com/Image2.jpg
re,
dans le cas de la detection d'un changement de taille et donc du retaillage de la zone rajoute :InvalidateControl();
pour voir .
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager