SkinWin Problem

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

SkinWin Problem

Beitrag von Tsuki-Namida »

Hallo,
ich brauche schonwieder eure hilfe^^

und zwar verstehe ich nicht das bei diesem Code:

Code: Alles auswählen

Procedure Open_Uhr_Window()
  hWnd    = OpenWindow(#Uhr_Window, 104, 193, 143, 142, #PB_Window_BorderLess ,"")
  hBitmap = LoadImage(0, "Images\Timer\Timer-BG.bmp")
  SkinWin(hWnd, hBitmap)
  CreateGadgetList(WindowID(#Uhr_Window))
notused = OpenWindow(#PB_Any,0,0,0,0,#PB_Window_Invisible,"")
SetWindowLong_(WindowID(#Uhr_Window),#GWL_HWNDPARENT,WindowID(notused))
  EndProcedure
das Imagenicht angezeigt wird...
das Image ist in 8bit gespeichert!
es wird nur angezeigt wenn ich den kompletten Datei pfat andebe und dann auch nur im Test play. in der exe wird es überhaupt nicht angezeigt... woran liegt das? wie kann ich das beheben? oder warum ist das so?
Bild
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

Nutze doch IncludeBinary() und CatchImage() dann geht es auf jeden fall. 8)
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag von Tsuki-Namida »

stimm darauf hätte auch ich kommen können *an den Kopf fass*

naja danke jedenfals
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Such mal nach GetExePath. Diese relativen Pfade taugen nur selten was.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag von Tsuki-Namida »

das habe ich schon versucht^^ (ich weis das dann der ordner des compiler gezeigt wird)

da ging es auch nicht.... ich habe nun roherter's raat befolgt und jetzt geht es wie gewünscht

aber ich habe hier nuch ein problem :((
und zwar bekomme ich bei dieser zeile [SetGadgetState(#Timer_Stunde, Image27)] die meldung:
[Error] #Gadget object not initialized.
Bild
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

Um dazu was sagen zu können müsste man deinen kompletten Sourcecode sehen? :freak:
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

http://www.purebasic.fr/german/viewtopi ... h&start=10
ganz unten, die Version meine ich. Da wird dann auch der richtige Pfad
zurückgegeben.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag von Tsuki-Namida »

okay... ich habe gerade die programmzeilen herauskopiert für diesen teil des Programms... und... es gin plötzlich aber nur das herauskopierte...

okay ich habe es im eigentlichen programm noch mal versucht mit der selben fehler meldung...

ich habe jetz einfach mal versucht das bild komplet neu zu setzen anstat zu updaten. damit geht es jetzt...

hier noch mal die programm zeilen die nur diesen teil des programms beinhalten.

Code: Alles auswählen

Enumeration
  #Uhr_Window
EndEnumeration

Enumeration
  #Timer_Stunde
  #Timer_Stunde_
  #Timer_Minute
  #Timer_Minute_
  #Timer_Monat
  #Timer_Monat_
  #Timer_Tag
  #Timer_Tag_
EndEnumeration

Global Image26
Global Image27
Global Image28
Global Image29
Global Image30
Global Image31
Global Image32
Global Image33
Global Image34
Global Image35
Global Image36

Image26 = CatchImage(26, ?Image26)
Image27 = CatchImage(27, ?Image27)
Image28 = CatchImage(28, ?Image28)
Image29 = CatchImage(29, ?Image29)
Image30 = CatchImage(30, ?Image30)
Image31 = CatchImage(31, ?Image31)
Image32 = CatchImage(32, ?Image32)
Image33 = CatchImage(33, ?Image33)
Image34 = CatchImage(34, ?Image34)
Image35 = CatchImage(35, ?Image35)
Image36 = CatchImage(36, ?Image36)

DataSection
Image26:
  IncludeBinary "G:\Programme\Programmieren\Pure Basic Quelltexte\Ro Theme\Image\Timer\Timer-BG.bmp"
Image27:
  IncludeBinary "G:\Programme\Programmieren\Pure Basic Quelltexte\Ro Theme\Image\Timer\1.ico"
Image28:
  IncludeBinary "G:\Programme\Programmieren\Pure Basic Quelltexte\Ro Theme\Image\Timer\2.ico"
Image29:
  IncludeBinary "G:\Programme\Programmieren\Pure Basic Quelltexte\Ro Theme\Image\Timer\3.ico"
Image30:
  IncludeBinary "G:\Programme\Programmieren\Pure Basic Quelltexte\Ro Theme\Image\Timer\4.ico"
Image31:
  IncludeBinary "G:\Programme\Programmieren\Pure Basic Quelltexte\Ro Theme\Image\Timer\5.ico"
Image32:
  IncludeBinary "G:\Programme\Programmieren\Pure Basic Quelltexte\Ro Theme\Image\Timer\6.ico"
Image33:
  IncludeBinary "G:\Programme\Programmieren\Pure Basic Quelltexte\Ro Theme\Image\Timer\7.ico"
Image34:
  IncludeBinary "G:\Programme\Programmieren\Pure Basic Quelltexte\Ro Theme\Image\Timer\8.ico"
Image35:
  IncludeBinary "G:\Programme\Programmieren\Pure Basic Quelltexte\Ro Theme\Image\Timer\9.ico"
Image36:
  IncludeBinary "G:\Programme\Programmieren\Pure Basic Quelltexte\Ro Theme\Image\Timer\0.ico"
EndDataSection

Procedure Open_Uhr_Window()
hWnd    = OpenWindow(#Uhr_Window, 104, 193, 143, 142, #PB_Window_BorderLess ,"")
hBitmap = Image26
SkinWin(hWnd, hBitmap)
CreateGadgetList(WindowID(#Uhr_Window))
notused = OpenWindow(#PB_Any,0,0,0,0,#PB_Window_Invisible,"")
SetWindowLong_(WindowID(#Uhr_Window),#GWL_HWNDPARENT,WindowID(notused))
ImageGadget(#Timer_Stunde, 47, 40, 8, 13, Image36)
ImageGadget(#Timer_Stunde_, 56, 40, 8, 13, Image36)
ImageGadget(#Timer_Minute, 80, 40, 8, 13, Image36)
ImageGadget(#Timer_Minute_, 89, 40, 8, 13, Image36)
ImageGadget(#Timer_Monat, 51, 80, 8, 13, Image36)
ImageGadget(#Timer_Monat_, 60, 80, 8, 13, Image36)
ImageGadget(#Timer_Tag, 74, 80, 8, 13, Image36)
ImageGadget(#Timer_Tag_, 83, 80, 8, 13, Image36)
  EndProcedure
  
Open_Uhr_Window()
Time.l  = Date()
Stunde$ = FormatDate("%hh", Time)
Minute$ = FormatDate("%ii", Time)
Monat$  = FormatDate("%mm", Time)
Tag$    = FormatDate("%dd", Time)

Debug "Aktuelle Zeit: " + Stunde$ + " : " + Minute$
Debug "Aktuelles Datum: " + Tag$ + "." + Monat$
;Right(Stunde$,1) 
;-Stunde
If Left(Stunde$, 1) = "1"
  ;SetGadgetState(#Timer_Stunde, Image27)
  ImageGadget(#Timer_Stunde, 47, 40, 8, 13, Image27)
ElseIf Left(Stunde$, 1) = "2"
  
ElseIf Left(Stunde$, 1) = "0"
  
EndIf
If Right(Stunde$,1) = "1"
  
ElseIf Right(Stunde$,1) = "2"
  
ElseIf Right(Stunde$,1) = "3"
  
ElseIf Right(Stunde$,1) = "4"
  
ElseIf Right(Stunde$,1) = "5"
  
ElseIf Right(Stunde$,1) = "6"
  
ElseIf Right(Stunde$,1) = "7"
  
ElseIf Right(Stunde$,1) = "8"
  
ElseIf Right(Stunde$,1) = "9"
  
ElseIf Right(Stunde$,1) = "0"
  
EndIf
Repeat
  
Until Event = #PB_Event_CloseWindow
Bild
Antworten