![]() |
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ß |
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. |
Re: Eigenes DeskBand erstellen
also das tutoial gibts
![]() der code ist folgender:
Delphi-Quellcode:
es hat auch einmal funktioniert...danach nie wieder...
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; 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ß |
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; |
Re: Eigenes DeskBand erstellen
Versuch es mal in die Activate-Methode zu packen, wenn es diese dort gibt.
|
Re: Eigenes DeskBand erstellen
|
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ß |
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 |
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.
|
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ß |
Re: Eigenes DeskBand erstellen
Kommt drauf an. Wenn deine Form-Klasse TForm2 heisst, wie es Delphi standardmäßig macht, dann brauchst du irgendwo eine Variable von diesem Typ, die man dann sinnigerweise Form2 nennt. Zum Erstellen dann einfach
Delphi-Quellcode:
Dann kannst du wie gewohnt auf Form2 zugreifen (es sei denn, du hast Form2 als lokale Variable :stupid: )
Form2 := TForm2.Create;
|
Re: Eigenes DeskBand erstellen
gut, danke klappt! :)
vielen dank! gruß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:01 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