Fenster minimieren

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Laurin
Beiträge: 1639
Registriert: 23.09.2004 18:04
Wohnort: /dev/eth0

Fenster minimieren

Beitrag von Laurin »

Moin

Dass es mich auch mal hierher verschlägt :mrgreen:

Zu meinem Prob: Ich habe bei einem Fenster die Titelleiste und die Ränder weggelassen, um meine eigenen Buttons für "Schließen" und "Minimieren" einzubauen. Kann mir jemand verraten, wie der Befehl füs Fenster-minimieren ist?
Sowas wie MinimizeWindow(WindowID()) wäre ganz brauchbar.

Ich hab nirgends was gefunden (auch auf PureArea.net nicht).
Bin ich zu blöd zum Suchen?

Greetz Laurin
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Fenster minimieren

Beitrag von Kiffi »

> Sowas wie MinimizeWindow(WindowID()) wäre ganz brauchbar.

sowas gibt's so ähnlich ;-)

Code: Alles auswählen

ShowWindow_(WindowID(), #SW_MINIMIZE) 
http://forums.purebasic.com/german/arch ... php?t=1959

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Zum minimieren muß das Fenster den Stil #PB_Window_SystemMenu beinhalten. Mußte Dir selber was basteln
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Laurin
Beiträge: 1639
Registriert: 23.09.2004 18:04
Wohnort: /dev/eth0

Beitrag von Laurin »

Danke Kiffi, funktioniert wunderbar :allright:
Mit dem API-Befehl braucht man kein #PB_Window_SystemMenu, ts-soft ;)

Greetz Laurin
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Ich lerne doch auch gerne was dazu, erstelle aber selten solche fenster :)
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Swappy
Beiträge: 51
Registriert: 09.12.2004 22:56
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Swappy »

Ich habe da noch ne frage zu:

Also das mit dem Minimieren klappt auch bei mir prima, das problem ist aba das das fenster nicht wieder großgemacht werden kann... bei rechtsklick auf den entsprechenden teil in der Taskleiste ist wiederherstellen auch nur grau und somit nicht anwähl bar. Ach ja, das Fenster ist im 'Borderless'-Modus.

Wäre nett wenn jemand mir sagen kann was ich machen muss.
Wer anderen eine Grube gräbt, hat Gold im Mund.
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Es ist vielleicht nicht die beste aber die sicherste Methode. Du müsstest
einfach das Menüitem wieder aktivieren. Ich habe für Igor eine kleine
Funktion geschrieben um das Closebutton der Konsole z.b. zu deaktivieren.
Es muss ganz einfach nur das Menüitem und den Status geändert werden.
Dann sollte es auch möglich sein damit auch das "Wiederherstellen" Item
zu aktivieren:

Code: Alles auswählen

Procedure RemoveCloseButton(lnghWnd.l)
    DefType.l lnghMenu, lngPos
    
    lnghMenu = GetSystemMenu_(lnghWnd, 0)
    If lnghMenu > 0
        lngPos = GetMenuItemCount_(lnghMenu) 
        RemoveMenu_(lnghMenu, lngPos - 4, #MF_REMOVE | #MF_BYPOSITION) 
        DrawMenuBar_(lnghWnd)
    EndIf
EndProcedure
Bild
Benutzeravatar
Swappy
Beiträge: 51
Registriert: 09.12.2004 22:56
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Swappy »

ahja danke!! es geht :)
Wer anderen eine Grube gräbt, hat Gold im Mund.
Antworten