ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

как добавить свой обработчик в стандартное меню edit контролов
  #1  
Старый 06.07.2009, 19:53
Аватар для sn0w
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме:
1290766

Репутация: 1236


По умолчанию как добавить свой обработчик в стандартное меню edit контролов

ну типа, правой кнопкой щелкаем на эдите - и вылазит - вставить, вырезать, етц. ток нужно это глобально, чтоб во всех эдитах работало. типа своего обработчика.

на сях желательно, хотя код не важен - нужен концепт. так что на любом языке впринципе, ес есть инфа...
__________________


snow white world wide
 
Ответить с цитированием

  #2  
Старый 06.07.2009, 20:38
Аватар для Gar|k
Gar|k
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме:
991929

Репутация: 395


По умолчанию

есть такая тема как саббклассинг (контроль сообщений окон путем модификации оконной процедуры последних) и суперклассинг (создание и регистрация нового класса окна в системе).
вот хорошая статья на wasm [1] [2] и вроде не плохая для delphi

ну это я вижу решение этой проблемы в создании собственного элемента окна... возможно есть другие пути... но я точно уверен что эта тема сработает )
 
Ответить с цитированием

  #3  
Старый 06.07.2009, 20:38
Аватар для W!z@rD
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

Цитата:
Сообщение от sn0w  
ну типа, правой кнопкой щелкаем на эдите - и вылазит - вставить, вырезать, етц. ток нужно это глобально, чтоб во всех эдитах работало. типа своего обработчика.

на сях желательно, хотя код не важен - нужен концепт. так что на любом языке впринципе, ес есть инфа...
примеры на C#.
имхо самый простой способ это в RunTime привязать.

Примерно так:
PHP код:
public void SetMenu()
        {
            foreach (
Control control in Controls)
            {
                if (
control is TextBox)
                {
                    (
control as TextBox).ContextMenu = new ContextMenu(new[] { new MenuItem("button1"), new MenuItem("button2")});
                }
            }
        } 
Либо наследоваться от контрола и в конструкторе сделать привязку.
PHP код:
public class MyClass TextBox
    
{
        public 
MyClass()
        {
            
this.ContextMenu = new ContextMenu(new [] {new MenuItem("button1"), new MenuItem("button2")});
        }
    } 

было 666 сообщений
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #4  
Старый 06.07.2009, 20:50
Аватар для sn0w
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме:
1290766

Репутация: 1236


По умолчанию

Цитата:
Сообщение от Gar|k  
есть такая тема как саббклассинг (контроль сообщений окон путем модификации оконной процедуры последних) и суперклассинг (создание и регистрация нового класса окна в системе).
вот хорошая статья на wasm [1] [2] и вроде не плохая для delphi

ну это я вижу решение этой проблемы в создании собственного элемента окна... возможно есть другие пути... но я точно уверен что эта тема сработает )
ну да, но не совсем то, но все равно сенкс!
__________________


snow white world wide
 
Ответить с цитированием

  #5  
Старый 06.07.2009, 20:54
Аватар для sn0w
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме:
1290766

Репутация: 1236


По умолчанию

W!z@rD а у меня блин 333)

вот на шарпе я увы не втыкаю %) апибы)
__________________


snow white world wide
 
Ответить с цитированием

  #6  
Старый 06.07.2009, 21:01
Аватар для Feonor
Feonor
Участник форума
Регистрация: 23.07.2008
Сообщений: 202
Провел на форуме:
3075657

Репутация: 122
Отправить сообщение для Feonor с помощью ICQ
По умолчанию

Я бы сделал свой класс наследник Edit'а. А дальше меняй/дописывай что хочешь. И юзай свой класс.
на C#
Код:
public class MyEditBox : System.Windows.Forms.TextBox
IMHO самый простой способ, если только уместно создавать свой класс..
 
Ответить с цитированием

  #7  
Старый 06.07.2009, 21:17
Аватар для KIR@PRO
KIR@PRO
Постоянный
Регистрация: 26.12.2007
Сообщений: 353
Провел на форуме:
905389

Репутация: 332
Отправить сообщение для KIR@PRO с помощью ICQ
По умолчанию

в C++Builder или Delphi
Есть такой замечательный компонент TPopupMenu, а у всех Tedit'ов есть замечательное свойство PopupMenu для подключения к эдиту TPopupMenu....

кидаеш на форму TPopupMenu заполняеш ему итемы выделяеш все едиты и в поле свойств PopupMenu выбираеш компонент PopupMenu1 теперь у всех выделенных едитов будет появляться твое меню.... и обрабатываться тобой)


p.s. возможно я не ясно понял вопрос, но если я его понял правильно то это легкое решение...

p.p.s. если же едитов очень много то лучше написать класс основанный на Tedit и сразу в классе подключить popupmenu с определёнными полями и зарание предустановленной обработкой событий
 
Ответить с цитированием

  #8  
Старый 06.07.2009, 21:36
Аватар для [n]-c0der
[n]-c0der
Участник форума
Регистрация: 03.02.2009
Сообщений: 104
Провел на форуме:
270228

Репутация: 70
По умолчанию

Привет от мазохистов: PopUp меню, которое выпадает по клику, правой кнопки мыши на эдит...
 
Ответить с цитированием

  #9  
Старый 06.07.2009, 21:44
Аватар для sn0w
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме:
1290766

Репутация: 1236


По умолчанию

нее вы не поняли. это вообщемто atl получается. вот нашел похожее - но там встраивание в контекстное меню в оболочке. а мне аналогичное встраивание во все обработчики comctl
__________________


snow white world wide
 
Ответить с цитированием

  #10  
Старый 06.07.2009, 21:53
Аватар для [n]-c0der
[n]-c0der
Участник форума
Регистрация: 03.02.2009
Сообщений: 104
Провел на форуме:
270228

Репутация: 70
По умолчанию

да если честно, я не понял поэтому погадаю немного):

http://www.rsdn.ru/article/qna/controls/editpret.xml
Еси опять не то, тогда сорри.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как стать хакером! foreva Болталка 19 12.12.2007 00:12
Коды silveran Сотовый фрикинг 4 18.10.2005 14:37
Установка Windoze глазами линуксоида (100% факты) nerezus Болталка 47 16.10.2005 15:06
Безопасность в Php, Часть Iii k00p3r Чужие Статьи 0 11.07.2005 19:02
Внедрение Sql кода с завязанными глазами k00p3r Чужие Статьи 0 12.06.2005 20:48



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ