Seite 1 von 1
Window mit kleinem Rand
Verfasst: 04.10.2006 19:42
von DW
Hallo, wie kann ich meinem window einen kleinen Rand verpassen, also so wie diese toolwindows beim Visual Designer? Hat da Purebasic was oder muss ich das selber über die WinAPI machen?
Re: Window mit kleinem Rand
Verfasst: 04.10.2006 19:46
von Kiffi
> Hallo, wie kann ich meinem window einen kleinen Rand verpassen, also so
> wie diese toolwindows beim Visual Designer?
Dafür kannst Du MakeToolWindow() aus den
PBOSL verwenden.
Grüße ... Kiffi
Verfasst: 04.10.2006 20:57
von Fluid Byte
Hallo, wie kann ich meinem window einen kleinen Rand verpassen, also so wie diese toolwindows beim Visual Designer? Hat da Purebasic was oder muss ich das selber über die WinAPI machen?
Geht nur mit API:
Code: Alles auswählen
OpenWindow(0,0,0,400,300,"untitled",#WS_SYSMENU | #WS_VISIBLE | 1)
SetWindowLong_(WindowID(0),#GWL_EXSTYLE,#WS_EX_TOOLWINDOW)
HideWindow(0,0)
While WaitWindowEvent() ! 16 : Wend
Verfasst: 05.10.2006 13:50
von DW
Jap. Danke!
Was gibt es denn noch so für Windowarten bei Windows(Außer jetzt ohne Rand)?
Edit: Ich habe das jetzt in eine proceduredll gepackt, jedoch schließt sich das Fenster nach dem Öffnen sofort wieder und ich kann damit nicht arbeiten.
Ist das irgendwie zu regeln?
Verfasst: 05.10.2006 16:59
von Darky
Wahrscheinlich hast du die Fensterschleife vergessen
Gruß Darky

[/code]
Verfasst: 05.10.2006 17:39
von DW
Ne eben nicht. Das ist die Hauptschleife. Dieses Waitwindowevent stoppt nur die Ausführung des Programms, bis ein ereignes auf dem Fenster auftritt.
Habe ich natürlich nicht vergessen.
Verfasst: 06.10.2006 13:28
von Fluid Byte
Poste mal den kompletten code in deiner DLL Prozedur sonst kann ich dir kaum helfen. Oder zumindest den Teil wovon du glaubst das er der Auslöser des Problems ist.
Verfasst: 06.10.2006 13:47
von #NULL
so funks bei mir:
als
Shared DLL (compiler-options) namens
my.dll compilieren
Code: Alles auswählen
ProcedureDLL foo()
OpenWindow(0,0,0,400,300,"untitled",#WS_SYSMENU | #WS_VISIBLE | 1)
SetWindowLong_(WindowID(0),#GWL_EXSTYLE,#WS_EX_TOOLWINDOW)
HideWindow(0,0)
While WaitWindowEvent() ! 16 : Wend
EndProcedure
und mit so'nem code benutzen;
my.dll im selben verzeichnis
Code: Alles auswählen
If OpenLibrary(0, "my.dll")
CallFunction(0, "foo")
CloseLibrary(0)
EndIf