не заполняется структура DATETIMEPICKERINFO помогите
От: ЛёХыЧ Россия  
Дата: 01.10.10 06:15
Оценка:
Описана структура
        [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
        public struct DATETIMEPICKERINFO
        {
            public uint cbSize;
            public RECT rcCheck;
            public uint stateCheck;
            public RECT rcButton;
            public uint stateButton;
            public IntPtr hwndEdit;
            public IntPtr hwndUD;
            public IntPtr hwndDropDown;
        }

импорт SendMessage из user32.dll
        [DllImport("user32.dll", CharSet = CharSet.Auto)]
        public static extern int SendMessage(IntPtr hWnd, APIsEnums.DateTimePickerMessage msg, int wParam, ref APIsStructs.DATETIMEPICKERINFO lParam);

ниже код проверяет если элемент DateTimePicker то заполняем структуру

           if (_control is DateTimePicker)
            {
                APIsStructs.DATETIMEPICKERINFO info = new APIsStructs.DATETIMEPICKERINFO();
                info.cbSize = (uint)Marshal.SizeOf(typeof(APIsStructs.DATETIMEPICKERINFO));
                
                APIsUser32.SendMessage(_control.Handle, APIsEnums.DateTimePickerMessage.DTM_GETDATETIMEPICKERINFO, 0, ref info);

                if (m.WParam == info.hwndDropDown || m.WParam == info.hwndEdit || m.WParam == info.hwndUD)
                {
                       ...
                       return false;
                }
            }

структура остается не заполненная, кроме cbSize ??
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.