Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

ATL, CAxDialog CAxWindow i TAB

[es] :: C/C++ programiranje :: ATL, CAxDialog CAxWindow i TAB

[ Pregleda: 2115 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sspasic
Sasa Spasic

Član broj: 3261
Poruke: 175
*.medianis.net

Jabber: sspasic@elitesecurity.org
ICQ: 35454521


Profil

icon ATL, CAxDialog CAxWindow i TAB17.10.2003. u 22:24 - pre 249 meseci
Ovo me muci vec par dana i pocinjem da ocajavam...

Imam ATL ActiveX kontrolu, (CComCompositeControl) koja u nekom trenutku prikaze dijalog (CAxDialog) na kome se nalazi druga ActiveX kontrola (hostovana pomocu CAxWindow), a ona je takodje kompozitna - ima par tastera i par input polja.
Problem je sto na dijalogu ne radi TAB taster za setanje izmedju windows kontrola na hostovanoj ActiveX kontroli.

Nasao sam par resenja, ali sva zahtevaju izmenu u osnovnoj petlji aplikacije (GetMessage, ProcessMessage, repeat) tako sto se doda kod koji TranslateAccelerator funkcijom radi magiju.
E ovde je problem sto toga nema, jer osnovni kontejner aplikacije je Internet Explorer, tako da nemam pristupa toj petlji (bar mislim).

Nasao sam i par polovicnih resenja na Microsoftovoj ATL listi ali sva su za poneki specijalan slucaj i po pravilu za varijante kada se moze izmeniti ona petlja za poruke,
tj. kada je osnovni kontejner aplikacija ciji source mozemo da menjamo.

Nasao sam i Microsoftov primer koji sa CAxWindow::SetExternalUIHandler podmetne objekat koji implementira IDocHostUIHandlerDispatch i sam primer radi, ali kada je CAxWindow na CAxDialog, funkcije IDocHostUIHandlerDispatch jednostavno ne bivaju pozvane...

Zna li neko resenje?

Moze li se nekako u ATL kontrolu ukomponovati WTL::CMessageFilter pa da se u PreTranslateMessage handluje TAB taster?
To bi resilo problem, ali ne znam gde da 'uglavim' filter.
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
199.171.112.*



+6 Profil

icon Re: ATL, CAxDialog CAxWindow i TAB17.10.2003. u 23:14 - pre 249 meseci
Teško da će ti neko ovde odgovoriti na takvo pitanje. Probaj ovde:

http://www.codeproject.com/scr...mments/forums.asp?forumid=4486
 
Odgovor na temu

[es] :: C/C++ programiranje :: ATL, CAxDialog CAxWindow i TAB

[ Pregleda: 2115 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.