AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Fenster an Bildschirmrand / Taskleiste andocken mit nonVCL
Thema durchsuchen
Ansicht
Themen-Optionen

Fenster an Bildschirmrand / Taskleiste andocken mit nonVCL

Ein Thema von idontwantaname · begonnen am 22. Mär 2005 · letzter Beitrag vom 3. Apr 2005
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von idontwantaname
idontwantaname

Registriert seit: 31. Aug 2004
Ort: Traiskirchen
575 Beiträge
 
Turbo Delphi für Win32
 
#1

Fenster an Bildschirmrand / Taskleiste andocken mit nonVCL

  Alt 22. Mär 2005, 13:51
Hallo

Man findet in diesem Beitrag der Cody-Library den Quellcode, um ein Fenster an den Bildschirmrand bzw. an dei Taskleiste andocken zu lassen. Ich habe diesen Code nun in nonVCL umgesetzt.
Delphi-Quellcode:
function WndProc(WndHWND: HWnd; uMsg: UInt; wParam: WParam; lParam: LParam): LResult; stdcall;
const
  DISTANCE = 20;
var
  MyWndPos: PWindowPos;
  WorkAreaRect: TRect;
begin
   Result := 0;

   case uMsg of
    WM_WINDOWPOSCHANGING: begin
      // Nötige Informationen holen
      SystemParametersInfo(SPI_GETWORKAREA, 0, @WorkAreaRect, 0);
      MyWndPos := PWINDOWPOS(lParam);

      // Oben und Unten
      if (MyWndPos.y <= DISTANCE) and
         (MyWndPos.y >= -DISTANCE) then
           MyWndPos.y := 0;
      if (MyWndPos.y + MyWndPos.cy > (WorkAreaRect.Bottom - DISTANCE)) and
         (MyWndPos.y + MyWndPos.cy < (WorkAreaRect.Bottom + DISTANCE)) then
           MyWndPos.y := WorkAreaRect.Bottom - MyWndPos.cy;

      // Links und Rechts
      if (MyWndPos.x <= DISTANCE) and
         (MyWndPos.x >= -DISTANCE) then
           MyWndPos.x := 0;
      if (MyWndPos.x + MyWndPos.cx > (WorkAreaRect.Right - DISTANCE)) and
         (MyWndPos.x + MyWndPos.cx < (WorkAreaRect.Right + DISTANCE)) then
           MyWndPos.x := WorkAreaRect.Right - MyWndPos.cx;
    end;

    WM_DESTROY: begin
      PostQuitMessage(0);
    end;

     else Result := DefWindowProc(WndHWND, uMsg, wParam, lParam);
   end;
end;
Angehängte Dateien
Dateityp: dpr prog_212.dpr (2,5 KB, 42x aufgerufen)
Oliver Hanappi
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Fenster an Bildschirmrand / Taskleiste andocken mit nonV

  Alt 22. Mär 2005, 13:56
Bei mir wird da nichts angedockt. Oder verstehe ich den Sinn nicht so gnaz?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von idontwantaname
idontwantaname

Registriert seit: 31. Aug 2004
Ort: Traiskirchen
575 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Fenster an Bildschirmrand / Taskleiste andocken mit nonV

  Alt 22. Mär 2005, 14:00
hm, komisch, bei mir geht es

hab oben im Quellcode einen Fehler gemacht, habs aber schon geändert
Oliver Hanappi
Besucht meine neue Homepage: http://oli.hux.de
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Fenster an Bildschirmrand / Taskleiste andocken mit nonV

  Alt 22. Mär 2005, 14:03
Screenshot anbei.
Miniaturansicht angehängter Grafiken
prog_238.png  
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von idontwantaname
idontwantaname

Registriert seit: 31. Aug 2004
Ort: Traiskirchen
575 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Fenster an Bildschirmrand / Taskleiste andocken mit nonV

  Alt 22. Mär 2005, 14:06
du kannst es schon unter die taskleiste schieben, nur wenn du in die nähe der taskleiste kommst (bzw. bildschirmrand), um genau zu sein 20 pixeln, dann "dockt" das fenster eben an
Oliver Hanappi
Besucht meine neue Homepage: http://oli.hux.de
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Fenster an Bildschirmrand / Taskleiste andocken mit nonV

  Alt 22. Mär 2005, 14:10
Sorry, da dockt nichts an.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von idontwantaname
idontwantaname

Registriert seit: 31. Aug 2004
Ort: Traiskirchen
575 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Fenster an Bildschirmrand / Taskleiste andocken mit nonV

  Alt 22. Mär 2005, 14:14
hm, das verstehe ichjetzt echt nicht

warten wir einfach auf die "testergebnisse" der anderen, dann sehen wir weiter
Oliver Hanappi
Besucht meine neue Homepage: http://oli.hux.de
  Mit Zitat antworten Zitat
Benutzerbild von idontwantaname
idontwantaname

Registriert seit: 31. Aug 2004
Ort: Traiskirchen
575 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Fenster an Bildschirmrand / Taskleiste andocken mit nonV

  Alt 23. Mär 2005, 15:58
*pusch*

@luckie: im anhang ist meine compilierte exe, versuchs damit
Angehängte Dateien
Dateityp: exe prog_409.exe (8,5 KB, 36x aufgerufen)
Oliver Hanappi
Besucht meine neue Homepage: http://oli.hux.de
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Fenster an Bildschirmrand / Taskleiste andocken mit nonV

  Alt 23. Mär 2005, 16:55
Auch damit geht es nicht.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Thorben77

Registriert seit: 22. Okt 2004
359 Beiträge
 
#10

Re: Fenster an Bildschirmrand / Taskleiste andocken mit nonV

  Alt 23. Mär 2005, 16:59
Bei mir dockt da auch nix...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:04 Uhr.
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