HResult ICommDlgBrowser.OnStateChange(IShellView ppshv, CDBOSC uChange)
        {
            if (uChange == CDBOSC.CDBOSC_SELCHANGE)
            {
                if (t.Enabled)
                {
                    t.Stop();
                    t.Start();
                }
                else
                {
                    t.Start();
                }
            }
            else if (uChange == CDBOSC.CDBOSC_SETFOCUS)
            {
                //m_ShellView.OnGotFocus();
            }
            else if (uChange == CDBOSC.CDBOSC_KILLFOCUS)
            {
                //m_ShellView.OnLostFocus();
            }

            return(HResult.S_OK);
        }
示例#2
0
 HRESULT ICommDlgBrowser3.OnStateChange(IShellView ppshv, CDBOSC uChange)
 {
     if (uChange == CDBOSC.CDBOSC_SELCHANGE)
     {
         _OnSelChange();
     }
     return(HRESULT.S_OK);
 }
示例#3
0
 HResult ICommDlgBrowser.OnStateChange(IShellView ppshv, CDBOSC uChange)
 {
     if (uChange == CDBOSC.CDBOSC_SELCHANGE)
     {
         MShellView.OnSelectionChanged();
     }
     return(HResult.S_OK);
 }
示例#4
0
        int ICommDlgBrowser.OnStateChange(IShellView ppshv, CDBOSC uChange)
        {
            if (uChange == CDBOSC.CDBOSC_SELCHANGE)
            {
                var obj = GetSelectionDataObject(ppshv);
                if (obj == null)
                {
                    return(WinError.S_OK);
                }

                var medium    = new STGMEDIUM();
                var formatEtc = new FORMATETC();
                formatEtc.cfFormat = (short)15; // CF_HDROP = 15 (short)System.Windows.Forms.DataFormats.GetFormat(resourceName).Id;
                formatEtc.ptd      = IntPtr.Zero;
                formatEtc.dwAspect = DVASPECT.DVASPECT_CONTENT;
                formatEtc.lindex   = -1;
                formatEtc.tymed    = TYMED.TYMED_HGLOBAL;

                string s = null;

                try
                {
                    obj.GetData(ref formatEtc, out medium);

                    //ReadFileListFromHandle(IntPtr hdrop)
                    IntPtr hdrop = medium.unionmember;

                    StringBuilder sb = new StringBuilder(260); // TODO NativeMethods.MAX_PATH);

                    int count   = DragQueryFile(new HandleRef(null, hdrop), unchecked ((int)0xFFFFFFFF), null, 0);
                    int i       = 0;
                    int charlen = DragQueryFile(new HandleRef(null, hdrop), i, sb, sb.Capacity);
                    s = sb.ToString();
                }
                catch (COMException) { }
                catch (Exception) { }


                //var h = medium.pUnkForRelease

                //        TCHAR path[MAX_PATH];

                //        // check if this single selection (or multiple)
                //        CIDA* cida = (CIDA*)stgmed.hGlobal;
                //        if (cida->cidl == 1)
                //        {
            }

            return(WinError.S_OK);
        }
示例#5
0
 HResult ICommDlgBrowser.OnStateChange(IShellView ppshv, CDBOSC uChange)
 {
     if (uChange == CDBOSC.CDBOSC_SELCHANGE)
     {
         m_ShellView.OnSelectionChanged();
     }
     return HResult.S_OK;
 }