Seite 2 von 2

Verfasst: 31.07.2007 12:26
von Kaeru Gaman
wenn du den editor im Fullscreen machst, musst du dich dafür schon mit der mausabfrage
auseinandersetzen, und wie man sowas wie nen button aufm screen realisieren kann, usw.

wenn du dann das eigentlich spiel machst, hast du die dinge schon drauf.


aber wenn du jetzt den editor im fenster machst, lernst du ganz wunderbare
sachen über fenster-anwendungen, wie zum bleistift MDI-childs...

wenn du dich dann ans game setzt, dann denkst du
"ach du kagge, wie schwierig isn das" und
"argl.. das is ja ganz was anderes alsn fenster" und
"oh nein, wie mach ich das jetzt, im fenster würd ichs so machen, aber hier?"
usw.. usf...

Verfasst: 31.07.2007 12:37
von Fusselohr
Okay ^^. Ich glaub da ich immer noch einige schwierigkeiten habe, wäre deine Lösung wirklich besser und bei Bedarf kann ich ja noch aus meinem Map-Editor ein Game-Editor machen. <) So in 2-3 Jahren :P.

Verfasst: 31.07.2007 17:25
von Fluid Byte
Hmm, man könnte ein ToolWindow mit dem MDI gadget erstellen was auch immer aktiv bleibt aber durch #WS_CHILD flag kann man es nicht aus dem Bereich des Parent-Fensters raus bewegen.

Ehrlich gesagt, auch wenns für Fussel vielleicht uninteresant ist würde ich das gerne endlich mal versuchen. Ich hab mich schon immer über den komischen Klassennamen des ToolWindow's in MS Paint gewundert: "Afx:1000000:8:10011:0:0". Ich denke 'Afx' ist die Bezeichnung für ne' bestimmete Lib womit mann solche speziellen Fenster erstellen kann. Außerdem zeigen sie beim verschieben diesen dünnen schwarzen Rahmen womit man das ToolWindow überall andocken kann.

Verfasst: 31.07.2007 17:43
von milan1612
Mach doch einfach ein normales Fenster mit ToolWindow Style und dann:

Code: Alles auswählen

SetParent_(hwndChild, hwndNewParent)

Verfasst: 31.07.2007 17:47
von edel
Fluid Byte hat geschrieben:Ehrlich gesagt, auch wenns für Fussel vielleicht uninteresant ist würde ich das gerne endlich mal versuchen. Ich hab mich schon immer über den komischen Klassennamen des ToolWindow's in MS Paint gewundert: "Afx:1000000:8:10011:0:0". Ich denke 'Afx' ist die Bezeichnung für ne' bestimmete Lib womit mann solche speziellen Fenster erstellen kann. Außerdem zeigen sie beim verschieben diesen dünnen schwarzen Rahmen womit man das ToolWindow überall andocken kann.
Falls du da mehr weisst , lass es mich bitte wissen :)

Verfasst: 31.07.2007 17:47
von Fluid Byte
milan1612 hat geschrieben:Mach doch einfach ein normales Fenster mit ToolWindow Style und dann:

Code: Alles auswählen

SetParent_(hwndChild, hwndNewParent)
Dann brauch er doch keine API sondern setzt beim erstellen des Fensters einfach das ParentHandle. Aber das ist nicht das gleiche da beim anklicken des jeweils anderen Fensters das eine wieder den Fokus verliert.
Falls du da mehr weisst , lass es mich bitte wissen
Yo gerne, werde mich mal im Laufe des Tages schlau machen. Ich hoffe bloss es gibt ne Art Bibliothek denn ich hab kein Bock das händisch zu machen. :freak:

Verfasst: 31.07.2007 18:04
von milan1612
Fluid Byte hat geschrieben:
milan1612 hat geschrieben:Mach doch einfach ein normales Fenster mit ToolWindow Style und dann:

Code: Alles auswählen

SetParent_(hwndChild, hwndNewParent)
Dann brauch er doch keine API sondern setzt beim erstellen des Fensters einfach das ParentHandle. Aber das ist nicht das gleiche da beim anklicken des jeweils anderen Fensters das eine wieder den Fokus verliert.
Das mit dem Parent Handle hatte ich glatt vergessen :D
Allerdings wirst du das Fokus-Verlieren wohl nicht verhindern können

Verfasst: 31.07.2007 18:44
von edel
Das nicht , aber man kann das neuzeichnen des Rahmens verhindern.

Code: Alles auswählen

Procedure win_main_cb_(hWnd,uMsg,wParam,lParam)
   
   If uMsg = #WM_NCACTIVATE 
      ProcedureReturn DefWindowProc_(hWnd, uMsg, 1, lParam) 
   EndIf
   
   ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure

hWnd = OpenWindow(0,#PB_Ignore,#PB_Ignore,300,300,"leer")
SetWindowCallback(@win_main_cb_(),0)

Repeat
	event = WaitWindowEvent()
   
Until event = #PB_Event_CloseWindow
So in etwa muesste das auch mit dem Toolwindow machbar sein.