Panel in freies Fenster umwandeln

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
dibro
Beiträge: 143
Registriert: 11.03.2006 12:52
Computerausstattung: Win 10 64 bit
Wohnort: Solingen

Panel in freies Fenster umwandeln

Beitrag von dibro »

Hi an alle,
als Gelegenheitsprogrammierer habe ich mal wieder ein neues Problem.
Ich habe ein Fenster mit mehreren Panels. Davon kann man bekannterweise immer nur eines anzeigen. Wenn ich das Grafikpanel beobachten will, muss ich immer zwischen dem Eingabepanel und dem Grafikpanel hin- und herschalten.
Ich möchte nun das Grafikpanel durch Anfassen mit der Maus "befreien" und auf dem Schirm hin und herschieben, damit es neben den anderen dauernd sichtbar ist. (Die Panels sind etwa 500x1000 px groß, so dass mehrere auf den Schirm passen.
Geht das und wie fange ich das an?
Für Eure Tipps bedanke ich mich schon mal im Voraus.
Gruß aus Solingen, PB 6.0 Win 10 Pro
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag von KeyKon »

Du könntest das Grafikpanel einfach als ChildWindow erstellen...
Um im gleichen Fenster sowas verschiebbar zu machen müsstest du das SplitterGadget nutzen, aber ich glaube das is nich das was du willst...
Evtl. geht das auch genauso wie du willst mit diversen API, das muss dir aber jemand anders sagen...
(\/) (°,,,°) (\/)
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

Ein Gadget kann nicht zwei mal existieren. Vielleicht das Gadget verschieben und nach Abschluss zurück verschieben.

SetParend_(...)
The SetParent function changes the parent window of the specified child window.

HWND SetParent(

HWND hWndChild, // handle of window whose parent is changing
HWND hWndNewParent // handle of new parent window
);


Parameters

hWndChild

Identifies the child window.

hWndNewParent

Identifies the new parent window. If this parameter is NULL, the desktop window becomes the new parent window.



Return Values

If the function succeeds, the return value is the handle of the previous parent window.
If the function fails, the return value is NULL. To get extended error information, call GetLastError.

Remarks

An application can use the SetParent function to set the parent window of a pop-up, overlapped, or child window. The new parent window and the child window must belong to the same application.
If the window identified by the hWndChild parameter is visible, Windows performs the appropriate redrawing and repainting.
FF :wink:
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

Vielleicht ist ja das MDIGadget() was für dich. Dort kannst du, wie KeyKon
schon sagte, in einem Gadget mehrere Fenster öffnen und so wie normale
Fenster verschieben.
Win11 x64 | PB 6.20
Benutzeravatar
dibro
Beiträge: 143
Registriert: 11.03.2006 12:52
Computerausstattung: Win 10 64 bit
Wohnort: Solingen

Beitrag von dibro »

Danke mal erst für die Hinweise.
Da muss ich mich erst mal drin vertiefen.
Werde vom (Miss)Erfolg berichten.
Bin derzeit in einem kleinen Urlaub, die Rückmeldung wird ein bisschen dauern.
Gruß aus Solingen, PB 6.0 Win 10 Pro
Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

...du könntest auch einfach das Grafikpanel daneben machen, siehe ImageGadget()
Win11 x64 | PB 6.20
Antworten