PDA

Ver la Versión Completa : Problemas definiendo regiones de ventana


fenris78
27-02-2005, 17:01:04
Holas. Llevo poco tiempo utilizando Delphi, pero ya empiezo a cogerle el tranquillo (es alucinante lo rapido que se puede comenzar a crear aplicaciones con el). Pero tengo un problema al crear una DLL para modificar el aspecto de las ventanas de un programa, vereis:

Utilizando el siguiente codigo, funciona correctamente:



{FUNCION VENTANA REDONDA}
function VENTANAREDONDA(): real; cdecl;
//ejemplo de ventana redonda
begin
{TAMAÑO VENTANA (COORDENADAS ESQUINAS)}
xi:=0;
yi:=0;
xf:=300;
yf:=500;
//crea una región eliptica, si xi = yi y xf = yf redonda
regionredonda:= CreateEllipticRgn(xi,yi,xf,yf);
//asigna la región a la ventana cuyo manejador es hWnd
SetWindowRgn(getactivewindow(), regionredonda,true);
//manejador ventana //region
end;
exports
VENTANAREDONDA;
begin
end.



El programa en el que llamo a la DLL, solo acepta como parametros valores del tipo "real" y "string", mi intencion es que el usuario pueda definir el tamaño de la region modificando los valores de "xf" e "yf", pero cuando intento hacerlo me encuentro con que el API de windows que crea la region "CreateEllipticRgn(xi,yi,xf,yf);" solo acepta variables de tipo "integer". No se si es posible o como se realizan conversiones entre variables de tipo "real" e "integer". ¿Podeis ayudarme con esto? , ya sea realizando la conversion de "real" a "integer" o utilizando algun metodo distinto al que estoy utilizando ahora, cualquiera de los dos me serviria. Gracias por leerme :D.