2009-05-12 12 views
8

Estoy trabajando en una aplicación, muchos de los elementos de UI estarán en TWebBrowser. Así que pensé en agregar una interfaz de usuario jQuery para que sea más fácil para mí.teniendo jQuery UI framework en TWebBrowser en Delphi

pude insertar jQuery y la interfaz de usuario archivo JavaScript gracias a http://www.jasontpenny.com/blog/2008/11/21/jquery-in-a-twebbrowser-in-a-self-contained-delphi-app/

estoy atascado en hojas de estilo, lo hice

doc2 := Web.Document as IHTMLDocument2; 
    doc2.createStyleSheet(FileProtocol(AppPath('templates\css\' + JQueryUITheme + '\jquery-ui-1.7.1.custom.css')), 0); 
    // FileProtocol and AppPath are to return a current application path and converted to FileProtocol URL format. 

la Javascripts funcionó muy bien, pero incapaz de obtener las imágenes a trabajo. También traté de StringReplace todas las referencias de imágenes, pero ningún resultado.

stylesheet.cssText := StringReplace(stylesheet.cssText, 
    'url(images/','url(' + FileProtocol(AppPath('templates/css/' + 
    JQueryUITheme + '/images/')), [rfReplaceAll]); 

¿Alguien ha intentado algo similar?

Respuesta

7

Al ejecutar una prueba rápida, esto parece funcionar.

¿Estás seguro de que FileProtocol() y AppPath() funcionan como deberían?

éstos parecen funcionar para mí:

function FileProtocol(const s: String): String; 
begin 
    Result := 'file:///' + StringReplace(s, '\', '/', [rfReplaceAll]); // ' 
end; 

function AppPath(const s: String): String; 
begin 
    Result := IncludeTrailingPathDelimiter(ExtractFilePath(Forms.Application.ExeName)) + s; 
end; 

[Actualización]

he descargado jQuery UI desde el enlace de la página principal de descargar [Current (stable)], y tengo la imagen animada de http://jqueryui.com/demos/progressbar/#animated

Ver proyecto de demostración en GitHub: http://github.com/jasonpenny/democode/tree/057f0ad22fc5c3272909de346b6e67b0444d8981/JQueryUIProgBar

+0

Extraño, todavía no consigo que aparezcan las imágenes, cuando llamo a $(). La función de barra de progreso de mi aplicación Delphi, solo puedo ver el color del cambio del cuadro div, pero no la imagen de la barra de progreso. ¿Cómo insertó la hoja de estilo? createStyleSheet ¿verdad? – Darkerstar

+0

Noté en mi demostración que el pedido era importante, necesité agregar el estilo de la imagen de fondo a una hoja de estilo posterior (el segundo parámetro de createStyleSheet()) – jasonpenny

+0

Acabo de encontrar que los gráficos en los botones funcionan bien con mi código existente. :), no estoy seguro de por qué la barra de progreso no funciona. De todos modos, utilicé otro complemento de barra de progreso, que funciona bien ahora. – Darkerstar

1

¿Su HTML tiene una etiqueta <base href="" />? Dado que parece que las rutas relativas son fallidas.

-1

Visite CGDevTools tienen un conjunto de componentes jQuery para usar con Intraweb.

Cuestiones relacionadas