Seite 1 von 1

neues fenster durch buttongadget

Verfasst: 16.09.2010 16:35
von Sunny
ich war mir nich ganz sicher, ob ich das in den bug-bereich, oder hier rein poste, aber da der befehl ja sowieso falsche parameter hat, kommt das einfach mal hier rein...

Code: Alles auswählen

OpenWindow(0,0,0,300,300,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)

ButtonGadget(0,10,10,200,100,"Button",16711920)

Repeat
  event=WaitWindowEvent()
  
Until event=#PB_Event_CloseWindow

End
Ich was ja nich, ob da bei euch vieleicht was anderes passiert, aber bei mir is das buttongadget dann in einem neuen fenster...

das is mir mal so aufgefallen...

man könnte sich ja mal ein paar andere werte ausprobieren und gucken, was dabei rauskommt... ^^

Re: neues fenster durch buttongadget

Verfasst: 16.09.2010 16:46
von STARGÅTE
Bild

Also ein Bug ist es nicht,
wohl er ein Feature.

Wäre nett wenn du die Quelle der Zahl 16711920, bzw. deren Konstanten-Kombination.

Es sieht etwas nach einem MDI-Gadget aus.

Re: neues fenster durch buttongadget

Verfasst: 16.09.2010 18:04
von Mok
STARGÅTE hat geschrieben:Wäre nett wenn du die Quelle der Zahl 16711920, bzw. deren Konstanten-Kombination.
Mit 16711921 gehts auch...

Re: neues fenster durch buttongadget

Verfasst: 16.09.2010 19:50
von Sunny
naja also ich hatte mir ein prog zurechtgebastelt, das ein hyperlinkgadget enthielt und später dachte ich mir, dass ein buttongadget (aus optischen gründen) besser aussieht.

das hyperlinkgadget hatte als farbwert RGB(240,0,255) (hat den wert: 16711920).

als ich dann das hyperlinkgadget in ein buttongadget geändert hab, habe ich vergessen, den farbwert rauszunehmen und dabei hab ich das dann mal so mitbekommen...

mir is außerdem grade was aufgefallen.
wenn man den wert 16711923 nimmt, erscheint in dem (mid-)fenster kein buttongadget, sondern ein checkboxgadget ^^

Re: neues fenster durch buttongadget

Verfasst: 16.09.2010 20:41
von Jilocasin
Dein 16711920 ist binär 111111110000000011110000, wobei jedes "aktivierte" 1-er Bit für irgendeinen zusätzlichen Parameter steht. Die Standardflags von PB gehen bis Bit 14 (von hinten gezählt). Was links davon ist, weiß wohl nur Microsoft.. bzw lässt sich eben durch Ausprobieren herausfinden. oder man findet passende Style-API-Konstanten, wie BS_[blablabla] dafür.

Re: neues fenster durch buttongadget

Verfasst: 16.09.2010 20:43
von GPI
Für Windows sind Buttons etc. auch nur "Fenster" - du benutzt hier einen undokumentieren Style-Wert für gadgetbutton - von daher ist das Ergebnis rein zufällig. Es ist sogar möglich das in zukünftigen PB-Versionen nichts passiert bis zum Fehler beim Debugger etc. alles drin.

Re: neues fenster durch buttongadget

Verfasst: 16.09.2010 22:40
von Vera
Hi Sunny,

was für eine witzige Idee, einfach irgendeinen Zufallswert als Flag zu verwenden, das kann man vielleicht mal spaßig umsetzen :mrgreen:

16711922 - incl. Checkbox
1671192 - Button mit einzelnem Slider
1671193 - runde Checkbox
167119 - unsichbarer Button mit geheimer Checkbox
6 - 3-phasen Checkbox


apropos - das geht nur mit WIN, Linux scheint diese Angaben einfach zu ignorieren /:-> [schade aber auch]

@ Jilocasin
danke für den Hinweis

Grüße ~ Vera

Re: neues fenster durch buttongadget

Verfasst: 17.09.2010 07:33
von mk-soft
Mal unter WinAPI CreateWindow schauen...
WS_BORDER Creates a window that has a thin-line border.
WS_CAPTION Creates a window that has a title bar (includes the WS_BORDER style).
WS_CHILD Creates a child window. This style cannot be used with the WS_POPUP style.
WS_CHILDWINDOW Same as the WS_CHILD style.
WS_CLIPCHILDREN Excludes the area occupied by child windows when drawing occurs within the parent window. This style is used when creating the parent window.
WS_CLIPSIBLINGS Clips child windows relative to each other; that is, when a particular child window receives a WM_PAINT message, the WS_CLIPSIBLINGS style clips all other overlapping child windows out of the region of the child window to be updated. If WS_CLIPSIBLINGS is not specified and child windows overlap, it is possible, when drawing within the client area of a child window, to draw within the client area of a neighboring child window.
WS_DISABLED Creates a window that is initially disabled. A disabled window cannot receive input from the user.
WS_DLGFRAME Creates a window that has a border of a style typically used with dialog boxes. A window with this style cannot have a title bar.
WS_GROUP Specifies the first control of a group of controls. The group consists of this first control and all controls defined after it, up to the next control with the WS_GROUP style. The first control in each group usually has the WS_TABSTOP style so that the user can move from group to group. The user can subsequently change the keyboard focus from one control in the group to the next control in the group by using the direction keys.
WS_HSCROLL Creates a window that has a horizontal scroll bar.
WS_ICONIC Creates a window that is initially minimized. Same as the WS_MINIMIZE style.
WS_MAXIMIZE Creates a window that is initially maximized.
WS_MAXIMIZEBOX Creates a window that has a Maximize button. Cannot be combined with the WS_EX_CONTEXTHELP style. The WS_SYSMENU style must also be specified.
WS_MINIMIZE Creates a window that is initially minimized. Same as the WS_ICONIC style.
WS_MINIMIZEBOX Creates a window that has a Minimize button. Cannot be combined with the WS_EX_CONTEXTHELP style. The WS_SYSMENU style must also be specified.
WS_OVERLAPPED Creates an overlapped window. An overlapped window has a title bar and a border. Same as the WS_TILED style.
WS_OVERLAPPEDWINDOW Creates an overlapped window with the WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX, and WS_MAXIMIZEBOX styles. Same as the WS_TILEDWINDOW style.
WS_POPUP Creates a pop-up window. This style cannot be used with the WS_CHILD style.
WS_POPUPWINDOW Creates a pop-up window with WS_BORDER, WS_POPUP, and WS_SYSMENU styles. The WS_CAPTION and WS_POPUPWINDOW styles must be combined to make the window menu visible.
WS_SIZEBOX Creates a window that has a sizing border. Same as the WS_THICKFRAME style.
WS_SYSMENU Creates a window that has a window-menu on its title bar. The WS_CAPTION style must also be specified.
WS_TABSTOP Specifies a control that can receive the keyboard focus when the user presses the TAB key. Pressing the TAB key changes the keyboard focus to the next control with the WS_TABSTOP style.
WS_THICKFRAME Creates a window that has a sizing border. Same as the WS_SIZEBOX style.
WS_TILED Creates an overlapped window. An overlapped window has a title bar and a border. Same as the WS_OVERLAPPED style.
WS_TILEDWINDOW Creates an overlapped window with the WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX, and WS_MAXIMIZEBOX styles. Same as the WS_OVERLAPPEDWINDOW style.
WS_VISIBLE Creates a window that is initially visible.
WS_VSCROLL Creates a window that has a vertical scroll bar.
Manche lassen auch mit Gadgets kombinieren...

FF :wink:

Re: neues fenster durch buttongadget

Verfasst: 18.09.2010 15:42
von Mok
mk-soft hat geschrieben:Manche lassen auch mit Gadgets kombinieren...
Eigentlich alle, weil in der WinAPI wird ein Gadget genauso handgehabt wie ein Fenster *klugscheiß* :mrgreen: