Problem sa IExplorer ActiveX kontrolom
19.08.2002. u 18:01 · pre 294 meseci
#1
Pozdrav svima,
Naidjoh danas na svojevrstan problem. Radi se o sledecem: Glavna aplikacija ima CListCtrl kontrolu, i ukoliko se selektuje vise items-a, program poziva dialog i propusta mu informacije o selektovanim item-ovima. Taj dijalog zatim za svaki item otvara HTML stranicu (php skript) u invisible IExplorer ActiveX objektu, stampa stranicu i otvara sledecu.
Tako bi bar trebalo da radi.. Medjutim, krajnji rezultat koji ja imam je da se prikaze i stampa samo poslednji item (odnosno poslednja HTML stranica).
Kod izgleda ovako:
Poziv za stampanje ide iz OnDocumentComplete hendlera za IExplorer kontrolu.
Naizgled, sve bi trebalo da bude u redu. Medjutim, for petlja samo protrci kroz sve rekorde (itemse), i prikaze samo poslednju u IExplorer kontroli i onda je odstampa.
Ja bih zeleo nekako da uhvatim dogadjaj kada je stampa gotova i da cekam u for petlji (odmah posle Navigate) da se taj dogadjaj zavrsi pa da pustim dalje petlju.
Ima li neko nekakvu ideju? Ukoliko je potrebno dodatno pojasnjenje, javnite.
Poz, alex.
Naidjoh danas na svojevrstan problem. Radi se o sledecem: Glavna aplikacija ima CListCtrl kontrolu, i ukoliko se selektuje vise items-a, program poziva dialog i propusta mu informacije o selektovanim item-ovima. Taj dijalog zatim za svaki item otvara HTML stranicu (php skript) u invisible IExplorer ActiveX objektu, stampa stranicu i otvara sledecu.
Tako bi bar trebalo da radi.. Medjutim, krajnji rezultat koji ja imam je da se prikaze i stampa samo poslednji item (odnosno poslednja HTML stranica).
Kod izgleda ovako:
Code:
for (j;j<arMax;j++) {
pSet->FindRecord(idArray[j]);
arguments.Format(_T("?oid=%d&pid=%s"), pSet->m_nOfferID, pSet->m_strPropertyID);
oArguments.Format(_T("&a=%d&b=%d&c=%d&d=%d&e=%d&f=%d&g=%d&vf=%d"), m_nOptionA, m_nOptionB, m_nOptionC, m_nOptionD, m_nOptionE, m_nOptionF, m_nOptionG, m_nOptionVF);
newurl = m_Url + arguments +oArguments;
m_wndBrowser.Navigate(newurl, &vtEmpty, &vtEmpty, &vtEmpty, &vtEmpty);
m_ProgressBar.StepIt();
}
for (j;j<arMax;j++) {
pSet->FindRecord(idArray[j]);
arguments.Format(_T("?oid=%d&pid=%s"), pSet->m_nOfferID, pSet->m_strPropertyID);
oArguments.Format(_T("&a=%d&b=%d&c=%d&d=%d&e=%d&f=%d&g=%d&vf=%d"), m_nOptionA, m_nOptionB, m_nOptionC, m_nOptionD, m_nOptionE, m_nOptionF, m_nOptionG, m_nOptionVF);
newurl = m_Url + arguments +oArguments;
m_wndBrowser.Navigate(newurl, &vtEmpty, &vtEmpty, &vtEmpty, &vtEmpty);
m_ProgressBar.StepIt();
}
Poziv za stampanje ide iz OnDocumentComplete hendlera za IExplorer kontrolu.
Code:
void CPrnmany::OnDocumentCompleteExplorer1(LPDISPATCH pDisp, VARIANT FAR* URL)
{
m_wndBrowser.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, NULL, NULL);
}
void CPrnmany::OnDocumentCompleteExplorer1(LPDISPATCH pDisp, VARIANT FAR* URL)
{
m_wndBrowser.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, NULL, NULL);
}
Naizgled, sve bi trebalo da bude u redu. Medjutim, for petlja samo protrci kroz sve rekorde (itemse), i prikaze samo poslednju u IExplorer kontroli i onda je odstampa.
Ja bih zeleo nekako da uhvatim dogadjaj kada je stampa gotova i da cekam u for petlji (odmah posle Navigate) da se taj dogadjaj zavrsi pa da pustim dalje petlju.
Ima li neko nekakvu ideju? Ukoliko je potrebno dodatno pojasnjenje, javnite.
Poz, alex.
Potpis
Alex: My favorite site is http://localhost/
R.J. Oppenheimer: "I am become death, destroyer of worlds" (1945 AD)
tweet.13x ||
linkedin.13x
R.J. Oppenheimer: "I am become death, destroyer of worlds" (1945 AD)
tweet.13x ||
linkedin.13x