Cargar recurso

17/05/2004 - 18:07 por Manuel D. Jiménez González | Informe spam
Hola de nuevo, grupo

Estoy desarrollando un plug-in para windows media que, básicamente, es una
dll que el Windows Media Player carga en un momento dado.

Quiero que mi plug-in cambie el cursor del ratón por otro cuando el usuario
pasa el ratón por una determinada zona. Trabajando con MFCs, siempre he
utilizado la línea

::SetCursor(::AfxGetApp()->LoadCursor(IDC_WAIT));

pero ahora me da el error

'AfxGetApp' : is not a member of 'operator``global namespace'''

supongo que porque el asistente para desarrollar plug-ins de windows media
no genera un proyecto MFC. También he intentado añadir un recurso "cursor" a
mi proyecto pero no veo como cargarlo, porque el método LoadCursor requiere
una variable hModule que no veo cómo obtener.

¿Qué puedo hacer? Muchas gracias de antemano,

Manuel

Preguntas similare

Leer las respuestas

#6 Hernán
18/05/2004 - 17:18 | Informe spam
"Manuel D. Jiménez González" escribía:

no genera un proyecto MFC. También he intentado añadir un recurso "cursor" a
mi proyecto pero no veo como cargarlo, porque el método LoadCursor requiere
una variable hModule que no veo cómo obtener.




El hModule, en realidad el hInstance (la dirección virtual relativa al
proceso en dónde el módulo fue mapeado), se obtiene con
GetModuleHandle().

Hernán (28)
Quilmes (ar)
Respuesta Responder a este mensaje
#7 Manuel D. Jiménez González
19/05/2004 - 11:18 | Informe spam
Gracias,

ahora mismo tengo

char buffer[MAX_PATH];
HMODULE hModule;

GetModuleFileName(NULL, buffer, MAX_PATH);
hModule = GetModuleHandle(buffer);
::SetCursor(::LoadCursor(_hModule, MAKEINTRESOURCE(IDC_HAND));

no obtengo errores de compilación, pero esto no funciona, el cursor
desaparece cuando debería cambiar. He probado cargando mi propio recurso y
tampoco. No sé ya si es algo que no permite el plug-in.

Un saludo,

Manuel

<Hernán> wrote in message news:
"Manuel D. Jiménez González" escribía:

>no genera un proyecto MFC. También he intentado añadir un recurso


"cursor" a
>mi proyecto pero no veo como cargarlo, porque el método LoadCursor


requiere
>una variable hModule que no veo cómo obtener.
>

El hModule, en realidad el hInstance (la dirección virtual relativa al
proceso en dónde el módulo fue mapeado), se obtiene con
GetModuleHandle().

Hernán (28)
Quilmes (ar)
Respuesta Responder a este mensaje
#8 Sergio
19/05/2004 - 11:34 | Informe spam
Manuel D. Jiménez González escribió:
Gracias,

ahora mismo tengo

char buffer[MAX_PATH];
HMODULE hModule;

GetModuleFileName(NULL, buffer, MAX_PATH);
hModule = GetModuleHandle(buffer);
::SetCursor(::LoadCursor(_hModule, MAKEINTRESOURCE(IDC_HAND));

no obtengo errores de compilación, pero esto no funciona, el cursor
desaparece cuando debería cambiar. He probado cargando mi propio recurso y
tampoco. No sé ya si es algo que no permite el plug-in.

Un saludo,

Manuel



No estoy seguro pero no deberia ser:

::SetCursor(::LoadCursor(_hModule, IDC_HAND));

o sino

::SetCursor(::LoadCursor(_hModule, MAKEINTRESOURCE(valor)); //valor es
el valor numerico del cursor
Respuesta Responder a este mensaje
#9 Manuel D. Jiménez González
20/05/2004 - 13:49 | Informe spam
Efectivamente, MAKEINTRESOURCE(IDC_HAND) no es correcto por que IDC_HAND ya
hace MAKEINTRESOURCE.

Pero el problema no estaba ahí. He probado reemplazando hModule por NULL y
funciona. Me gustaría saber porqué antes no funcionaba, tenía más lógica.

Gracias,

Manuel.

"Sergio" wrote in message
news:#
Manuel D. Jiménez González escribió:
> Gracias,
>
> ahora mismo tengo
>
> char buffer[MAX_PATH];
> HMODULE hModule;
>
> GetModuleFileName(NULL, buffer, MAX_PATH);
> hModule = GetModuleHandle(buffer);
> ::SetCursor(::LoadCursor(_hModule, MAKEINTRESOURCE(IDC_HAND));
>
> no obtengo errores de compilación, pero esto no funciona, el cursor
> desaparece cuando debería cambiar. He probado cargando mi propio recurso


y
> tampoco. No sé ya si es algo que no permite el plug-in.
>
> Un saludo,
>
> Manuel

No estoy seguro pero no deberia ser:

::SetCursor(::LoadCursor(_hModule, IDC_HAND));

o sino

::SetCursor(::LoadCursor(_hModule, MAKEINTRESOURCE(valor)); //valor es
el valor numerico del cursor
Respuesta Responder a este mensaje
#10 Sergio
20/05/2004 - 14:00 | Informe spam
Manuel D. Jiménez González escribió:
Efectivamente, MAKEINTRESOURCE(IDC_HAND) no es correcto por que IDC_HAND ya
hace MAKEINTRESOURCE.

Pero el problema no estaba ahí. He probado reemplazando hModule por NULL y
funciona. Me gustaría saber porqué antes no funcionaba, tenía más lógica.

Gracias,

Manuel.



Pues en teoria debia ser así.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida