Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Eigenes DeskBand erstellen (https://www.delphipraxis.net/105771-eigenes-deskband-erstellen.html)

Diamondback2007 29. Dez 2007 16:54


Eigenes DeskBand erstellen
 
So...

ich habe mir für ein aktuelles projekt
eine deskbar angelegt mit einem Button und
einen Edit feld.
als grundlage nehme ich den code
aus sakuras tutorial.
das funktioniert auch schon ganz gut.
ur leider ist meine deskbar trotz
entsprechendem code im form.paint NICHT
transparent...
ich glaube ich habe mittlweile alle foren-
einträge zum thema gelesen und bin kein stück
weitr...
eigentlich wollte ich mich ja per PN
an [user]DP @ Home[/user] wenden,
aber irgendwie gibt es den nicht mehr :gruebel:
deswegen würde es mich interessieren ob mir jemand
helfen kann oder ob es hier vielleicht jemanden
gibt, der schonmal eine funktionierende deskbar
geschrieben hat und mir etwas zur seite stehen könnte

gruß

BullsEye 29. Dez 2007 17:09

Re: Eigenes DeskBand erstellen
 
Hallo.
Kannst du mir bitte mal den Link zu Sakuras Tut geben?
Und desweiteren wäre es glaub ich hilfreich, wenn du uns mal zeigst was dü fürn Code hast, der es transparent macht / machen soll.

Diamondback2007 29. Dez 2007 17:21

Re: Eigenes DeskBand erstellen
 
also das tutoial gibts hier

der code ist folgender:
Delphi-Quellcode:
procedure TfrmVisibleBand.FormPaint(Sender: TObject);
var
  ReBar32Wnd: HWND;
  DC: HDC;
begin
  ReBar32Wnd := FindWindowEx( 
    FindWindow('Shell_TrayWnd', nil ), 0, 'ReBarWindow32', nil );

  if (ReBar32Wnd <> 0) then
  begin
    DC := GetDC(ReBar32Wnd);

    StretchBlt(Canvas.Handle,
      0, 0, Width, Height,
      DC,
      0, Top, 1, Height,
      SRCCOPY);

    ReleaseDC(ReBar32Wnd, DC);
  end;
end;
es hat auch einmal funktioniert...danach nie wieder...
nun es gibt wohl bei einigen usern das problem, dass der
explorer beim registrieren der dll abstürtzt...
das war bei mir nicht so....
jetzt schon...ich weiß nicht was ich falsch mache,
aber nun kann die die deskabr nicht mehr registrieren...

gruß

BullsEye 29. Dez 2007 17:41

Re: Eigenes DeskBand erstellen
 
Danke für den Link.
Hm so könnte ich dir nicht sagen woran es liegt. Aber vllt hilft dir das hier:

Delphi-Quellcode:
procedure TForm1.FormCreate(sender: TObject);
begin
  Form1.Brush.Style:=bsClear;
  Form1.BorderStyle:=bsNone;
end;

Wotan89 29. Dez 2007 17:50

Re: Eigenes DeskBand erstellen
 
Versuch es mal in die Activate-Methode zu packen, wenn es diese dort gibt.

turboPASCAL 29. Dez 2007 18:00

Re: Eigenes DeskBand erstellen
 
( Transparenz bei DeskBars )

Diamondback2007 29. Dez 2007 18:21

Re: Eigenes DeskBand erstellen
 
Kenn ich den Post! ;)
und das ist auch der Code den ich verwende :P

Aber ich denke das Problem liegt bei windows...
nach einem neustart klappt wieder alles wunderbar...
naja wenns so bleibt :) ;)

vielen dank!

gruß

Diamondback2007 30. Dez 2007 16:08

Re: Eigenes DeskBand erstellen
 
okay!
mein deskband funktioniert jetzt soweit ganz gut! :)

allerdings möchte ich nun nach dem klick auf einen button
ein weiteres fenster einblenden.
eine ganz stinknormale form. ich habe es mal über
HINZUFÜGEN-->FORMULAR versucht und dann im OnClick
ein Form.Show; allerdings gibt es dann eine Zugriffsverletzung.

kann mir jemand helfen? ist soetwas überhaupt möglich?

gruß & vielen dank

Gausi 30. Dez 2007 16:10

Re: Eigenes DeskBand erstellen
 
Doch, das geht. Wahrscheinlich wird in dem Projekt die zweite Form nicht automatisch erzeugt, daher musst du sie manuell erzeugen, falls das noch nicht geschehen ist. Die Freigabe musst du dann natürlich ggf. auch selbst erledigen.

Diamondback2007 30. Dez 2007 16:40

Re: Eigenes DeskBand erstellen
 
okay...
das wäre natürlich ne idee.
kann mir jemand sagen wie ich eine form vollständig per hand erstelle?
reicht da schon ein Fom1 := TFormCreate?
oder muss da noch mehr hin?

gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:53 Uhr.
Seite 1 von 2  1 2      

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