Avatar billede t-man Nybegynder
18. januar 2000 - 22:32 Der er 23 kommentarer og
1 løsning

Vis rammen men ikke den der blå "bar"

Er der nogle der ved hvordan man kan få rammen der er rundt om et vindue unden at vise den der blå "linje"?
Avatar billede stone Forsker
19. januar 2000 - 00:40 #1
I object Inspector's Propeties
for Form1 sætter du "border style" til
"none"
hvis det var det du mente!
Avatar billede t-man Nybegynder
19. januar 2000 - 01:23 #2
det fjerner den blå "bar" men den der frame ude i siden... (den der kant der er på vinduerne når vinduet "Gendan"'et bliver også fjernet og den knat vil jeg gerne havde skal blive... det sagde jeg også i spørgsmålet)
Avatar billede stone Forsker
19. januar 2000 - 01:45 #3
prøv dette:
I object Inspector'Propeties
borderwidth=3
Borderstyle=Bsnone
Formstyle=FsmidiForm

den blå kant er væk og vidden på rammen
kan du sætte som du synes, jeg har valgt 3.

Avatar billede t-man Nybegynder
19. januar 2000 - 01:54 #4
hvis jeg skriver fsMDIForm i formstyle så kommer der en kant... men der kommer ikke noget andet... af en eller anden grund så bliver billedet (form1 og form2) grå...
Avatar billede stone Forsker
19. januar 2000 - 02:17 #5
I object Inspector's Propeties
under color, kan du sætte farven på form1 og form2.

Avatar billede t-man Nybegynder
19. januar 2000 - 02:19 #6
jeg har et billede der som helst skal vises... (et JPEG)
Avatar billede t-man Nybegynder
19. januar 2000 - 03:21 #7
never mind... jeg har fundet ud af det... (det var HORZscrollbar der skulle ændres noget i)
Avatar billede t-man Nybegynder
19. januar 2000 - 03:44 #8
af en eller anden grund kan jeg ikke få HORZscrollbar og vertscrollbar over til form2 jeg mener selv at jeg har kopieret det næsten direkte fra form1 til form2 men af en eller anden grund vil den ikke vise kanten... HJÆLP
Avatar billede t-man Nybegynder
19. januar 2000 - 03:50 #9
ups... jeg har dummet mig... det der med scrollbar ved jeg ikke men jeg satte det sådan at det var baggrunden jeg kunne se... ikke den der går noget... så spørgmålet er stadigt åben...
Avatar billede sjensen Nybegynder
19. januar 2000 - 11:29 #10
Her er lige 2 rutiner du kan bruge til at fjerne den og sættte den på igen. Titlebaren altså:

Procedure TYourFormName.HideTitlebar;
Var
  Save : LongInt;
Begin
  If BorderStyle=bsNone then Exit;
  Save:=GetWindowLong(Handle,gwl_Style);
  If (Save and ws_Caption)=ws_Caption then Begin
    Case BorderStyle of
      bsSingle,
      bsSizeable : SetWindowLong(Handle,gwl_Style,Save and
        (Not(ws_Caption)) or ws_border);
      bsDialog : SetWindowLong(Handle,gwl_Style,Save and
        (Not(ws_Caption)) or ds_modalframe or ws_dlgframe);
    End;
    Height:=Height-getSystemMetrics(sm_cyCaption);
    Refresh;
  End;
end;

Procedure TYourFormName.ShowTitlebar;
Var
  Save : LongInt;
begin
  If BorderStyle=bsNone then Exit;
  Save:=GetWindowLong(Handle,gwl_Style);
  If (Save and ws_Caption)<>ws_Caption then Begin
    Case BorderStyle of
      bsSingle,
      bsSizeable : SetWindowLong(Handle,gwl_Style,Save or ws_Caption or
        ws_border);
      bsDialog : SetWindowLong(Handle,gwl_Style,Save or ws_Caption or
        ds_modalframe or ws_dlgframe);
    End;
    Height:=Height+getSystemMetrics(sm_cyCaption);
    Refresh;
  End;
end;

sjensen
Avatar billede t-man Nybegynder
19. januar 2000 - 13:19 #11
når jeg insætter den der linje så siger den: "[Error] about.pas(72): Undeclared identifier: 'hideTitlebar'"
hvad gør jeg galt?
Avatar billede sjensen Nybegynder
19. januar 2000 - 14:06 #12
I dit delphi program hedder formen ikke nødvendigvis "TYourFormName" mern formentligt "TAbout" hvis du har kaldt den det. Ellers ville den hedder "TFormx" hvor x er et tal. Prøv at se den tilsvarende navn i en af de events der er eller i interface delen, under Var

der vil stå

var
  Form1 : Tform1; hvis din form hedder Form1.

Proceduren HideTitleBar skal derfor rettes til (hvis formen hedder Form1):

Procedure TForm1.HideTitlebar; og oppe i toppen af uniten, mellem ordene Private og Public, indsætter du procedure headeren, men uden formnavnet:

Private
.
.
Procedure HideTitlebar;
.
Public
.

Så skulle det virke.

sjensen
Avatar billede t-man Nybegynder
19. januar 2000 - 14:36 #13
jeg kan ikke få den til at virke... den giver ikke denne der kant til vinduet...
Avatar billede sjensen Nybegynder
19. januar 2000 - 15:05 #14
Prøv lige at sætte Borderstyle til bsSingle !!!

sjensen
Avatar billede sjensen Nybegynder
19. januar 2000 - 15:11 #15
t-man>jeg har lige testet det og der er en rettelse til proceduren hidetitlebar:

Linien:
      bsSizeable : SetWindowLong(Handle,gwl_Style,Save and
        (Not(ws_Caption)) or ws_border);
skal rettes til:

      bsSizeable : SetWindowLong(Handle,gwl_Style,Save and
        (Not(ws_Caption)));

d.v.s. at "or wsBorder" skal fjernes !!

sjensen
Avatar billede sjensen Nybegynder
19. januar 2000 - 15:17 #16
Igen: fejl !!

Du skal bruge borderstyle = bsDialog for at beholde rammen

sjensen
Avatar billede t-man Nybegynder
19. januar 2000 - 15:20 #17
hvis jeg sætter bsSingle så kommer den blå "tittle bar"
Avatar billede t-man Nybegynder
19. januar 2000 - 15:23 #18
også selv om jeg ændre den der linje
Avatar billede sjensen Nybegynder
19. januar 2000 - 15:23 #19
Ja, men du skal stadig kalde proceduren Hidetitlebar. Du skal altså bare sætte stylen til bsDialog !!

sjensen
Avatar billede t-man Nybegynder
19. januar 2000 - 15:25 #20
det var jo det jeg gjore
Avatar billede sjensen Nybegynder
19. januar 2000 - 15:26 #21
her er et lille testprogram i D4:

Pas-filen:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
    procedure HideTitlebar;
    procedure ShowTitlebar;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

Procedure Tform1.HideTitlebar;
Var
  Save : LongInt;
Begin
  If BorderStyle=bsNone then Exit;
  Save:=GetWindowLong(Handle,gwl_Style);
  If (Save and ws_Caption)=ws_Caption then Begin
    Case BorderStyle of
      bsSingle,
      bsSizeable : SetWindowLong(Handle,gwl_Style,Save and
        (Not(ws_Caption)));
      bsDialog : SetWindowLong(Handle,gwl_Style,Save and
        (Not(ws_Caption)) or ds_modalframe or ws_dlgframe);
//      bsDialog : SetWindowLong(Handle,gwl_Style,Save and
//        (Not(ws_Caption)));
    End;
    Height:=Height-getSystemMetrics(sm_cyCaption);
    Refresh;
  End;
end;

Procedure Tform1.ShowTitlebar;
Var
  Save : LongInt;
begin
  If BorderStyle=bsNone then Exit;
  Save:=GetWindowLong(Handle,gwl_Style);
  If (Save and ws_Caption)<>ws_Caption then Begin
    Case BorderStyle of
      bsSingle,
      bsSizeable : SetWindowLong(Handle,gwl_Style,Save or ws_Caption or
        ws_border);
      bsDialog : SetWindowLong(Handle,gwl_Style,Save or ws_Caption or
        ds_modalframe or ws_dlgframe);
    End;
    Height:=Height+getSystemMetrics(sm_cyCaption);
    Refresh;
  End;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
  hidetitlebar;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  showtitlebar;
end;

end.

dfm-filen:
object Form1: TForm1
  Left = 200
  Top = 107
  BorderStyle = bsDialog
  Caption = 'Form1'
  ClientHeight = 148
  ClientWidth = 298
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Button1: TButton
    Left = 56
    Top = 40
    Width = 179
    Height = 25
    Caption = 'Fjern den blå bar'
    TabOrder = 0
    OnClick = Button1Click
  end
  object Button2: TButton
    Left = 56
    Top = 80
    Width = 177
    Height = 25
    Caption = 'Vis den igen'
    TabOrder = 1
    OnClick = Button2Click
  end
end

Det virker fint hos mig !!

sjensen
Avatar billede t-man Nybegynder
19. januar 2000 - 15:37 #22
ja... det virker også i Delphi 5
den blå tittle bar som den skal, men det der er galt er at den fjerner også den der kant...
Avatar billede sjensen Nybegynder
19. januar 2000 - 15:45 #23
Der er kanten rundt om hele formen vi taler om ikke ??

Når jeg kører mit program (testprogrammet) er der en fin kant rundt om. Hvordan ser det ud hos dig når du prøver mit testprogram ?

sjensen
Avatar billede t-man Nybegynder
19. januar 2000 - 17:49 #24
jeg har selv fundet ud af hvad jeg har glemt... (jeg glemte at sætte "HideTitlebar;" i "onshow" på formerne... så nu virker det som det skal... mange mange tak)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester