Office: (Office 2013) Formular mit Webbrowser Steuerelement

Helfe beim Thema Formular mit Webbrowser Steuerelement in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; von CatboyJones Das MetaFile-Format hat mir für Zeichenoperationen in Access am besten gefallen. Danke, ein praktisches Beispiel. Was hat dir am... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von oliverzier, 10. November 2017.

  1. Formular mit Webbrowser Steuerelement


    Danke, ein praktisches Beispiel.
    Was hat dir am MetaFile Konzept so gut gefallen?

    LG M
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
  2. > Was hat dir am MetaFile Konzept so gut gefallen?

    Ich kann mich jetzt leider nicht mehr wirklich daran erinnern,
    aber es ging dabei auch darum, nach dem Zeichnen die
    Bytes zurück zu bekommen.
     
    CatboyJones, 16. November 2017
    #17
  3. Markus, das (Enhanced) Metafile-Format macht es deshalb attraktiv, weil es ein Vektor-Format ist und damit, sofern keine Bitmap-Objekte integriert sind, bei der Darstellung am Bildschirm oder beim Drucken die Darstellung nicht verpixelt.
     
  4. Formular mit Webbrowser Steuerelement

    Das heißt, eine optimale Darstellung beim Zoomen?
    Dafür soll es für die Darstellung von schrägen Linien oder Kurven nicht geeignet sein, so wie ich gelesen habe. Also für das Diagramm-Beispiel von Jones eigentlich nicht optimal.

    Edit: wobei man für Kurven vermutlich eher mit GDI+ arbeiten sollte, bzw. antialiasing benötigt.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
  5. \@Markus

    EMF ist quasi eine Batch-Datei für GDI-Funktionen.
    Adäquate Alternativen zu CreateEnhMetaFile wären die
    CreateBitmap-Funktionen. In diesem Sinne hatte mir das
    EMF-Format am besten gefallen. Der Hauptgrund dafür war,
    dass es am einfachsten zu handhaben ist.

    GDIplus-Funktionen kann man im EMF nicht speichern,
    was bei der Überlegung auch keine Option war.

    Innerhalb von GDI ist ein EMF einem Bitmap auf jeden Fall
    überlegen.

    Gruss
    Jones
     
    CatboyJones, 17. November 2017
    #20
  6. \@Jones

    Mit EMF habe ich mich bisher nicht beschäftigt.
    Daher bin ich Ich froh, jetzt beides zu kennen und Anwendungsbeispiele zu haben, die mich weiterbringen.

    Vielen Dank
    Markus
     
  7. Hi!

    Die Geister die man ruft... *biggrin.gif*

    Noch mal zurück zum original Thema.

    Ich hatte festgestellt, dass das Abbild im EMF-Format im ImageControl
    nur richtig dargestellt wird, wenn selbiges den SizeMode 'zoom' hat.
    Im Modus 'abgeschnitten' wird das Bild vergrößert angezeigt.
    Wenn das EMF-Bild aber als Datei gespeichert wird, passt alles.
    Das steht vlt. im Zusammenhang mit dem 8-Byte Header,
    der für das ImageControl nötig ist, und dessen Aufbau
    mir jetzt aber nicht mehr geläufig ist.

    Ich habe das Demo noch mal erweitert und eine Variante mit einem
    Bitmap angefügt. Ggf. ist das für eine solche Anwendung doch der
    bessere Weg.

    WebBrowserControlToImage.zip

    Gruss
    Jones
     
    CatboyJones, 19. November 2017
    #22
  8. Formular mit Webbrowser Steuerelement

    Hallo,

    vielen Lieben Dank, ich hätte nicht gedacht, dass es doch noch Möglichkeiten gibt und erst jetzt nochmal in das Forum geschaut.

    Mit Access 2013 64bit killt die Funktion mit Bitmap Access komplett:

    Formular mit Webbrowser Steuerelement doz8ueszm4oyqrrjx.png


    Für die Verwendung von 64bit habe ich die Funktionen wie folgt geändert:
    Code:
    Option Explicit musste ich raus nehmen, da ich sonst Variablen in meinem Code nicht funktionieren.

    Nun zum eigentlichen Problem: Ich bekomme einen den falschen Bidschirmausschnitt:


    Formular mit Webbrowser Steuerelement dozaaj04ikdkdao8t.jpg
     
    oliverzier, 4. Dezember 2017
    #23
  9. Hi!

    Du musst mal in RecalcScreenPosition() einen Haltepunkt setzen und die
    Ergebnisse von GetWindowRect() und ClientToScreen() überprüfen.

    Edit:
    Die RecalcScreenPosition Funktion habe ich mal irgendwo übernommen.
    Da scheint mir aber auf jeden Fall ein Fehler drin zu sein:

    Falsch: (If (pt.Y + lHeight) > rctClient.Bottom Then pt.Y = rctClient.Bottom - 2)
    Richtig: If (pt.Y + lHeight) > rctClient.Bottom Then lHeight = rctClient.Bottom - pt.Y - 2

    Gruss
    Jones
     
    CatboyJones, 5. Dezember 2017
    #24
  10. ... und außerdem die Declare-Anweisungen für 64 Bit fit machen - die kann man nicht einfach blind übernehmen und ein PtrSafe dazwischen schieben.
     
  11. Ich vermute daran liegt es nicht, denn mit der Demo Datenbank WebBrowserControlToImage.accdb funktioniert es noch, obwohl ich hier schon PtrSafe dazwischen geschoben habe. Möglich dass deswegen Access in der Bitmap-Funktion abstürzt.

    Jetzt ist es besser aber noch nicht ganz richtig:

    Formular mit Webbrowser Steuerelement dozbzutvyhpovdnb1.jpg


    Mir ist aufgefallen dass es nicht mehr funktioniert, sobald die Scrollbar benutzt wird. -> Das könnte man ja zur Not unterbinden.

    Aber auch wenn der Scrollbalken ganz oben ist, stimmt es noch nicht ganz:

    Formular mit Webbrowser Steuerelement dozc4ipwjocp0szel.jpg



    Bei GetWindowRect() ist me.hwnd= 789662

    Bei ClientToScreen() ist me.hwnd= 789662
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    oliverzier, 5. Dezember 2017
    #26
  12. Du musst auch alle Pointer auf 64 Bit umstellen. Also LongPtr oder LongLong statt long für jeden Pointer - aber natürlich nur die Pointer.
    Siehe VBA unter Access mit 64 Bit - Access im Unternehmen

    Aber da gibt es eh jede Menge Infos im Web.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    markusxy, 5. Dezember 2017
    #27
  13. Formular mit Webbrowser Steuerelement

    Das Scrollen ist natürlich problematisch. Es wird ja nur ein Screenshot vom
    Bildschirm gemacht. Wenn das Bild ausserhalb der sichtbaren Bereichs liegt,
    funktioniert das nicht mehr. Ausserdem wird die Scrollposition nicht
    berücksichtigt. Das könnte man aber mit Me.CurrentSectionTop
    bewerkstelligen.

    lTop = lTop + Me.CurrentSectionTop

    Du solltest nicht den hwnd kontrollieren, sondern die Y-Positions-Werte.
    Da liegt der Hund begraben. Ggf. kannst Du das durch einen Standard-
    offset korrigieren.
     
    CatboyJones, 5. Dezember 2017
    #28
  14. Vielen Dank,
    nach der deaktivierung der Scrollbalken und erzwungenem Vollbild funktioniert es nun perfekt!!
     
    oliverzier, 6. Dezember 2017
    #30
Thema:

Formular mit Webbrowser Steuerelement

Die Seite wird geladen...
  1. Formular mit Webbrowser Steuerelement - Similar Threads - Formular Webbrowser Steuerelement

  2. Suchfeld in Formular

    in Microsoft Access Hilfe
    Suchfeld in Formular: Hallo zusammen Ich bin eine Datenbank am erstellen, wo ich Mitarbeiter und Kurse erfassen kann und schlussendlich den Mitarbeitern die besuchten Kurse zuteilen. Nun habe ich ein Formular...
  3. Formularsteuerelement Textfeld: Selbe Formatierung wie verlinkte Zelle?

    in Microsoft Excel Hilfe
    Formularsteuerelement Textfeld: Selbe Formatierung wie verlinkte Zelle?: Hallo, ich bin ja gerade dabei ein Bestellformular mit Excel zu realisieren. Das ganze sieht soweit auch schon sehr gut aus und funktioniert weitgehendst. Die Textfelder sind nun alle verlinkt...
  4. Word Steuerelemente/Formular erstellen

    in Microsoft Word Hilfe
    Word Steuerelemente/Formular erstellen: Hallo, ich möchte ein Formular mit 20 kleinen Textfeldern erstellen, die auf einer Seite an vordefinierten Stellen sind. Das fertige Formular soll so angewendet werden, dass ich in die 20...
  5. Aktuelles Datum und Uhrzeit in Formular

    in Microsoft Word Hilfe
    Aktuelles Datum und Uhrzeit in Formular: Hallo, zunächst ein herzlichen Dank für die Aufnahme in diesem Forum und hoffe, dass mir jemand bei meinem Problem behilflich sein kann. Ich bin aktuell dabei ein Formular zu erstellen. Das...
  6. Access Neuer Datensatz im Formular

    in Microsoft Access Hilfe
    Access Neuer Datensatz im Formular: Hallo - ich bin neu hier und Anfängerin im VBA Programmieren. Ich habe eine Frage zu VBA: In meinem Formular kann ich Daten eingeben, wenn ich das Formular wieder öffne, wird der letzte...
  7. mit String aus Formular Übereinstimmung in Abfrage prüfen

    in Microsoft Access Hilfe
    mit String aus Formular Übereinstimmung in Abfrage prüfen: Hallo liebe Mitglieder Ich verzweifle wieder einmal fast und wende mich an Euch. Ich möchte gern aus einem Formular heraus (Click) prüfen, ob übereinstimmende Datensätze in einer Abfrage vorhanden...
  8. Hinzufügen eines Webbrowser-Steuerelements zu einem Formular

    in Microsoft Access Tutorials
    Hinzufügen eines Webbrowser-Steuerelements zu einem Formular: Hinzufügen eines Webbrowser-Steuerelements zu einem Formular Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden