| |
|
|
- Seite 1 - |
|
| |
|
| |
|
|
|
| |
|
- Seite 2 - |
|
rainerhoefs | Hallo Michael,
was meinst Du mit einem Rahmen-Control?
Rainer |
|
|
| |
|
|
|
Michael Wodrich | Stell es Dir wie einen Bilderrahmen vor. Das äußere Control versiehst Du mit den gewünschten Rahmen-Effekten (SS_Sunken z.B.). Darin platzierst Du das Inline-Control. Hierbei mußt Du dann darauf achten das dieses innere Control die Rahmenlinien nicht überschreibt (positionieren). Da das äußere Control nicht scrollt bleibt der Rahmen-Effekt also intakt. Das innere Control sollte dann ganz rahmenlos sein, damit nicht auffällt das hier mehrere Controls geschachtelt sind. Selbst Microsoft verwendet solche geschachtelten Controls...
Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 12.08.2006 ▲ |
|
|
|
|
rainerhoefs | Hallo Michael,
wenn ich den Source von iF richtig lese, wird zuerst eine Listbox gezeichnet, die einen Rahmen hat. Dann wird darin ein Static gezeichnet, das wahrscheinlich auch einen Rahmen hat, Und dann wird nochmal ein Stati cauf das Static gesetzt. Ich habe schon mit alle Stilen herumprobiert, der Sprung belibt. Auch wenn man die Positionierung der Statics innerhalb der Listbox ändert, springt das Bild. Es schein hier keine Lösung zu geben.
Rainer |
|
|
| |
|
|
|
Rolf Koch | und wenn Du es mit einem Browser versuchst? Hab grad mal schnell mit ROC ein Webbrowser erstellt und dort z.B. eine übergrosse BMP angezeigt. Butterweiches Scrollen halt wie hier im Forum |
|
|
| |
|
|
|
rainerhoefs | Hallo Rolf,
soll ich jetzt zugeben das ich zu blöd bin den Satz mit dem Browser sofort in Source umzusetzen.
Ja muß ich wohl.
Kannst du da bitte etwas konkreter werden?
Danke
Rainer |
|
|
| |
|
|
|
Jörg Sellmeyer | Hier was aus meinem Archiv. Ich glaube von Uwe Pascal Niemeyer: KompilierenMarkierenSeparieren $H Windows.ph
Window 0,0-930,900
Usermessages 16
Def Atlaxwininit(0) !atl.dll,AtlAxWinInit
Def Atlaxcreatecontrol(4) !atl.dll,AtlAxCreateControl
Declare Atl&,Web&,A$
Atl&=Usedll(atl.dll)
Atlaxwininit()
A$=File:///C:MeinBildmitPfad.jpg
Web&=Control(AtlAxWin,A$,$50300000,00,0,920,550,%Hwnd,0,0,$200)-HTML-Contol anlegen
While 1
Waitinput
Case %Umessage=16:Break
Endwhile
Destroywindow(Web&)
Freedll Atl&
|
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 12.08.2006 ▲ |
|
|
|
| |
|
- Seite 3 - |
|
|
rainerhoefs | HalloJ. Sellmeyer
THATS IT!!
Vielen Dank liebe Profaner!
Das ist es.
Noch eine Frage: Sind die Beschreibungen in der API oder gibt es dazu eine gesonderte Doku? Ichmöchte natürlich geren dei Bilddatei zuordnen ohne jedesmal ein neues Fenster zu kreiren.
Danke nochmal |
|
|
| |
|
|
|
Jörg Sellmeyer | |
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 12.08.2006 ▲ |
|
|
|
|
Michael Wodrich | Das nachfolgende Beispiel habe ich unter v7.0 getestet. 2 Bildboxen KompilierenMarkierenSeparieren-------------------- für das HTML-Control
$H Windows.ph
Def Atlaxwininit(0) !atl.dll,AtlAxWinInit
Def Atlaxcreatecontrol(4) !atl.dll,AtlAxCreateControl
Declare Atl&
Atl&=UseDLL(atl.dll)
Atlaxwininit()
--------------------
mehrere Parameter zurückgeben: geht über eine Struktur am Besten
die vorderen Felder sind die Parameter, die letzten beiden sind die Rückgabewerte
Struct PictBoxStru = hWnd&, X&,Y&,Width&,Height&, DlgID&, BildPfad$(260), Box&, Web&
hier die Prozedur
Proc CreatePictureBox
Parameters PictBoxParms&
Declare WebPfad$
für v7.0 ist ein kleiner Trick erforderlich,
da die Bereiche sonst nicht strukturiert ansprechbar sind
Declare PictBoxParms#,Save&
Dim PictBoxParms#, PictBoxStru Bereich mit Struktur einrichten (Zeiger auf strukturierte Daten)
Save& = PictBoxParms# diesen Zeiger sichern
PictBoxParms# = PictBoxParms& den übergebenen Zeiger (auf Box1# und Box2#) mit der Struktur versehen
hier kann ich jetzt auf die übergebenen Daten zugreifen
With PictBoxParms#
.Box& = Control(STATIC,,$50000000,.X&,.Y&,.Width&,.Height&,.hWnd&,.DlgID&,%hInstance,$200)
WebPfad$ = file:/// + .BildPfad$
.Web& = Control(AtlAxWin,WebPfad$,$50300000,0,0,Width(.Box&),Height(.Box&),.Box&,0,0)-HTML-Contol anlegen
EndWith
PictBoxParms# = Save& Original-Bereich wiederherstellen
Dispose PictBoxParms# und aus dem Speicher entfernen
EndProc
-- Hauptprogramm --
Window 0,0-800,600 640,480
Usermessages 16
2 Bereiche für die Parameter und Rückgabewerte einrichten
Declare Box1#, Box2#
Dim Box1#, PictBoxStru
Dim Box2#, PictBoxStru
die Bereiche füllen
With Box1#
.hWnd& = %hWnd
.X& = 10
.Y& = 10
.Width& = 200
.Height& = 200
.DlgID& = 2000
.BildPfad$ = LoadFile$ (Bild laden!,Bilddateien (JPG,JPEG,GIF)|*.JPG;*.JPEG;*.GIF)
.Box& - wird in der CreatePictureBox zugewiesen (der STATIC-Rahmen)
.Web& - wird in der CreatePictureBox zugewiesen (das HTML-Control)
EndWith
With Box2#
.hWnd& = %hWnd
.X& = 220
.Y& = 10
.Width& = 200
.Height& = 200
.DlgID& = 2001
.BildPfad$ = LoadFile$ (Bild laden!,Bilddateien (JPG,JPEG,GIF)|*.JPG;*.JPEG;*.GIF)
.Box& - wird in der CreatePictureBox zugewiesen (der STATIC-Rahmen)
.Web& - wird in der CreatePictureBox zugewiesen (das HTML-Control)
EndWith
aufrufen der Prozedur
CreatePictureBox Box1#
CreatePictureBox Box2#
Hauptschleife
While 1
Waitinput
Case %Umessage=16:Break
Endwhile
Freigabe der beiden Controls je Aufruf
Destroywindow(Box1#.Web&)
Destroywindow(Box1#.Box&)
Destroywindow(Box2#.Web&)
Destroywindow(Box2#.Box&)
die Bereiche nicht vergessen
Dispose Box1#
Dispose Box2#
die DLL wieder entladen
FreeDLL Atl&
End
Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 13.08.2006 ▲ |
|
|
|
|
rainerhoefs | Hallo Michael,
habe Deine Source als Vorlage genommen und mir nur wenigen Zeilen in mein Programm eingebaut. Damit ist mein Problem gelöst.
Dir und allen anderen Profanern herzlichen Dank für die Hilfe.
Rainer |
|
|
| |
|
|
|
Jörg Sellmeyer | Wie hast Du denn das Menü der rechten Maustaste ausgeschaltet?
Gruß Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 16.08.2006 ▲ |
|
|
|
|
rainerhoefs | Hallo,
gar nicht, denn den Eintrag DRUCKEN möchte ich nutzen.
Rainer |
|
|
| |
|
|