0 / 0 / 0
Регистрация: 04.04.2013
Сообщений: 4

Переслать событие в контрол

04.04.2013, 05:37. Показов 1362. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Существует класс
C++ (Qt)
1
class CFlashWnd: public  IDispatch{}
В нем с помощью CreateWindow создается окно и в него аттачиться контрол для FlashPlayer.
Как мне переслать событие mosemove в контрол flash playera?
(Если отсылать событие в окно, до flash playera оно не добирается)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.04.2013, 05:37
Ответы с готовыми решениями:

Событие нажатия на panel и любой контрол панели
Здраствуйте, у меня есть 1 panel, на которой размещены 2 картинки, несколько label..... Мне нужно чтоб при нажатии на панель, или другие...

Как отловить событие перехода с контрола на контрол в диалоге?
Есть диалог. На нём лежит несколько контролов(нестандартных).Как средствами самого диалога отловить событие перехода с контрола на...

Как сделать так чтоб контрол перенаправлял событие контролу-родителю
Всем привет ещё рас. Я в прошлый рас неправильно вопрос сформулировал. Вообщем есть такая вот ситуация. У меня на форме добавлен...

2
Модератор
 Аватар для vxg
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,460
04.04.2013, 09:23
Цитата Сообщение от Zaher220 Посмотреть сообщение
оно не добирается
чудес не бывает. события обрабатывают окна. может не в то окно шлете?
0
0 / 0 / 0
Регистрация: 04.04.2013
Сообщений: 4
06.04.2013, 07:18  [ТС]
Можно провести эксперимент
Это оконная процедура
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
LRESULT CALLBACK CFlashWnd::HostWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    int wmId, wmEvent;
    PAINTSTRUCT ps;
    HDC hdc;
    CFlashWnd* f=(CFlashWnd*)GetWindowLongPtr(hWnd,GWL_USERDATA);
    
    switch (message)
    {
    case WM_COMMAND:
        wmId    = LOWORD(wParam);
        wmEvent = HIWORD(wParam);
        // Разобрать выбор в меню:
        switch (wmId)
        {
        case IDM_ABOUT:
            ::DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, DlgProc);
            break;
        case IDM_EXIT:
            ::DestroyWindow(hWnd);
            break;
        default:
            return ::DefWindowProc(hWnd, message, wParam, lParam);
        }
        break;
    [COLOR="Red"]case WM_MOUSEMOVE:
        printf("Mose is moved \n");
        break;[/COLOR]
    case WM_PAINT:
        hdc = ::BeginPaint(hWnd, &ps);
        ::EndPaint(hWnd, &ps);
        break;
    case WM_DESTROY:
        ::PostQuitMessage(0);
        break;
    default:
        return ::DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
}
Попробуем выполнить без аттача контрола в окно
Mose is moved
Mose is moved
...
Mose is moved
Приаттачим контрол
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
HRESULT CFlashWnd::AttachControl()
{
    if(isAttached)
        return S_FALSE;
 
    if(hWndHost == NULL)
        return S_FALSE;
 
    HMODULE hModule = ::LoadLibrary(L"atl");
    if(!hModule)
        return S_FALSE;
 
    LPAtlAxAttachControl pAtlAxAttachControl = (LPAtlAxAttachControl)::GetProcAddress(hModule,"AtlAxAttachControl");
    if(!pAtlAxAttachControl)
    {
        ::FreeLibrary(hModule);
        return S_FALSE;
    }
    HRESULT hr = pAtlAxAttachControl(flash,hWndHost,NULL);
    if(hr != S_OK)
        return hr;
 
    isAttached = TRUE;
    return hr;
}
Пусто. Никакой реакции на перемещение курсора.
Может я в чем то ошибаюсь или недопонимаю.
Подскажите как корректно, программно генерировать события mosemove в окне.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.04.2013, 07:18
Помогаю со студенческими работами здесь

Как сделать так чтоб контрол перенаправлял событие контролу-родителю
у меня есть flowLayoutPanel а нем лежать pixturebox-ы как заставить pixturebox не перехвачевать событие маус мув.

Как в диалоге отловить событие помещения фокуса на какой-нибудь контрол?
Привет всем! А как, собственно говоря, в диалоге отловить событие помещения фокуса на какой-нибудь контрол? Ну т.е. нажали на...

Как перетащить node на любой контрол к примеру groupBox и вызвать этим событие
Люди подскажите пожалуйста как перетащить node на любой контрол к примеру groupBox и вызвать этим событие? Как перетаскивать node в...

Двигаю контрол мышкой по форме Access, но контрол движется медленнее мышки
сабж. код прилагаю. нид хелп Private Declare Function GetCursorPos Lib "user32.dll" (ByRef lpPoint As POINTAPI) As Boolean ...

Как можно изменить слой, на котором находится контрол? Чтобы один контрол всегда рисовался поверх другого?
Просто я создаю контролы динамически, и при появлении они всегда ниже созданных ранее, это проблема. Заранее спасибо!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru