![]() |
Transparentes Formblatt auf dem Desktop
Ihr werdet bestimmt Vista oder auch Windows 7 kennen.
Da giebt es auf dem Desktop rechts so ein Feld, wo zum Beispiel Notizen, Wetter, Kalender, CPU und so weiter steht. Sowas wollte ich auch machen. Nun sieht das blöd aus, wenn einfach an der Seite ein Formblatt ist. Also wollte ich fragen: -Kann man ein Formblatt nicht in der Taskleiste haben, aber das es Sichbar ist? -Kann ich ein Formblatt transparent machen, so das es wie der Desktop aussieht? Man kann ja Application.Showmainform:=false machen, aber dann sieht man das Formblatt nicht. Danke für Antworten :thumb: |
Re: Transparentes Formblatt auf dem Desktop
bei einer form kannst du transparentcolor angeben.
und wenn du dein formcolor genauso machst wie dein transparentcolor kann man durch die form durchgucken! bsp:
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TForm1 = class(TForm) private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation procedure TForm1.FormCreate(Sender: TObject); begin form1.Color := clblack; form1.TransparentColorValue := clblack; form1.TransparentColor := true; end; end. |
Re: Transparentes Formblatt auf dem Desktop
Danke, und wie sieht das mit der Taskleiste aus?
|
Re: Transparentes Formblatt auf dem Desktop
Der einziege Hacken ist, das die Schrieft in einem zum Beispiel Memo die Hintergrundfarbe hat.
|
Re: Transparentes Formblatt auf dem Desktop
Wie macht man das eigenlich, dass das Formblatt an der rechten Seite auf allen Auflösungen erscheint und sich genau an die Höhe und so weiter anpasst. :glaskugel:
|
Re: Transparentes Formblatt auf dem Desktop
Ich habe das mit der Taskleiste herausgefunden: :idea:
Delphi-Quellcode:
Aber wie sieht das jetzt mit der Position des Formblattes aus? :coder2:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,JclSysInfo,StrUtils, StdCtrls, AdvSmoothListBox; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var Handle: HWND; WindowStyle : Integer; begin Handle:=GetWindow(GetDesktopWindow(),GW_CHILD); while (Handle<>0) do begin if (IsMainAppWindow(Handle) and (AnsiContainsStr(GetWindowCaption(Handle),'Project1'))) then begin ShowWindow(Handle, SW_HIDE); SetWindowLong(Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW); ShowWindow(Handle, SW_SHOW); ShowWindow(Handle, SW_MAXIMIZE); ShowWIndow(Handle, SW_NORMAL); break; end; Handle:=GetWindow(Handle,GW_HWNDNEXT); end; end; end. |
Re: Transparentes Formblatt auf dem Desktop
Weiß jemand wo man eine schöne analoge Uhr für meine Toolbar herbekommt?
Wie zum Beispiel: ![]() Oben rechts. Ich danke euch schonmal und an alle Schüler schöne Ferien :-D |
Re: Transparentes Formblatt auf dem Desktop
[OT] Selten gesehen das einer so oft pusht :drunken: [/OT]
|
Re: Transparentes Formblatt auf dem Desktop
Zitat:
Delphi-Quellcode:
Dann musst du die Position deines Fensters nur noch dementsprechend setzen, also beispielweise für den rechten Bildschrimrand so:
var area : TRect;
begin //-- SystemParametersInfo(SPI_GETWORKAREA,0,@area,0);
Delphi-Quellcode:
mfg
Form1.Left := area.Right - Form1.Width;
Form1.Top := area.Top; Form1.Height := area.Bottom - area.Top; |
Re: Transparentes Formblatt auf dem Desktop
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:49 Uhr. |
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 by Thomas Breitkreuz