Seite 3 von 3

Verfasst: 25.06.2007 18:05
von edel
Man erstellt eine Datei mit folgendem Inhalt :


Code: Alles auswählen

logo.gif  GIF  "C:\logo.gif"
file.html HTML   "C:\bla.html"
Speichert diese unter den Namen "res.rc" ab und
kompiliert diese mit "porc res.rc". Man erhaelt eine
weitere Datei namens "res.res"

Diese kann man so importieren :

Code: Alles auswählen

Import "res.res" : EndImport
Jetzt kann man in seinem Code froehlich "rumcatchen"

Beispiel :

Code: Alles auswählen

  
  #RC_HTML = 23
  
  Import "res.res" : EndImport
  
  If OpenWindow(0, 0, 0, 600, 300, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
    WebGadget(0, 10, 10, 580, 280, "")
    
    module.s = Space(#MAX_PATH)
    
    GetModuleFileName_(0,module,#MAX_PATH)
    
    res    = FindResource_(0,"file.html",#RC_HTML)
    size   = SizeofResource_(0,res)
    buf    = LoadResource_(0,res)
    
    text.s = PeekS(buf,size)
    text.s = ReplaceString(text,"%MODULE%",module)
    
    SetGadgetItemText(0, #PB_Web_HtmlCode, text )
    
    FreeResource_(res)
    
    Repeat 
    Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf
bla.html :

Code: Alles auswählen

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>

</head>

<body>
<img src="res://%MODULE%/gif/logo.gif" />
</body>
</html>

Verfasst: 25.06.2007 19:04
von vonTurnundTaxis
ts-soft hat geschrieben:
vonTurnundTaxis hat geschrieben:@ts-soft: Schau dir doch einfach dieses Beispiel an:
http://dean.edwards.name/my/base64-sexy.html
Ja, wunderbar mit dem FF, kein Bild mit IE. Also warum soll ich das nochmal
angucken :freak:
Also im Titel der Seite steht „Base64 Encoded Images Internet Explorer“ ...

Verfasst: 25.06.2007 19:38
von rolaf
vonTurnundTaxis hat geschrieben:
ts-soft hat geschrieben:
vonTurnundTaxis hat geschrieben:@ts-soft: Schau dir doch einfach dieses Beispiel an:
http://dean.edwards.name/my/base64-sexy.html
Ja, wunderbar mit dem FF, kein Bild mit IE. Also warum soll ich das nochmal
angucken :freak:
Also im Titel der Seite steht „Base64 Encoded Images Internet Explorer“ ...
Jo mag sein, aber geht nicht. Wahrscheinlich erst ab IE7 wie in Minischrift zu sehen.

* Posted: 2005/06/07 7:12 pm
* Filed under: JavaScript, IE7
* Links: permalink, feed

Verfasst: 25.06.2007 19:40
von ts-soft
>> Wahrscheinlich erst ab IE7 wie in Minischrift zu sehen
Auch nicht

Verfasst: 25.06.2007 20:02
von Kaeru Gaman
im normalen Tab zu sehen, in nem IE-Tab nicht....

Verfasst: 25.06.2007 23:03
von Falko
Hallo Thomas,
für den IE7 geht das auch und dann eben nicht unter FireFox :mrgreen:

about.mht

Theoretisch müsste man nachprüfen welcher Browser aktuell ist und
so eine auswahl treffen, welche about dann geladen werden soll.

Gruß Falko

Verfasst: 26.06.2007 16:10
von ts-soft
Was MS da für eigene Formate nutzt ist mir eigentlich schnurz. Ist kein HTML
Es funktioniert nicht im WebGadget, im IE selber gehts, da nützt es herzlich
wenig. Aber die Lösung von edel ist brauchbar, wenn auch etwas umständlich.

Verfasst: 26.06.2007 17:03
von edel
Man kann auch direkt das res Protokoll nutzen

res.rc

Code: Alles auswählen

file.html HTML "bla.html"
logo.gif HTML "logo.gif"

Code: Alles auswählen

Import "res.res" : EndImport
 
If OpenWindow(0, 0, 0, 600, 300, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
 
  module.s = ProgramFilename()
     
  WebGadget(0, 10, 10, 580, 280, "res://"+ module +"/file.html")
 
  Repeat
  Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf 

Code: Alles auswählen

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<body>
<img src="logo.gif" />
</body>
</html>

Verfasst: 26.06.2007 17:15
von ts-soft
Danke edel, das entspricht meinen Vorstellungen, dadurch das die html
komplett als resource in der exe ist, wird sogar speicher gespart, gegenüber
includebinary :allright:

// Nachtrag:
Nach einem Tip von edel hier noch ein simples Beispiel. Ich möchte also
einfach Dialoge, wie z.B. AboutBox erstellen, diese sollen keine externen
Dateien benötigen. Das Beispiel nutzt die Aboutbox des IE, damit man sieht
was da so möglich sein sollte.

Code: Alles auswählen

If OpenWindow(0, 0, 0, 450, 380, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
  WebGadget(0, 10, 10, WindowWidth(0) - 20, WindowHeight(0) - 20, "res://shdoclc.dll/about.dlg")
  SetGadgetAttribute(0, #PB_Web_BlockPopupMenu, #True)
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf