5

बनाम 2008 के संपादक पर एक पारदर्शी रूप/विंडो दिखाने के लिए, मैं बनाम 2008 के लिए एक एडिन बनाना चाहता हूं।विजुअल स्टूडियो 2008 की संपादक विंडो की शीर्ष लोड स्क्रीन स्थिति कैसे प्राप्त करें?

कोड निम्नलिखित, "aw.Left" और "aw.Top" में

सापेक्ष मूल्य है, दोनों है 1.

प्रश्न:

  1. क्या आप जानते हैं पाने के लिए करते हैं संपादक भाग की बाएं/शीर्ष स्क्रीन स्थिति?

  2. या मैं कैरेट को शीर्ष/बाएं चार स्थिति में ले जा सकता हूं, लेकिन क्या आपको पता है कि देखभाल की स्क्रीन स्थिति कैसे प्राप्त करें?

ग्रेट धन्यवाद।

public void Exec(string commandName, vsCommandExecOption executeOption, ref object varIn, ref object varOut, ref bool handled) 
    { 
     handled = false; 
     if(executeOption == vsCommandExecOption.vsCommandExecOptionDoDefault) 
     { 
      if(commandName == "MyAddin1.Connect.MyAddin1") 
      { 
       Window aw = _app.ActiveWindow; 
       int left = aw.Left; 
       int top = aw.Top; 

editor part

+0

['LinkedWindowFrame'] (http://msdn.microsoft.com/en-us/library/vstudio/envdte.window.linkedwindowframe.aspx) कथित रूप से माता-पिता को प्राप्त करता है ताकि आप बस ऊपर और ऊपर जा सकें आपके पास पूर्ण स्थिति है। या आप अपना ओवरले खिड़की के बच्चे को बना सकते हैं और पूर्ण स्थिति की आवश्यकता से बच सकते हैं। –

+0

शायद आप मैक्रोज़ के साथ ऐसा कर सकते हैं – Kuzgun

उत्तर

0

आप Win32 ClientToScreen फ़ंक्शन का उपयोग कर सकते हैं।

निम्नलिखित बाहरी समारोह घोषित:

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)] 
public struct POINT 
{ 
    public int x; 
    public int y; 
}; 

[DllImport("user32.dll")] 
[return: MarshalAs(UnmanagedType.Bool)] 
public static extern bool ClientToScreen(IntPtr hwndClient, ref POINT lpPoint); 

आप इस रूप में

POINT pt = new POINT(); 
pt.x = left; 
pt.y = top; 
ClientToScreen(myForm.Handle, ref pt); 

इस के बाद इस प्रकार कॉल कर सकते हैं, pt pt के निरपेक्ष निर्देशांक शामिल करना चाहिए। विपरीत ऑपरेशन के लिए ScreenToClient का उपयोग करें। दोनों का उपयोग करके, आप एक और विंडो के सापेक्ष एक बिंदु का स्थान भी प्राप्त कर सकते हैं (आपको दोनों विंडो के विंडो हैंडल को पता है)।

संबंधित मुद्दे