containergadget hitnergrundbild

MAC OSX spezifisches Forum
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
delikanli_19_82
Beiträge: 173
Registriert: 30.11.2010 02:34

containergadget hitnergrundbild

Beitrag von delikanli_19_82 »

hallo leute,

unter windows und linux bin ich fündig geworden und nun muss auch was passend zu mach her.

ich brauche eine lösung, um den hintergrund eines containergadgets mit einem image zu füllen.

ich möchte dazu keinen imagegadget verwenden, sondern mit api, das bild in den hintergrund des containers setzen.

hat jemand eine idee, wie das unter mac geht?

mfg

kurt
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: containergadget hitnergrundbild

Beitrag von RSBasic »

@delikanli_19_82
Warum möchtest du kein ImageGadget benutzen? Wenn du ein ImageGadget erstellst und anschließend deaktivierst (DisableGadget), dann klappt es doch auch. Warum möchtest du sowas nicht nutzen? Wurden bei dir irgendwelche Probleme festgestellt?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
delikanli_19_82
Beiträge: 173
Registriert: 30.11.2010 02:34

Re: containergadget hitnergrundbild

Beitrag von delikanli_19_82 »

bei mir kommt es immer wieder vor, das andere gadgets, das darauf liegen in den hintergrund verrutschen.

ich bin es leid andauernd mit setactivegadget das zu regeln.

darüber hinaus bastelle ich ein toolkit das unter windows, linux und mac eine reihe an controls bereitstellt.

und deshalb möchte ich mich mit krücken nicht auseinander setzen und lieber das mit api machen wenns geht.

mfg

kurt
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: containergadget hitnergrundbild

Beitrag von RSBasic »

Auch wenn du dein ImageGadget deaktivierst? Taucht das Problem auch auf? Ich kenn das eigentlich nur, wenn man DisableGadget nicht nutzt.
Es spielt eventuell auch eine Rolle, in welcher Reihenfolge die Gadgets erstellt wurden, glaube ich. Vielleicht kannst du mal ein Beispielcode posten, wo das Problem auftritt.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
delikanli_19_82
Beiträge: 173
Registriert: 30.11.2010 02:34

Re: containergadget hitnergrundbild

Beitrag von delikanli_19_82 »

ladest du den imagegadget vor den anderen, so hilft auch setactivegadget nicht.

ladest du den imagegadget zu letzt, hast du immer noch das problem, das alle überdeckt sind und du erst irgendeinen

gültigen gadget-bereich anklicken musst, damit der sichtbar ist. absolut nicht zu gebrauchen.

dann gibt es noch das superproblem, das man ja nicht zwangsläufig weiß, welche und wieviele gadgets in den
container hineingeladen werden. weil man ja mit opengadgetlist() später noch weitere gadgets da rein stellen kann.

ne, also ich finde, das es sich einfach nicht lohnt den unnötigen umweg über den imagegadget zumachen. außerdem
vergäudet man dabei unnötigen speicher für den image und dem imagegadget und dem container. drei elemente, obwohl nur
zwei ausreichen müssten.

außerdem ist das mit dem disablegadget unter linux absolut nicht zu gebrauchen, da das image in graustufen geformt wird.
aber da habe ich eine andere lösung gefunden, zwar keine superlösung, aber eine lösung.

für mac, naja, warum bei mac immer alles ein extrawurst sein muss, ist mir unklar...

hier der code:

Code: Alles auswählen

OpenWindow( 100, 50, 50, 500, 500, "Test" )


CreateImage(0,500,500)
StartDrawing(ImageOutput(0))
Box(0,0,500,500,RGB(255,255,255))
Box(10,10,480,480,RGB(235,235,235))
Box(20,20,460,460,RGB(215,215,215))
StopDrawing()

ContainerGadget(10,0,0,500,500,#PB_Container_BorderLess)

; ENTWEDER
;ImageGadget( 1, 0, 0, 500, 500, ImageID(0) ) : DisableGadget(1,1)

ButtonGadget(101,50,50,100,30,"Klick")
ButtonGadget(102,50,95,130,30,"Oder mich")

; ODER
ImageGadget( 1, 0, 0, 500, 500, ImageID(0) ) : DisableGadget(1,1)
SetActiveGadget(101)
SetActiveGadget(102)

CloseGadgetList()


Repeat
  
  event = WaitWindowEvent()
  
Until event = #PB_Event_CloseWindow
Benutzeravatar
Shardik
Beiträge: 746
Registriert: 25.01.2005 12:19

Re: containergadget hitnergrundbild

Beitrag von Shardik »

Hallo Kurt,

es dürfte ein sehr schwieriges Unterfangen sein, ein Hintergrundbild
in ein ContainerGadget zu setzen. Weiterhelfen können Dir dabei
wahrscheinlich nur die beiden PB-Entwickler Fred und freak. Denn
das ContainerGadget in MacOS ist intern ein UserPane control, das
von Fred und/oder freak für die Mac-Version als Gadget maßgefertigt
wurde und nur sehr schwer angepaßt werden kann. Im PureBasic-Blog
hat freak daher angemerkt:
freak hat geschrieben:On OSX, the UserPane controls are drawn by PB itself, so you don’t have much ways to modify them other than the PB commands.
delikanli_19_82
Beiträge: 173
Registriert: 30.11.2010 02:34

Re: containergadget hitnergrundbild

Beitrag von delikanli_19_82 »

dann werde ich eben zu wohl der cross-platform-fähigkeit auf hintergrundbilder beim container ganz verzichten.

so wichtig ist das auch nicht...

danke für die info shardik.

mfg

kurt
Antworten