Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> перехват сообщений + SubString 
:(
    Опции темы
WhoogMan
  Дата 22.9.2012, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 22.9.2012

Репутация: нет
Всего: нет



здравствуйте. Такая проблема:
в программе обрабатываются сообщения
Код

protected override void WndProc(ref Message m)
        {
                //проверка на зарегестрированную комбинацию клавиш
            if ((m.Msg == 0x0312) && (m.WParam.ToString() == glAtom.ToString()))
            {
                    //показываю меню
                MenuBuffer.Show(Cursor.Position);
 
                base.WndProc(ref m);
                return;
            }
 
            switch (m.Msg)
            {
                    //изменилось содержимое уфера
                case WM_DRAWCLIPBOARD:
                    {
                        ClipboardChanged();
                            //знаю зачем, но и без этого работает
                        SendMessage(nextClipboardViewer, WM_DRAWCLIPBOARD, IntPtr.Zero, IntPtr.Zero);
                        break;
                    }
 
                case WM_CHANGECBCHAIN:
                    {
                        if (m.WParam == nextClipboardViewer)
                        {
                            nextClipboardViewer = m.LParam;
                        }
                        else
                        {
                            SendMessage(nextClipboardViewer, WM_CHANGECBCHAIN, m.WParam, m.LParam);
                        }
                        m.Result = IntPtr.Zero; // уведомляем систему об обработке сообщения
                        break;
                    }
                default:
                    {
                        break;
                    }
            }
 
            base.WndProc(ref m);
        }

при изменении содержимого буфера вызывается функция
Код

private void ClipboardChanged()
        {
            string data = "";
 
            if (Clipboard.ContainsText())
            {
                data = Clipboard.GetText();
 
                if (data != "")
                {
                    //заносим в список
                    BufferContentList.Insert(0, data);
 
                        //добавляем из списка
                    for (int i = 0; i < BufferContentList.Count(); i++)
                    {
                    [I] //MenuBuffer.Items.Add(BufferContentList[i]);[/I]
                        MenuBuffer.Items.Add(BufferContentList[i].Substring(0, 8));
                    }
 
                }
            }
        }

при отладке после вызова функции SubString (выделенная строчка) - управление передается в функцию обработки сообщений, ошибок не появляется, но и строчки в меню не добавляются.
При использовании закомментированной строчки (курсором выделена) все работает.
Может кто объяснить, в чем проблема?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0398 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.