HTML control и картинки
От: da_007  
Дата: 18.12.06 08:53
Оценка:
Добрый день.

Такая штука: пишу программку, будет использоваться компонент HTMLСontrol. Проблема: при отладке программки на эмуляторе — все работает как надо, все отлично. Но при запуске на КПК — все картинки в HTMLControl отображаются только на очень короткое время, а потом меняются на "крестик" — файл не найден. Кто-нибудь сталкивался с подобным?

Подробности: все окна создаются вручную, т.е. никаких диалогов-ресурсов. Из ресурсов берется только картинка. Общая идея работы с HTMLControl:

main ()
{
...
LoadLibrary (_T("Htmlview.dll"));
...
InitHTMLControl (hInst);
...
RegisterClass (&WndClass);
...
CreateWindowEx (NULL,ProgrammName,ProgrammName,WS_EX_OVERLAPPEDWINDOW|WS_VISIBLE,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInst,0);
...
CreateWindowEx (NULL,DISPLAYCLASS,ProgrammName,WS_CHILD|WS_VISIBLE,2,0,ScreenSizeX-4,ScreenSizeY-MENU_HEIGHT,hWndMain,NULL,hInst,0);
...
hBmpLogo=LoadBitmap (hInst,MAKEINTRESOURCE(109));
...


WndProc ()
{
...
// Перепробовал все возможные варианты - на эмуляторе работает ЛЮБОЙ. На КПК - ни один не работает. Везде одно и то же: картинка появляется на доли секунды, и тут же пропадает.
ImgInfoM.dwCookie=pn->dwCookie;
ImgInfoW.iOrigHeight=13;
ImgInfoW.iOrigWidth=16;
ImgInfoW.hbm=hBmpLogo;
ImgInfoW.bOwnBitmap=false;
SendMessage(hWndHTML,DTM_SETIMAGE,0,(LPARAM)&ImgInfoM);
...


Сабклассинг окна HTML ничего не дал — ему вообще никакие сообщения не посылаются (логично, окно же дочернее).

Пробовал сперва получить контекст окна (как в примере Микрософта) — те же результаты.

Кстати говоря, вопрос: у Микрософта в примере, после отправки сообщения — что картинку сменили, потом зачем-то вызывается старый обработчик. Зачем? Я считал, надо самому вернуть ноль — что сообщение обработано. Впрочем, я пробовал и как у Микрософт — аналогичные результаты.

Показательный момент: если в документе несколько картинок — то они отображаются все, и потом ОДНОВРЕМЕННО пропадают — может, это что-то скажет...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.