Bild als Hintergrund fuer Fenster

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
Knight_Rider_2000
Beiträge: 145
Registriert: 05.02.2007 20:46
Kontaktdaten:

Bild als Hintergrund fuer Fenster

Beitrag von Knight_Rider_2000 »

hier mal ein code um ein Bildhintergrund fuer eigene Fenster einzurichten
Viel spass damit :D
Bild

Code: Alles auswählen

#IDC_BITMAP=$5DC

UseJPEGImageDecoder()


If OpenWindow(0,0,0,200,60,"Backgrounded Window",#PB_Window_ScreenCentered | #PB_Window_SystemMenu | #SS_BITMAP)
 If CreateGadgetList(WindowID(0))
  hHandle1.l=CreateWindowEx_(0,"STATIC","",#SS_BITMAP | #WS_CHILD | #WS_VISIBLE,0,0,200,60, WindowID(0),#IDC_BITMAP,0,0)
  

  image=LoadImage(#PB_Any,"Untitled.jpg"); Or image=LoadImage_(image,"Untitled.jpg",#IMAGE_BITMAP,0,0,#LR_CREATEDIBSECTION | #LR_LOADFROMFILE)
  SendMessage_(hHandle1,#STM_SETIMAGE,#IMAGE_BITMAP,ImageID(image))
 EndIf
EndIf

Repeat
Select WaitWindowEvent()
 Case #PB_Event_CloseWindow
  End
EndSelect
ForEver
PB 4.20,Blitz3D 1.98,Microsoft Visual Studio 2005 Professional, Microsoft Visual Studio 2008 Professional
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

>; Or image=LoadImage_(image,"Untitled.jpg",#IMAGE_BITMAP,0,0,#LR_CREATEDIBSECTION | #LR_LOADFROMFILE)

Also wenn, dann bitte auch richtig.. :roll:

BTW: Wo bleibt der Setup-Creator, den du vor einem Jahr im IF thread angekündigt hast? Immernoch nicht geschafft nen passenden Lizenztext zu verfassen?
Benutzeravatar
Knight_Rider_2000
Beiträge: 145
Registriert: 05.02.2007 20:46
Kontaktdaten:

Beitrag von Knight_Rider_2000 »

der setup creator wurde von grund auf neu angefertigt
bisher kann er bereits:
Dialoge
entpacken aus cab und kopieren
code ausfuehrung
Dialoge zusammenbasteln
aber ist noch nicht irklich reif
mit diesem beispiel lasse ich euch daran teilhaben, denn das ist auch vorhanden
PB 4.20,Blitz3D 1.98,Microsoft Visual Studio 2005 Professional, Microsoft Visual Studio 2008 Professional
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

@Xor:
Hab ich was verpasst oder warum hast du in den Arschloch-Modus geschaltet?

@Knight_Rider:
Dieses API Gejuckel ist völlig unnötig. ImageGadget() und gut is'. Außerdem ist es nicht wirklich ein Hintergrundbild da du ein Extrafenster verwendest was wieder Probleme mit Z-Odner und Refresh gibt. Dafür solltest du einen Brush mit CreatePatternBrush_() erstellen und ihn der Fensterklasse zuweisen.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

>Hab ich was verpasst oder warum hast du in den Arschloch-Modus geschaltet?

Er hat vor ca. nem Jahr oder so mein InstallForge-Thread( http://www.purebasic.fr/german/viewtopi ... stallforge ) zugeschissen von wegen sein Installer wäre besser und er würde ihn schon bald veröffentlichen, wenn er mal nen Lizenztext fertigbekommen würde.
Nur "leider" ist bis jetzt nix gekommen.
Benutzeravatar
Knight_Rider_2000
Beiträge: 145
Registriert: 05.02.2007 20:46
Kontaktdaten:

Beitrag von Knight_Rider_2000 »

Fluid Byte hat geschrieben: Dieses API Gejuckel ist völlig unnötig. ImageGadget() und gut is'. Außerdem ist es nicht wirklich ein Hintergrundbild da du ein Extrafenster verwendest was wieder Probleme mit Z-Odner und Refresh gibt. Dafür solltest du einen Brush mit CreatePatternBrush_() erstellen und ihn der Fensterklasse zuweisen.
Fuege mal ein Gadget ein egal ob vor oder nach dem erstellten Fenster und du wirst merken das die anderen Gadgets davor gezeichnet werden. ein Image gadget wuerde dabei flackern.
PB 4.20,Blitz3D 1.98,Microsoft Visual Studio 2005 Professional, Microsoft Visual Studio 2008 Professional
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

@XOR:
Ah I seh' schon, du musstest gut was einstecken. War aber nicht nur KightRider2k der mit Scheisse geschmissen hat. Is' schon komisch das solche Threads hier immer "in die Hose" gehen.

@KR2k:
Lass das hier laufen und wechsele den Fokus zu einem anderen Fenster oder zieh es ausser Sichtweite des Desktops und bestaune wie der Button verschwindet:

Code: Alles auswählen

#IDC_BITMAP = $5DC

OpenWindow(0,0,0,400,300,"Backgrounded Window",#PB_Window_ScreenCentered | #PB_Window_SystemMenu | #SS_BITMAP)
CreateGadgetList(WindowID(0))
ButtonGadget(0,10,10,120,25,"utitled")

hwndStatic = CreateWindowEx_(0,"STATIC","",#SS_BITMAP | #WS_CHILD | #WS_VISIBLE,0,0,0,0, WindowID(0),#IDC_BITMAP,0,0)
LoadImage(0,#PB_Compiler_Home + "Examples\Sources\Data\Background.bmp")

SendMessage_(hwndStatic,#STM_SETIMAGE,#IMAGE_BITMAP,ImageID(0))

While WaitWindowEvent() ! #PB_Event_CloseWindow : Wend

DestroyWindow_(hwndStatic)
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

>Is' schon komisch das solche Threads hier immer "in die Hose" gehen.
Was meinstn mit "solche Threads"?
Benutzeravatar
Knight_Rider_2000
Beiträge: 145
Registriert: 05.02.2007 20:46
Kontaktdaten:

Beitrag von Knight_Rider_2000 »

bei mir bleibt der button sichtbar
PB 4.20,Blitz3D 1.98,Microsoft Visual Studio 2005 Professional, Microsoft Visual Studio 2008 Professional
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

Warum nehmt ihr eigentlich nicht WindowOuput()?
Antworten