---
title: "Webbrowser problem.."
type: "forum-thread"
url: "https://www.webforum.nu/amne/programmering/89668-webbrowser-problem"
topic: "Programmering"
topic_url: "https://www.webforum.nu/amne/programmering"
author: "Xepp"
published: "2003-11-04T21:42:04.000Z"
updated: "2003-11-07T10:10:52.000Z"
replies: 3
views: 276
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/programmering/89668-webbrowser-problem"
---

# Webbrowser problem..

## #1 — Xepp, 2003-11-04T21:42Z

Hejsan!

Jag håller på att skapa en egen webbrowser i Delphi och göra programet i Borland Delphi 7.0, men har stött på några trösklar. Jag är nybörjare på Delphi. Har dock lite kunskaper inom C. :)

Det är några saker som jag undrar:

1\. Hur gör man en s.k. välkomstruta i Delphi. I denna ruta ska det typ stå namnet på programet och en lite bild kanske. Sen ska den försvinna efter kanske 3 sekunder. Hur gör man detta?

2\. En liknande sak som ovan som jag söker svar på är hur man tex gör ett Options-fönster. När man klickar på en knapp så ska ett Optionsfönster ploppa upp. Hur göra man detta och hur gör man så inställningarna man har angivit i det nya fönstret spars så de används i det nya!?

3\. Min sista fråga är nog den knepigaste. Jag undrar hur/om man kan ändra fönstret på min webbrowser. Alltså att den ahr tex rundare former och inte den vanliga tråkiga windowslayouten. Vet att detta går att göra med C++. En kompis e programerare och använder c++ och han snacka nått om att man lixsom byter ut bilderna i kanterna, botten och toppen. Går detta att göra med Delphi och isåfall huurr... vore astufft! =) Som exempel kan ni kolla på tex MSNs browser som har gjort så ungefär som jag vill..

Otroligt tacksam för svar på vilken av dessa frågor för har helt kört fast.

Tänk på att jag e nybörjare! :OO

Permalänk: https://www.webforum.nu/p/89668

## #2 — Hardrocker, 2003-11-07T09:48Z

Re: webbrowser problem

Få se om jag kan hjälpa dig med dina frågor.

1\. Det enklaste sättet att fixa till en Splash screen är att använda sig av en TTimer komponent. Du hittar den under systemfliken. På den så sätter du ett tidsintervall och skriver in din code i onTimer eventet.

2\. Antagligen så sparar du undan inställningarna på något sätt så det enklast är nog att du sparar dina inställningar när du stänger Optionsfönstret och sedan skapar en metod (function eller procedure) på huvudformuläret som uppdaterar programmet med de nya inställningarna. Inställningarna läser du från det ställe där du sparat dem.
Vill du bygga vidare på det hela så kan du titta på att skapa en klass som håller reda på dina inställningar. 

3\. Funktioner för att ändra formen på ett fönster finns inbyggt i Windows API så de funktioner som din polare snackar om är antaligen samma i C++ som i Delphi. Längst så hittar du ett exempel på hur du gör ett fönster transparent. Det är samma functioner som används för att ändra formen på formulär så principen är den samma.

Några av funktionerna som man använder för att ändra fomen är:
CreateRectRgn
CombineRgn
SetWindowRgn

Det är lite för stort område för att ta upp alla funktioner här men kolla i delphis hjälp eller på webben så hittar du mer info. 

Här har du några nyttiga länkar:
<http://msdn.microsoft.com/>, Bra att ha om man letar info angående windows api
<https://www.torry.net>, En site med många bra exempel och komponenter.
<http://info.borland.com/newsgroups/ng_delphi.html>, Borlands nyhetsgrupper för Delphi.

Procedure TfrmMain.MakeTransparent;
var
  aControl: TControl;
  A, Margin, X, Y, CtlX, CtlY: Integer;
begin
  Margin := (Width - ClientWidth) Div 2;
  FullRgn := CreateRectRgn(0,0,Width,Height);
  X := Margin;
  Y := Height - ClientHeight - Margin;
  ClientRgn := CreateRectRgn(X,Y,X+ClientWidth,Y+ClientHeight);
  CombineRgn(FullRgn,FullRgn,ClientRgn,RGN_DIFF);
  For A := 0 to ControlCount - 1 do
  begin
    aControl := Controls\[A\];
    if (AControl is TWinControl) or (AControl is TGraphicControl) then
      With AControl do
      begin
        if Visible then
        begin
          CtlX := X + Left;
          CtlY := Y + Top;
          CtlRgn := CreateRectRgn(CtlX, CtlY, CtlX + Width, CtlY + Height);
          CombineRgn(FullRgn, FullRgn, CtlRgn, RGN_OR);
        end;
      end;
  end;
  SetWindowRgn(Handle, FullRgn, True);
end;

Procedure TfrmMain.UndoTransparent;
begin
  FullRgn := CreateRectRgn(0,0,Width,Height);
  CombineRgn(FullRgn, FullRgn, FullRgn, RGN_Copy);
  SetWindowRgn(Handle, FullRgn, True);
end;

Permalänk: https://www.webforum.nu/p/1199031

## #3 — Hardrocker, 2003-11-07T09:56Z

hehe, råkade posta mitt inlägg som en tråd.
Du hittar det på första sidan under re: webbrowser problem.

Permalänk: https://www.webforum.nu/p/1199036

## #4 — PeW, 2003-11-07T10:10Z

Det löste moderatorn (dvs jag)  genom att slå ihop trådarna  :)

Permalänk: https://www.webforum.nu/p/1199046

---

Tråden på webben: https://www.webforum.nu/amne/programmering/89668-webbrowser-problem
