Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вызов метода, вызов ApplicationEvents1Message 
:(
    Опции темы
Maycal
Дата 13.1.2008, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Скажите пожалуйста, как можно вызвать метод void __fastcall TForm1::ApplicationEvents1Message(tagMSG &Msg,
bool &Handled) из формы?? 
--------------------
Да помоги кодеру, а значит - ближнему своему!
PM MAIL WWW ICQ Skype MSN   Вверх
artsb
Дата 13.1.2008, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

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



Как понять из формы?
Если при нажатии на кнопку, то так и пишите:
Код

TForm1::ApplicationEvents1Message(tagMSG &Msg,bool &Handled); // указываете передаваемые параметры



--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Maycal
Дата 13.1.2008, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Я имею введу как этот метод, вызвать из другова метода? 

--------------------
Да помоги кодеру, а значит - ближнему своему!
PM MAIL WWW ICQ Skype MSN   Вверх
artsb
Дата 13.1.2008, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

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



Так как я написал. smile
Не работает чтоли?


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Maycal
Дата 13.1.2008, 16:27 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Я пишу: 
Код

TForm1::ApplicationEvents1Message(tagMSG &Msg,bool &Handled);

но получаю ошибки:
[C++ Error] Unit3.cpp(2070): E2108 Improper use of typedef 'tagMSG'
[C++ Error] Unit3.cpp(2070): E2451 Undefined symbol 'Msg'
[C++ Error] Unit3.cpp(2070): E2188 Expression syntax

--------------------
Да помоги кодеру, а значит - ближнему своему!
PM MAIL WWW ICQ Skype MSN   Вверх
artsb
Дата 13.1.2008, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

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



Ну правильно. Вы же должны свой параметры передавать.
Код

TForm1::ApplicationEvents1Message(-->здесь переменная типа tagMSG<--,-->здесь переменная типа bool<--);



--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
dumb
Дата 13.1.2008, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

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



Цитата(Maycal @  13.1.2008,  14:25 Найти цитируемый пост)
Скажите пожалуйста, как можно вызвать метод void __fastcall TForm1::ApplicationEvents1Message(tagMSG &Msg,
bool &Handled) из формы?
скажи пожалуйста, а зачем тебе это понадобилось?! и, как бы ты это не объяснил, делать этого ты не должен.
PM MAIL   Вверх
Maycal
Дата 13.1.2008, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Все же объясню.
Проблема: при нажатие сочетания клавиш, к примеру ctrl+v, в Edit1 появляются непонятные символы.
Задача: устранить проблему, сделать использования горячих клавишь.
Решение:В ходе программинга, я выяснил, что проблему появляения непонятных символов можно решить методом RegisterHotKey. Но дело в том, что если эту проблему решать методом RegisterHotKey, клавиши control перехватывается не только в моей программе но и во всей винде.
Поэтому я решил использовать 2 метода перехватывания, это OnKeyDown и RegisterHotKey.
Сначало, клавиши регестрируются в методе OnKeyDown, затем переменной присваивается параметры, и...и должен вызываться метод ApplicationEvents1Message
Код

void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
if(Shift.Contains(ssCtrl))
if(Key == 86)
{
RHKret = RegisterHotKey(Form1->Handle, 0x12F, MOD_CONTROL, VK_V);
//здесь напишите пожлуйста, как вызвать метод приведенный ниже
}
}

Код

void __fastcall TForm1::ApplicationEvents1Message(tagMSG &Msg,
      bool &Handled)
{
if (Msg.message == WM_HOTKEY)
{
if (Msg.wParam == 0x12F)
{
ShowMessage ("Сочитание кнопок перехвачены");
}
}
}


--------------------
Да помоги кодеру, а значит - ближнему своему!
PM MAIL WWW ICQ Skype MSN   Вверх
artsb
Дата 13.1.2008, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

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



Цитата(Maycal @  13.1.2008,  17:33 Найти цитируемый пост)
//здесь напишите пожлуйста, как вызвать метод приведенный ниже

тю, ну писал же уже:
Код

TForm1::ApplicationEvents1Message(-->здесь переменная типа tagMSG<--,-->здесь переменная типа bool<--);


Добавлено через 47 секунд
хотя долно и без "TForm1::" работать...


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Maycal
Дата 13.1.2008, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Скажите, а можно ли функции RegisterHotKey(Form1->Handle, 0x12F, MOD_CONTROL, VK_V); вернуть значение false???
--------------------
Да помоги кодеру, а значит - ближнему своему!
PM MAIL WWW ICQ Skype MSN   Вверх
Lazin
Дата 13.1.2008, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

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



Если тебе не ненужны глобальные горячие клавиши, не используй RegisterHotKey, перехвати нажатие клавиш в главной форме, или через TApplicationEvents.
PM MAIL Skype GTalk   Вверх
dumb
Дата 13.1.2008, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

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



Цитата(Maycal @  13.1.2008,  17:33 Найти цитируемый пост)
Проблема: при нажатие сочетания клавиш, к примеру ctrl+v, в Edit1 появляются непонятные символы.
если Edit1 имеет тип TEdit, то в нем не должно появляться никаких "непонятных символов", а должна происходить вставка из буфера обмена.
PM MAIL   Вверх
artsb
Дата 13.1.2008, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

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



Цитата(Maycal @  13.1.2008,  18:55 Найти цитируемый пост)
Скажите, а можно ли функции RegisterHotKey(Form1->Handle, 0x12F, MOD_CONTROL, VK_V); вернуть значение false???

BOOL UnregisterHotKey(HWND hWnd, int id);

Добавлено через 2 минуты и 6 секунд
Лично у меня в качестве закорючек было несколько вертикальных палочек. Это были '\r' и '\n'. Больше никаких закорючек нет.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


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

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


 




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


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

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