2017-10-20 12 views
0

Je développe un complément à PowerPoint. Je veux placer la forme d'utilisateur créée sur un écran en se basant sur une position de forme PowerPoint, la forme d'utilisateur devrait être placée au-dessus de la forme. J'ai réussi à trouver des méthodes potentiellement utiles pour Excel: application.usewidth application.usedheight, activewindow.usedheight et activewindow.usewidth, mais je n'ai pas trouvé de telles méthodes pour PowerPoint. Y at-il un moyen de "convertir" la position de forme PowerPoint en position de formulaire utilisateur? Est-il possible de vérifier la largeur et la hauteur de toutes les tâches utilisées pour déterminer la position de la "vitre" avec la glissière, etc.?comment placer la forme d'utilisateur en se basant sur une position d'une forme

Répondre

0

Il y a quelque temps, j'ai réussi à le faire.

private void UpdatePosition(PPT.Shape shape, PPT.Presentation pres) 
{ 
this.Left = pres.Application.ActiveWindow.PointsToScreenPixelsX((float)(0 + shape.left + 0.5 * shape.Width)) - (0.5 * this.Width); 
this.Top = pres.Application.ActiveWindow.PointsToScreenPixelsY((float)(0 + shape.Top - 20)) - this.Height; 
}