![]() |
Border fremder Anwendung verstecken
Nabend,
ich fange eine fremde Anwendung auf einem Panel meines Formulars mittels SetParent und passe die Größe bei Änderungen mittels SetWindowPos an. Nun möchte ich aber, dass, während ich die Anwendung gefangen habe, diese keine Border hat (also praktisch BorderStyle = bsNone). 1. Möglichkeit Border über die WinAPI verstecken lassen... worüber ich komischerweise nichts gefunden habe, dachte das würde gehen. 2. Möglichkeit Die Bordermaße herausbekommen und entsprechend die Anwendung größer darstellen lassen, sodass der Client Bereich genau über dem Panel liegt. Mit GetWindowRect und GetClientRect hatte ich bisher aber keine Erfolge. 3. Möglichkeit Kenn ich nicht, aber ich hoffe jemand von Euch kann helfen?! :) Grüßerle, Björn |
Re: Border fremder Anwendung verstecken
|
Re: Border fremder Anwendung verstecken
Hallo Björn Ole, dies sollte dir weiterhelfen.
Delphi-Quellcode:
function SetParent(hWndChild, hWndNewParent: HWND; NewParentWidth, NewParentHeight: integer): boolean; var hWndPrevParent: HWND; PrefWindowLong: DWORD; begin hWndPrevParent := Windows.SetParent(hWndChild, hWndNewParent); if hWndPrevParent = 0 then raise exception.create('ERROR: SetParent failed!'); //-- Rahmen entfernen PrefWindowLong := SetWindowLong(hWndChild, GWL_STYLE, GetWindowLong(hWndChild ,GWL_STYLE) and WS_BORDER); if PrefWindowLong = 0 then raise exception.create('ERROR: PrefWindowLong(1)'); //-- Titelmenü entfernen PrefWindowLong := SetWindowLong(hWndChild, GWL_STYLE, GetWindowLong(hWndChild,GWL_STYLE) and not WS_CAPTION); if PrefWindowLong = 0 then raise exception.create('ERROR: PrefWindowLong(2)'); //- Auf Paranet skalieren if not SetWindowPos(hWndChild, 0 ,0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE or SWP_NOZORDER or SWP_FRAMECHANGED) then raise exception.create('ERROR: PrefWindowLong(3)'); //-- Neu zeichnen if not SetWindowPos(hWndChild, 0, 0, 0, NewParentWidth, NewParentHeight, SWP_NOZORDER or SWP_SHOWWINDOW) then raise exception.create('ERROR: PrefWindowLong(4)'); result := true; end; hoffe etwas geholfen zu haben. lg. Astat |
Re: Border fremder Anwendung verstecken
Ach ich Nuss... :lol:
Danke Euch beiden! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:08 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-2025 by Thomas Breitkreuz