示例#1
0
 internal static extern bool GetWindowInfo(HandleRef hwnd, out WINDOWINFO pwi);
示例#2
0
 internal static extern bool GetWindowInfo(IntPtr hwnd, out WINDOWINFO pwi);
示例#3
0
            private bool FileDialogEnumWindowCallBack(IntPtr hwnd, int lParam)
            {
                StringBuilder className = new StringBuilder(256);
                NativeMethods.GetClassName(new HandleRef(this,hwnd), className, className.Capacity);
                int controlID = NativeMethods.GetDlgCtrlID(hwnd);
                WINDOWINFO windowInfo;
                NativeMethods.GetWindowInfo(new HandleRef(this,hwnd), out windowInfo);

                // Dialog Window
                if (className.ToString().StartsWith("#32770"))
                {
                    _BaseDialogNative = new MSFileDialogWrapper(_CustomControl);
                    _BaseDialogNative.AssignHandle(hwnd);
                    return true;
                }

                switch ((ControlsId)controlID)
                {
                    case ControlsId.DefaultView:
                        _CustomControl._hListViewPtr = hwnd;
                        NativeMethods.GetWindowInfo(new HandleRef(this,hwnd), out _ListViewInfo);
                        _CustomControl.UpdateListView();
                        break;
                    case ControlsId.ComboFolder:
                        _ComboFolders = hwnd;
                        _ComboFoldersInfo = windowInfo;
                        break;
                    case ControlsId.ComboFileType:
                        _hComboExtensions = hwnd;
                        _ComboExtensionsInfo = windowInfo;
                        break;
                    case ControlsId.ComboFileName:
                        if (className.ToString().ToLower() == "comboboxex32")
                        {
                            _hComboFileName = hwnd;
                            _ComboFileNameInfo = windowInfo;
                        }
                        break;
                    case ControlsId.GroupFolder:
                        _hGroupButtons = hwnd;
                        _GroupButtonsInfo = windowInfo;
                        break;
                    case ControlsId.LeftToolBar:
                        _hToolBarFolders = hwnd;
                        _ToolBarFoldersInfo = windowInfo;
                        break;
                    case ControlsId.ButtonOk:
                        _hOKButton = hwnd;
                        _OKButtonInfo = windowInfo;
                        _CustomControl._hOKButton = hwnd;
                        //Win32Types.NativeMethods.EnableWindow(_hOKButton, false);
                        break;
                    case ControlsId.ButtonCancel:
                        _hCancelButton = hwnd;
                        _CancelButtonInfo = windowInfo;
                        break;
                    case ControlsId.ButtonHelp:
                        _hHelpButton = hwnd;
                        _HelpButtonInfo = windowInfo;
                        break;
                    case ControlsId.CheckBoxReadOnly:
                        _hChkReadOnly = hwnd;
                        _ChkReadOnlyInfo = windowInfo;
                        break;
                    case ControlsId.LabelFileName:
                        _hLabelFileName = hwnd;
                        _LabelFileNameInfo = windowInfo;
                        break;
                    case ControlsId.LabelFileType:
                        _hLabelFileType = hwnd;
                        _LabelFileTypeInfo = windowInfo;
                        break;
                }

                return true;
            }
示例#4
0
 internal static extern bool GetWindowInfo(HandleRef hwnd, out WINDOWINFO pwi);