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)
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å...
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
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...
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;
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:
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
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)
Synes godt om
Ny brugerNybegynder
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.