Botones con temas xp

11/02/2004 - 04:31 por Oscar Joel Lira lira | Informe spam
hola

Trabajo en lenguaje c y estoy tratando de implementar los
botones con los temas xp, lei por ahi que esto dibuja un
boton

rtButton.top = 100;
rtButton.left = 10;
rtButton.bottom = 130;
rtButton.right = 200;
hTheme = OpenThemeData(hWnd, L"Button");
DrawThemeBackground(hTheme, hdc, BP_PUSHBUTTON,
PBS_NORMAL, &rtButton, NULL);
DrawThemeText(hTheme, hdc, BP_PUSHBUTTON, PBS_NORMAL,
wzTMB, wcslen(wzTMB),
DT_CENTER | DT_VCENTER | DT_WORD_ELLIPSIS |
DT_SINGLELINE, 0, &rtButton);

pero tambien decia que tenia que llamar una libreria y no
se como hacerlo, espero me puedan ayudar con un ejemplo
de como dibujar un boton


Gracias

Oscar Lira
 

Leer las respuestas

#1 Gabriel Gibaut
12/02/2004 - 01:37 | Informe spam
Oscar,

Solo puedes usar esas funciones en XP y 2003, si quieres dibujar botones al
estilo XP en otro SO vas a tener que hacer todo el codigo de dibujado por tu
cuenta. Aca tal vez está lo que buscas (aunque en MFC)
http://www.codeproject.com/buttonct...button.asp

Lo de llamar a una librería es porque sólo en los sistemas que soportan
temas XP, uxtheme.dll (la que tiene las funciones de temas) está presente.
Si utilizaras las funciones como lo haces con las demas dlls de windows
(poniendo el .lib en la lista de libs para el linker) cuando tu aplicacion
se ejecutase en un windows que no soporte temas XP, el loader no podría
cargar la dll y abortaría la aplicación. (si sólo piensas usarla en XP
entonces no tendrás este problema). Lo que se hace es cargarla dinamicamente
con LoadLibrary y obtener con GetProcAddress punteros a las funciones que
necesitas.
Aca tenes un ejemplo de usar temas para dibujar un boton en XP con Win32
http://www.codeproject.com/buttonct...themes.asp

Tendrías que explicar un poco mas lo que deseas hacer, asi te podremos
ayudar mejor.

Saludos

Gabriel


"Oscar Joel Lira lira" escribió en el
mensaje news:e22d01c3f04f$90d3ad20$
hola

Trabajo en lenguaje c y estoy tratando de implementar los
botones con los temas xp, lei por ahi que esto dibuja un
boton

rtButton.top = 100;
rtButton.left = 10;
rtButton.bottom = 130;
rtButton.right = 200;
hTheme = OpenThemeData(hWnd, L"Button");
DrawThemeBackground(hTheme, hdc, BP_PUSHBUTTON,
PBS_NORMAL, &rtButton, NULL);
DrawThemeText(hTheme, hdc, BP_PUSHBUTTON, PBS_NORMAL,
wzTMB, wcslen(wzTMB),
DT_CENTER | DT_VCENTER | DT_WORD_ELLIPSIS |
DT_SINGLELINE, 0, &rtButton);

pero tambien decia que tenia que llamar una libreria y no
se como hacerlo, espero me puedan ayudar con un ejemplo
de como dibujar un boton


Gracias

Oscar Lira

Preguntas similares