Verfasst: 05.01.2007 20:34


Das deutsche PureBasic-Forum
https://www.purebasic.fr/german/
AND51 hat schon recht, die beiden die er meinte funktioniern zusammen nichtBiedermeier hat geschrieben: ach übrigends: AND51: die konstanten sind nicht wie feuer und wasser, denn nur zusammen funktionierts! feuer und wasser funktioniert funktioneirt zusammen nicht (gut)
ist ja mehr als verständlich.Biedermeier hat geschrieben:..hab mich für den kurzen code entschieden![]()
Bitte sehr.#NULL hat geschrieben: jetzt muß nur noch jemand zeigen, wie man mit wenig code eine minimale fenster-breite und -höhe und die breite des anfass-randes festlegen kann, um damit meinen code zu beerdigen. (da gibts doch bestimmt was)
Code: Alles auswählen
Procedure HitTest(hCtl,lParam)
Protected pt.POINT
Protected rc.RECT
pt\x = LoWord(lParam)
pt\y = HiWord(lParam)
ScreenToClient_(hCtl,pt)
GetWindowRect_(hCtl,rc)
If pt\y < 4 And pt\x < 4
Result = #HTTOPLEFT
ElseIf pt\y < 4 And pt\x >= (rc\right-rc\left-4)
Result = #HTTOPRIGHT
ElseIf pt\y >=(rc\bottom-rc\top-4) And pt\x >= (rc\right-rc\left-4)
Result = #HTBOTTOMRIGHT
ElseIf pt\x < 4 And pt\y >= (rc\bottom -rc\top - 4)
Result = #HTBOTTOMLEFT
ElseIf pt\y < 4
Result = #HTTOP
ElseIf pt\x < 4
Result = #HTLEFT
ElseIf pt\x >= (rc\right -rc\left - 4)
Result = #HTRIGHT
ElseIf pt\y >= (rc\bottom -rc\top - 4)
Result = #HTBOTTOM
Else
Result = #HTCAPTION
EndIf
ProcedureReturn Result
EndProcedure
Procedure WCB(wnd,msg,wparam,lparam)
Result = #PB_ProcessPureBasicEvents
Select msg
Case #WM_NCHITTEST
Result = HitTest(wnd,lParam)
Case #WM_GETMINMAXINFO
*MinMax.MINMAXINFO = lParam
*MinMax\ptMinTrackSize\x = 195
*MinMax\ptMinTrackSize\y = 260
ProcedureReturn 0
EndSelect
ProcedureReturn Result
EndProcedure
If OpenWindow(0, 100, 200, 195, 260, "PureBasic Window", #PB_Window_BorderLess)
If CreateGadgetList(WindowID(0))
ButtonGadget(1, 10,10,80,24,"Ende")
TextGadget(2, 10, 40,180,200,"Schieb mich, vergroessere mich")
EndIf
SetWindowCallback(@WCB())
Repeat
EventID = WaitWindowEvent()
Select EventID
Case #PB_Event_Gadget
Select EventGadget()
Case 1: Quit = 1
EndSelect
Case #PB_Event_CloseWindow
Quit = 1
EndSelect
Until Quit = 1
EndIf
End
Code: Alles auswählen
Macro HiWord(long)
(long >> 16) & $FFFF
EndMacro
Macro LoWord(long)
long & $FFFF
EndMacro
aber kla doch...Biedermeier hat geschrieben:... feuer und wasser funktioniert [] zusammen nicht (gut)