Имя: Пароль:
1C
1С v8
В своей контекстной подсказке использовал TextBox из Microsoft Forms
0 TormozIT
 
гуру
30.08.11
20:33
Однажды я сделал контекстную подсказку в режиме предприятия http://infostart.ru/public/14700/. Чтобы сделать ее удобной пришлось вместо поля ввода вставить в диалог ActiveX Microsoft Forms 2.0 TextBox. ActiveX этот появляется в системе с установкой MS офиса 95-2007. А теперь в офисе 2010 уже нету такого ActiveX.

Прогуглил весь инет в поисках способа сделать этот контрол доступным без установки офиса, но безуспешно.
Может здесь кто то подскажет, как это сделать.

Также буду признателен за идеи, чем заменить этот ActiveX.
Требования - должен давать редактировать строку и генерить событие по нажатию кнопки любой.
1 Ork
 
30.08.11
20:48
(0) Ищите mscomctl.ocx. Там есть Фсе.
2 orefkov
 
31.08.11
01:10
(0)
fm20.dll
Выдирается из любого офиса и регится отдельно.
3 orefkov
 
31.08.11
01:11
+(2)
Только по правильному она не редистрибутивна.
На сайте ms про нее было написано в свое время, и перечислены продукты, в состав которых она входит.
4 orefkov
 
31.08.11
01:14
5 TormozIT
 
гуру
31.08.11
01:35
(2) Ну regsvr32 fm20.dll то я догадался сделать, но после этого в конфигураторе при вставке ActiveX контрол (TextBox) в списке все равно не появляется. И уже добавленный в диалог контрол также не работает.
6 TormozIT
 
гуру
31.08.11
01:36
(4) Прочитал, но приведенный в статье способ не работает для Windows Vista и выше.
7 TormozIT
 
гуру
31.08.11
12:36
Ап
8 eklmn
 
гуру
31.08.11
12:45
(6) потому что там уже юзаеться NET, кстати почему бы и тебе не переделать? ))
9 TormozIT
 
гуру
31.08.11
13:24
(8) Мне нужно отделяемое от офиса решение. Есть конкретные идеи, что именно делать?
10 trdm
 
31.08.11
13:40
(0) TormozIT >> В своей контекстной подсказке использовал TextBox из Microsoft Forms

а конкретную картинку можно?
11 TormozIT
 
гуру
31.08.11
14:10
12 artbear
 
31.08.11
18:40
Сергей, поясни, чем нужный тебе TextBox отличается от обычного поля ввода в 1С ? какие преимущества тебе пригодились для контекстной подсказки?
13 artbear
 
31.08.11
18:49
(0) ИМХО нужно реестр сверять.
есть у тебя после regsvr32 fm20.dll
1) reg:HKEY_CLASSES_ROOT\Forms.TextBox.1
у меня
==========
REGEDIT4

[HKEY_CLASSES_ROOT\Forms.TextBox.1]
@="Microsoft Forms 2.0 TextBox"

[HKEY_CLASSES_ROOT\Forms.TextBox.1\CLSID]
@="{8BD21D10-EC42-11CE-9E0D-00AA006002F3}"
==========
2) reg:HKEY_CLASSES_ROOT\CLSID\{8BD21D10-EC42-11CE-9E0D-00AA006002F3}
здесь что написано?
у меня
==
REGEDIT4

[HKEY_CLASSES_ROOT\CLSID\{8BD21D10-EC42-11CE-9E0D-00AA006002F3}]
@="Microsoft Forms 2.0 TextBox"

[HKEY_CLASSES_ROOT\CLSID\{8BD21D10-EC42-11CE-9E0D-00AA006002F3}\Control]
@=""

[HKEY_CLASSES_ROOT\CLSID\{8BD21D10-EC42-11CE-9E0D-00AA006002F3}\DefaultIcon]
@="C:\\WINDOWS\\system32\\FM20.DLL,0"

[HKEY_CLASSES_ROOT\CLSID\{8BD21D10-EC42-11CE-9E0D-00AA006002F3}\Implemented Categories]
@=""

[HKEY_CLASSES_ROOT\CLSID\{8BD21D10-EC42-11CE-9E0D-00AA006002F3}\Implemented Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}]
@=""

[HKEY_CLASSES_ROOT\CLSID\{8BD21D10-EC42-11CE-9E0D-00AA006002F3}\Implemented Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}]
@=""

[HKEY_CLASSES_ROOT\CLSID\{8BD21D10-EC42-11CE-9E0D-00AA006002F3}\InprocServer32]
@="C:\\WINDOWS\\system32\\FM20.DLL"
"ThreadingModel"="Apartment"

[HKEY_CLASSES_ROOT\CLSID\{8BD21D10-EC42-11CE-9E0D-00AA006002F3}\MiscStatus]
@="2752913"

[HKEY_CLASSES_ROOT\CLSID\{8BD21D10-EC42-11CE-9E0D-00AA006002F3}\ProgID]
@="Forms.TextBox.1"

[HKEY_CLASSES_ROOT\CLSID\{8BD21D10-EC42-11CE-9E0D-00AA006002F3}\ToolboxBitmap32]
@="C:\\WINDOWS\\system32\\FM20.DLL, 105"

[HKEY_CLASSES_ROOT\CLSID\{8BD21D10-EC42-11CE-9E0D-00AA006002F3}\TypeLib]
@="{0D452EE1-E08F-101A-852E-02608C4D0BB4}"

[HKEY_CLASSES_ROOT\CLSID\{8BD21D10-EC42-11CE-9E0D-00AA006002F3}\Version]
@="2.0"
==

3) reg:HKEY_CLASSES_ROOT\TypeLib\{0D452EE1-E08F-101A-852E-02608C4D0BB4}
==
REGEDIT4

[HKEY_CLASSES_ROOT\TypeLib\{0D452EE1-E08F-101A-852E-02608C4D0BB4}]

[HKEY_CLASSES_ROOT\TypeLib\{0D452EE1-E08F-101A-852E-02608C4D0BB4}\2.0]
@="Microsoft Forms 2.0 Object Library"
"PrimaryInteropAssemblyName"="Microsoft.Vbe.Interop.Forms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C"

[HKEY_CLASSES_ROOT\TypeLib\{0D452EE1-E08F-101A-852E-02608C4D0BB4}\2.0\0]

[HKEY_CLASSES_ROOT\TypeLib\{0D452EE1-E08F-101A-852E-02608C4D0BB4}\2.0\0\win32]
@="C:\\WINDOWS\\system32\\FM20.DLL"

[HKEY_CLASSES_ROOT\TypeLib\{0D452EE1-E08F-101A-852E-02608C4D0BB4}\2.0\FLAGS]
@="2"

[HKEY_CLASSES_ROOT\TypeLib\{0D452EE1-E08F-101A-852E-02608C4D0BB4}\2.0\HELPDIR]
@="C:\\WINDOWS\\system32\\"
==
14 TormozIT
 
гуру
31.08.11
19:51
(12) генерить событие по нажатию кнопки любой ПолеВвода не умеет
15 TormozIT
 
гуру
31.08.11
19:53
(13) С реестром колдовал. Безуспешно. Все эти записи в реестре на ОС, где работает, такие же, как и на ОС где не работает.
16 TormozIT
 
гуру
01.09.11
11:22
Ап
17 artbear
 
02.09.11
11:54
(14) А если юзать ПриОбновленииОтображения и проверять текст в ПолеВвода?
18 TormozIT
 
гуру
02.09.11
14:28
(17) А нажатие кнопок как проверять?
19 trdm
 
02.09.11
14:43
Давно бы уже активиксину смастрячил с перехватом нажатия клавишь и с файреэвентом на кейпрес и не парился бы.
20 Дык ё
 
02.09.11
14:55
(14) ms rich textbox (richtx32.ocx)

а с 2010 офисом идет msrtedit (msrtedit.dll)

(19) +1
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший