Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi [Help] Fenster aus Sysbar... (https://www.delphipraxis.net/130932-%5Bhelp%5D-fenster-aus-sysbar.html)

Mithrandir 17. Mär 2009 14:43

Re: [Help] Fenster aus Sysbar...
 
Zitat:

Zitat von Gabberjool
ich meinte ja auch den link von Daniel:
http://www.delphipraxis.net/internal...=609083#609083

Hmm, wie lange arbeitest du schon mit Delphi?

Gabberjool 17. Mär 2009 15:31

Re: [Help] Fenster aus Sysbar...
 
Zitat:

Zitat von Reinhardtinho

ne noch nicht danke !!!

Zitat:

Zitat von Daniel G
Zitat:

Zitat von Gabberjool
ich meinte ja auch den link von Daniel:
http://www.delphipraxis.net/internal...=609083#609083

Hmm, wie lange arbeitest du schon mit Delphi?

eig. schon länger, aber ich kann besser mit den Componenten arbeiten als selbst die Funktionene zu schrieben oder so...
Ich verstehe die sprache irgendwie schon, jedoch habe ich einfach zuviele fragen die mir keiner Beatnworten kann/will.

Das ganze auch mir C/C++ ich versteh den zweck den aufbau aber die ausführung nicht.

sry... :cry:

Ich bräcuhte sowas änliches wie ein Meister oder ein Lehrer... ^^ den für meine fragen die ich hab lohnt es sich nicht ein Post auf zu machen da es nur heissen würde sowas weiss man doch usw...
Ich denke Einfach manchmal viel zu weit

Gabberjool 17. Mär 2009 15:48

Re: [Help] Fenster aus Sysbar...
 
Also:
Ich hab nun das versucht : http://www.swissdelphicenter.ch/de/showcode.php?id=54

Das ganze sollte dan ja So aussehen:

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    procedure FormShow(Sender: TObject);
  private
    procedure WMSysCommand(var msg: TWMSysCommand); message WM_SysCommand;
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

    {$R *.dfm}



procedure TMainForm.WMSysCommand(var msg: TWMSysCommand);
begin
  if msg.CmdType and $FFF0 = SC_MINIMIZE then
    hide
  else
    inherited;
end;


procedure TForm1.FormShow(Sender: TObject);
var
  hwndOwner: HWnd;
begin
  hwndOwner := GetWindow(Handle, GW_OWNER);
  ShowWindow(hwndOwner, SW_HIDE);
  // For Windows 2000, additionally call the ShowWindowAsync function:
  ShowWindowAsync(hwndOwner, SW_HIDE);
  ShowWindowAsync(Self.Handle, SW_HIDE);
end;

end.
Jedoch Gibt er nur fehler meldungen... sprich:

[Fehler] Unit1.pas(24): ';' erwartet, aber '.' gefunden
[Fehler] Unit1.pas(24): ';' erwartet, aber ')' gefunden
[Fehler] Unit1.pas(27): Undefinierter Bezeichner: 'hide'
[Fehler] Unit1.pas(29): Diese Form des Methodenaufrufs ist nur in Methoden von abgeleiteten Typen erlaubt

usw...

Bitte was mach ich falsch...

Sherlock 17. Mär 2009 15:55

Re: [Help] Fenster aus Sysbar...
 
Ich glaube worauf Daniel hinaus wollte ist, daß Du offenkundig vergessen hast, die Funktion HideFromTaskBar zu deklarieren. ;)

Dann kommt nämlich auch die Fehlermeldung nicht. Auch wenn Du nur mit Komponenten bisher gewerkelt hast, sollte Dir aufgefallen sein, daß der Kopf von Funktionen/Prozeduren komischerweise immer zweifach im Quellcode vorkommt. Das sollte Dir helfen, das Problem jetzt zu lösen.

Sherlock

Reinhardtinho 17. Mär 2009 15:58

Re: [Help] Fenster aus Sysbar...
 
Und das Problem in #13:

Dein Formular ist vom Typ TForm1, bei der Methode schreibst du TMainForm.

Sherlock 17. Mär 2009 16:01

Re: [Help] Fenster aus Sysbar...
 
Um es auf den Punkt zu bringen, lies mal das eine oder andere Einsteigerbuch oder auch Tutorial zu Delphi. Dann machst Du auch keine Fehler mehr, wenn Du Codeschnipsel aneinanderklebst.

:)

Sherlock

Gabberjool 17. Mär 2009 16:09

Re: [Help] Fenster aus Sysbar...
 
ach... die Procedur deklaration vergess... Danke !!!

Das mit dem procedur/funktion kopf weiss ich jedoch hab ich ja (via swissdelphi) ja die private deklarirt. nur halt Copy/past und somit den namen der procedurkopf ned geändert.

aber genau sowas meine ich woher wisst ihr oder die von swissdelphi, das man dass in die Privat schreiben muss:

Delphi-Quellcode:
procedure WMSysCommand(var msg: TWMSysCommand); message WM_SysCommand;
Wie kommt man auf sowas nur mit rum testen wohl kaum...

Ich schau viel die units (in demfall die message.pas) an um das ganze zu verstehen jedoch .....

Danke an alle die nerven mit mir hatten.


Ich werde es nun selber Probieren den es funktioniert zwar jetzt jedoch ist das ganze form1 Hide.
Will euch jedoch nicht mehr nerven und schau das ich das nun doch selbst irgendwie hin krige.
Danke.

Gabberjool 17. Mär 2009 16:36

Re: [Help] Fenster aus Sysbar...
 
So hab es geschaft... =)

musst nur:

Delphi-Quellcode:
ShowWindowAsync(Self.Handle, SW_HIDE);
entfernen.

besten Danke.

Mithrandir 17. Mär 2009 16:58

Re: [Help] Fenster aus Sysbar...
 
Zitat:

Zitat von Sherlock
Ich glaube worauf Daniel hinaus wollte ist, daß Du offenkundig vergessen hast, die Funktion HideFromTaskBar zu deklarieren. ;)

Jenau. ;)

mr_emre_d 21. Mär 2009 20:23

Re: [Help] Fenster aus Sysbar...
 
Hier, in kryptischer Form :P
Delphi-Quellcode:
function HideFromToolbar( ApplicationHandle: Cardinal ): LongInt; assembler;
asm
  push eax
  push -20
  push eax
  call GetWindowLong
  or   eax,  128
  pop  edx
  push eax
  push GWL_EXSTYLE
  push edx
  call SetWindowLong
end;
Wäre auch mit nur einem Befehl (bestehend aus einem weiterem Befehl) in DP-Syntax machbar :P

MfG


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:29 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz