0 / 0 / 0
Регистрация: 14.12.2016
Сообщений: 7
1

Внедрение ActiveX элемента HTML/JAVASCRIPT. Как изменить цвет ActiveX элемента на странице

06.06.2017, 22:33. Показов 1781. Ответов 0

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Передо мной стоит такая задача:
1. Внедрить ActiveX элемент в HTML документ
2. С помощью скрипта в HTML документе создать кнопку, при нажатии на которую будет менять цвет ActiveX элемент.

Проблема вот в чем. Когда в строке <param id="m_BackColor" name="m_BackColor" value="#008000"> прописываю value, то элемент меняет цвет на черный (на зависимо от выбранного мною цвета. Как решить эту проблему?

HTML5
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
<!DOCTYPE html>
<html>
<meta http-equiv="Content-Type" content="text/html; charset="utf-8" />
 
<p><object 
classid="clsid:68CB1A4D-CE46-4E5E-B270-8D0DCAE4FDF5"
width=300 
height=300 
align=center
hspace=3
vspace=3>
<param  id="MyActiveX" name="MyActiveX">
<param  id="m_BackColor" name="m_BackColor">
</object></p>
 
<button id="black">red</button>
<button id="green">green</button> 
 
<script type="text/javascript" src="http://code.jquery.com/jquery-2.2.1.min.js"
  integrity="sha256-gvQgAFzTH6trSrAWoH1iPo9Xc96QxSZ3feW6kem+O00="
  crossorigin="anonymous"></script>
 
<script>
$('#red').click(function () {
$('#m_BackColor').attr('value', '#ff0000');
});
$('#green').click(function () {
$('#m_BackColor').attr('value', '#008000');
});
</script> 
 
</html>
Ps.Был создан ActiveX элемент в VS2010 и изменен код в файле MYActiveXCtrl.cpp
C++
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
...
...
...
// CMYActiveXCtrl::OnDraw - Drawing function
 
void CMYActiveXCtrl::OnDraw(
            CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
/*  if (!pdc)
        return;*/
 
    // TODO: Replace the following code with your own drawing code.
//  pdc->FillRect(rcBounds, CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH)));
    DoSuperclassPaint(pdc, rcBounds);
    pdc->FillRect(rcInvalid, &CBrush(m_BackColor));
//  pdc->Ellipse(rcBounds);
}
 
 
 
// CMYActiveXCtrl::DoPropExchange - Persistence support
 
void CMYActiveXCtrl::DoPropExchange(CPropExchange* pPX)
{
    ExchangeVersion(pPX, MAKELONG(_wVerMinor, _wVerMajor));
    COleControl::DoPropExchange(pPX);
 
    // TODO: Call PX_ functions for each persistent custom property.
}
 
 
 
// CMYActiveXCtrl::OnResetState - Reset control to default state
 
void CMYActiveXCtrl::OnResetState()
{
    COleControl::OnResetState();  // Resets defaults found in DoPropExchange
 
    m_BackColor=RGB(230,230,250);
    // TODO: Reset any other control state here.
}
 
 
// CMYActiveXCtrl::AboutBox - Display an "About" box to the user
 
void CMYActiveXCtrl::AboutBox()
{
    CDialogEx dlgAbout(IDD_ABOUTBOX_MYACTIVEX);
    dlgAbout.DoModal();
}
 
 
 
// CMYActiveXCtrl message handlers
 
 
OLE_COLOR CMYActiveXCtrl::GetBackColor(void)
{
    AFX_MANAGE_STATE(AfxGetStaticModuleState());
 
    // TODO: Add your dispatch handler code here
 
    return m_BackColor;
}
 
 
void CMYActiveXCtrl::SetBackColor(OLE_COLOR newVal)
{
    AFX_MANAGE_STATE(AfxGetStaticModuleState());
 
    // TODO: Add your property handler code here
    m_BackColor=newVal;
    SetModifiedFlag();
    Invalidate();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.06.2017, 22:33
Ответы с готовыми решениями:

Прозрачность элемента управления ActiveX MFC
Подскажите, пожалуйста, в чем проблема, уже несколько дней сижу и неполучаеться. Создал элемент...

Подключение OCX ActiveX элемента НЕ в MFC приложение Win32
Привет. Подскажите пожалуйста, каким образом можно подключить ActiveX элемент в формате OCX к...

ActiveX регистрация элемента
Мне необходимо использовать mshflxgrd.ocx контрол в форме проекта MS Access. Но вставить этот...

Процесс регистрации элемента ActiveX
Объясните пожалуйста процесс регистрации элемента ActiveX. Запуск regsvr32.exe c параметрами:...

0
06.06.2017, 22:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.06.2017, 22:33
Помогаю со студенческими работами здесь

Использование элемента ActiveX на форме
При попытке вставить ActiveX элемент(в частности TreeVew) access выводит сообщение: &quot;Возникла...

ActiveX Bridje или как превращать ActiveX Control в JavaBean.
Насколько я понял из документации, эта штука позволяет превращать JavaBean в ActiveX Control с...

Ошибка: отсутствует лицензия на использование элемента ActiveX
При попытке запустить макрос ЗадатьЗначение (!.; !.)для передачи фильтра из формы в отчет ...

Сбой при импорте элемента управления ActiveX
Когда пытаюсь добавить элемент WindowsMediaPlayer на форму пишет &quot;Сбой при импорте элемента...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru