Page 1 of 2 1 2 LastLast
Results 1 to 15 of 24

Thread: WebBrowser afmetingen

  1. #1

    WebBrowser afmetingen

    Een 'WebBrowser', wil ik graag met deze maten op het Form tonen:
    Width: 533
    Height: 276

    Maar wat ik ook probeer, deze neemt tekens een smaller formaat aan.
    Het lijkt erop dat deze alleen met een bepaalde hoogte/breedte verhouding getoont kan worden.

    Bij 'Align' heb ik ook al van alles geprobeerd, maar krijg het niet voor elkaar zoals ik het wil.

    Dus hoe kan ik dat voor elkaar krijgen, of is dit niet mogelijk ?

  2. #2
    Quote Originally Posted by MMSoft View Post
    Maar wat ik ook probeer, deze neemt tekens een smaller formaat aan.
    Als je dan ook wat code laat zien waarmee je die maten in stelt kunnen we zien waarom het mis gaat.

    En bij align = alClient neemt ie altijd de maten van het onderliggende component aan. Dus als ie daarmee telkens smaller is dan staan de maten daarvan niet goed.

    (Note...: Width van TWebBroweser component wil niet zeggen dat dat ook de Width is van je interne webpagina. Er zijn altijd marges.)

  3. #3
    Nadat ik van alles heb geprobeerd, ben ik opnieuw begonnen en nu is er geen code.
    Het form stel ik in op:
    Width: 533
    Height: 320

    Ik drop een TWebBroweser component op het form en stel in:
    Width: 533
    Height: 276
    Verder wijzig ik niets.

  4. #4
    En waar gaat het dan precies mis?

    Ik neem aan dat je dit overigens voor een FMX Windows-applicatie gebruikt.
    Want een Width en Height instellen voor een Android device is toch niet mogelijk?
    Dan pakt ie toch de native resolutie van dat device?

    Wat heb je rechtsboven bij View opgegeven?

  5. #5
    Even terug naar het eerste project waarbij ik wel code gebruik.
    Ik plaats de componenten op een ScaledLayout, zodat deze componenten zich aanpassen aan het display dat gebruik wordt.
    Dit lijkt voor alles wat ik tot nu toe gebruikt heb te werken, maar niet voor een TWebBrowser.

    Als ik namelijk een TMemo plaats met de afmetingen 533x320 wordt deze netjes getoond, maar bij een TWebBrowser wordt deze bij dezelfde afmetingen smaller vertoond.

    Code:
    procedure TForm1.FormActivate(Sender: TObject);
    begin
     //Form1
     Form1.ClientHeight:= 320;  //Scherm hoogte
     Form1.ClientWidth:= 533;   //Scherm Breedte
    
     //ScaledLayout
     ScaledLayout1.OriginalHeight := 320;
     ScaledLayout1.OriginalWidth := 533;
     ScaledLayout1.Align := TAlignLayout.Client; //Scherm aanpassen aan display grote
    end;
    View staat op: Master
    Last edited by MMSoft; 21-Nov-16 at 15:49.

  6. #6
    Volgens mij wordt de TWebBrowser niet smaller getoond maar meer naar rechts zodat je een linker marge hebt.

    Die linker marge komt omdat de (niet zichtbare) linker marge ook geschaald wordt.

    Maar als je je TWebBrowser 533 maakt en je form is ook 533, waarom maar je die dan niet Align = alTop of Align = alBottom (of alClient met een panel op je scherm). Dan moet het volgens mij altijd goed gaan.

  7. #7
    Zo ziet het er in Delphi uit:
    Click image for larger version. 

Name:	XE8.jpg 
Views:	80 
Size:	22.4 KB 
ID:	7444

    Een Memo wordt het netjes over de gehele breedte getoond:
    Click image for larger version. 

Name:	Memo.png 
Views:	72 
Size:	37.6 KB 
ID:	7445

    Maar een WebBrowser wordt een heel stuk smaller getoond:
    Click image for larger version. 

Name:	Webbrowser.jpg 
Views:	75 
Size:	91.2 KB 
ID:	7446

    Een Panel wordt ook netjes over de gehele breedte getoond:
    Click image for larger version. 

Name:	Panel.png 
Views:	80 
Size:	44.0 KB 
ID:	7447

    Maar als ik dan een WebBrowser op dit panel plaats en Align (van de WebBrowser) op alClient zet, dan wordt de WebBrowser toch weer smaller getoond:
    Click image for larger version. 

Name:	Panel-Web.jpg 
Views:	73 
Size:	91.7 KB 
ID:	7448
    Last edited by MMSoft; 21-Nov-16 at 17:23.

  8. #8
    Quote Originally Posted by MMSoft View Post
    Maar als ik dan een WebBrowser op dit panel plaats en Align (van de WebBrowser) op alClient zet, dan wordt de WebBrowser toch weer smaller getoond
    Ik bedoelde de TWebBrowser direct op de ScaledLayout met alClient (of alTop).

    Nu zet je hem op een TPanel. Maar staat die TPanel ook op alClient ???

    Upload anders eens een voorbeeldje (gezipped).

  9. #9
    Upload anders eens een voorbeeldje (gezipped).
    ...
    Attached Files Attached Files
    Last edited by MMSoft; 21-Nov-16 at 18:38.

  10. #10
    Het lijkt erop dat een TWebBrowser alleen met een bepaalde hoogte/breedte verhouding getoont kan worden want wat ik ook probeer het lukt mij in ieder geval nog steeds niet...

  11. #11
    Je voorbeeldje was mij even ontgaan.
    Resultaat bij mij (ik krijg wel een crash bij kantelen maar als ik hem van te voren kantel gaat het goed):
    Click image for larger version. 

Name:	2016-11-22 14.32.09.png 
Views:	77 
Size:	20.2 KB 
ID:	7455

    Click image for larger version. 

Name:	2016-11-22 14.32.17.png 
Views:	73 
Size:	19.3 KB 
ID:	7456

    Als ik de regels uit je FormCreate weg haal gaat het wel goed:

    Click image for larger version. 

Name:	2016-11-22 14.34.19.png 
Views:	76 
Size:	18.0 KB 
ID:	7457

    Click image for larger version. 

Name:	2016-11-22 14.34.29.png 
Views:	74 
Size:	16.8 KB 
ID:	7458

    Dus waarom stel je in je FormCreate andere waardes in dan waar je in ontwerpt.
    Op moment dat je dat n.l. doet (dus al bij die eerste 2 regels) gaat TScaledLayout zijn werk doen.

    Delphi Code:
    1. procedure TForm1.FormActivate(Sender: TObject);
    2. begin
    3.  //Form1
    4.  Form1.ClientHeight:= 320;  //Scherm hoogte     LET OP. HIER GAAT SCALEDLAYOUT OOK AL ZIJN WERK DOEN.
    5.  Form1.ClientWidth:= 533;   //Scherm Breedte
    6.  
    7.  // DAARNA GA JIJ NOGMAALS DE SCALEDLAYOUT AANPASSEN
    8.  //ScaledLayout
    9.  ScaledLayout1.OriginalHeight := 320;
    10.  ScaledLayout1.OriginalWidth := 533;
    11.  //ScaledLayout1.Align := TAlignLayout.Client; //Scherm aanpassen aan display grote
    12. end;
    (zie commentaar)

    Als jij dus die ClientHeight/Width van je Form1 en ScaledLayout aan wilt passen zou je eigenlijk eerst het mechanisme daarvan stop moeten zetten anders krijg je rare resultaten.

    Maar als je de regels gewoon weghaalt schaalt ie gewoon je design-time naar scherm. Dat is toch wat je wilt?

    Click image for larger version. 

Name:	2016-11-22 15_34_15-Web_Brouwser - Delphi 10.1 Berlin - Unit1 [Built].png 
Views:	75 
Size:	21.8 KB 
ID:	7459

  12. #12
    Ik ontwerp al mijn Appjes voor een S2, en heb deze afmetingen dan ook ingesteld staan bij het Form en ScaledLayout.
    Ik ontwerp dus niet met andere waardes dan dat ik opgeef in FormActivate.

    Ik heb deze regels nu verwijderd in FormActivate en heb nog precies hetzelfde probleem, ook nadat ik nog
    even het Form nu op FullScreen gezet heb.

    Ik heb al meerdere Appjes gemaakt op deze manier en nog nooit problemen gehad totdat ik nu een TWebBrowser gebruik.
    Bij een TMemo werkt het bijvoorbeeld wel goed.

    Edit 1:
    Ik ben eens een beetje aan het rekenen:
    Ik ontwerp voor een S2, deze heeft een scherm van 533 x 320.
    Ik gebruik deze (als test) op een S4, en deze heeft een scherm van 640 x 360
    Dat geeft een verschil van 1,2 voor de breedte en 1,125 voor de hoogte.
    Tja met 2 verschillende waardes is dat lastig schalen lijkt mij...

    Toch blijf ik het vreemd vinden dat het met bij een TMemo wel goed werkt.
    Last edited by MMSoft; 22-Nov-16 at 18:25.

  13. #13
    Quote Originally Posted by MMSoft View Post
    Ik heb deze regels nu verwijderd in FormActivate en heb nog precies hetzelfde probleem.
    Meen je dat? Bij mij gaat het dan goed. Behalve dat je Edit dan in het midden komt maar dat komt omdat je die gewoon los op je form hebt staan en niet aan de rechter-kant ge-anchored hebt.

    Het kan zijn dat de TMemo op een ander moment/manier schaalt.

    Als je die regels weg haalt en je hebt hetzelfde probleem dan kan ik je daarmee niet helpen. Bij mij gaat het met de TWebBrowser dan gewoon goed.

    Maar je ontwerpt op 533x320 dus je moet helemaal niet in FormActivate die waardes nog een keer zetten. Als je dan op een 640x360 zit dan zal het scherm iets vergroot worden (wat je neem ik aan wilt).

    Je ScaledLayout1.OriginalHeight is al 320 en je ScaledLayout1.OriginalWidth is al 533 dus je hoeft dit helemaal niet te wijzigen voor je S4. Het is toch de bedoeling dat de S4 alles een fractie groter weer geeft dan de S2 ???


    Inmiddels weet ik ook hoe ik over Wifi met ADB kan werken. Scheelt weer elke keer die mobiel aan usb-hangen.

  14. #14
    Je ScaledLayout1.OriginalHeight is al 320 en je ScaledLayout1.OriginalWidth is al 533 dus je hoeft dit helemaal niet te wijzigen voor je S4. Het is toch de bedoeling dat de S4 alles een fractie groter weer geeft dan de S2 ???
    Klopt.


    Een WebBrowser heeft geen Scale optie, maar wel een AbsoluteScale optie. Kan het daarmee te maken hebben ?

    Inmiddels weet ik ook hoe ik over Wifi met ADB kan werken. Scheelt weer elke keer die mobiel aan usb-hangen.
    Het hoort hier eigenlijk niet thuis, maar ik ben wel benieuwd hoe je dat doet

  15. #15
    Mmmm, je bent blijkbaar niet de enige:
    https://plus.google.com/117966969071...ts/CSvqD6gjJSj

    En hier thuis krijg ik hem ook niet goed (terwijl die op de zaak met update 2 wel goed stond). Ik zal hier thuis eens een projectje maken en morgen op de zaak testen. Als die dan wel goed is dan was het een bug die ze opgelost hebben.

    ---------
    Voor ADB (debuggen) via WiFi. Het staat allemaal op deze pagina:
    http://docwiki.embarcadero.com/RADSt...Android_Device

    Er even vanuit gaande dat je toestel geroot is:
    • Installeer WiFi ADB op je telefoon.
    • Start deze en toggle de switch. Noteer het ip adres.
    • Kijk in Delphi waar de adb.exe naartoe verwijst.
      (Dit kan door met rechts op de target Android te klikken en te kiezen voor Edit SDK)
      Dan staat er onder Adb location iets dergelijks als:
      C:\Users\Public\Documents\Embarcadero\Studio\18.0\ CatalogRepository\AndroidSDK-2433_18.0.24468.8770\platform-tools\Adb.exe
    • Start cmd.exe
    • Ga naar die directory met
      cd C:\Users\Public\Documents\Embarcadero\Studio\18.0\ CatalogRepository\AndroidSDK-2433_18.0.24468.8770\platform-tools
    • start "adb connect ip"
      (waar ip staat voor het ip-adres dat je ziet in de WiFi ADB app)
    • Wacht even en in de target van Delphi komt nu automatisch je telefoon (kan een paar seconden duren)

    Als je dit veel doet kun je natuurlijk ook een batch-filetje op je bureaublad zetten met:

    Code:
    "C:\Users\Public\Documents\Embarcadero\Studio\18.0\CatalogRepository\AndroidSDK-2433_18.0.24468.8770\platform-tools\adb.exe" connect 192.168.1.111
    Als je telefoon niet geroot is dan moet je hem wel eerst even aan usb hangen en i.p.v. connect het volgende opgeven:
    Code:
    adb tcpip 5555
    Daarna kan je telefoon van de usb af en eraf blijven totdat je je computer of telefoon restart (of WiFi ADB stopt).

Page 1 of 2 1 2 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •