Seite 8 von 12

Verfasst: 04.04.2007 16:21
von Fusselohr
Also wenn ich son Button hab , bsw. OK , wie kann ich denn es hinkriegen , dass beim Drücken irgendwas passiert ? Heißt das dann

Code: Alles auswählen

case Buttongadget(#Button_0)
oder wie ?

Mfg Fusselohr

Verfasst: 04.04.2007 16:22
von Scarabol
Beim erstellen gibst du dem Button eine ID und diese ID musst du bei Eventgadget wieder abfragen also Case 1 oder Case #KonstantevondeinemButton

Gruß
Scarabol

Verfasst: 04.04.2007 16:24
von Fusselohr
Also

Code: Alles auswählen

Case #Button_0

Verfasst: 04.04.2007 16:24
von Scarabol
Ja

wenn du vorher

ButtonGadget(#Button_0, ....

geschrieben hast

Gruß
Scarabol

Verfasst: 04.04.2007 16:25
von Kaeru Gaman
in der Help zu WaitWindowEvent isn beispiel-code...

Verfasst: 04.04.2007 16:30
von ts-soft
Hier mal ein Snippet von Mischa, angepaßt an PB4 von mir.
Funktioniert auch mit BMP!

Code: Alles auswählen

Procedure DrawTransparentImage(TransImage.l, ZielImage.l, x.l, y.l, b.l, h.l, TransColor.l) 
  Protected hdc.l, hzwischen.l, HdcTemp.l, obj.l, HdcBack.l, HdcObject.l, HdcMem.l, HdcSave.l
  Protected BmPAndBack.l, BmPAndObject.l, BmPAndMem.l, BmPSave.l, BmpBackOld.l, BmpObjectOld.l
  Protected BmpMemOld.l, BmpSaveOld.l, CColor.l, target.l
  
  ImageID(TransImage) : hdc = StartDrawing(ImageOutput(TransImage)) 
  hzwischen = CreateCompatibleBitmap_(hdc, b, h) : HdcTemp = CreateCompatibleDC_(hdc) 
  obj = SelectObject_(HdcTemp, hzwischen) : HdcBack = CreateCompatibleDC_(hdc) 
  HdcObject = CreateCompatibleDC_(hdc) : HdcMem = CreateCompatibleDC_(hdc) 
  HdcSave = CreateCompatibleDC_(hdc) : BmPAndBack = CreateBitmap_(b, h, 1, 1, 0) 
  BmPAndObject = CreateBitmap_(b, h, 1, 1, 0) : BmPAndMem = CreateCompatibleBitmap_(hdc, b, h) 
  BmPSave = CreateCompatibleBitmap_(hdc, b, h) : SetMapMode_(HdcTemp, GetMapMode_(hdc)) 
  BmpBackOld = SelectObject_(HdcBack, BmPAndBack) : BmpObjectOld = SelectObject_(HdcObject, BmPAndObject) 
  BmpMemOld = SelectObject_(HdcMem,BmPAndMem) : BmpSaveOld = SelectObject_(HdcSave, BmPSave) 
  SetStretchBltMode_(HdcTemp, #COLORONCOLOR) : StretchBlt_(HdcTemp, 0, 0, b, h, hdc, 0, 0, b, h, 13369376) 
  If TransColor = -1 : TransColor = GetPixel_(HdcTemp, (b - 1), 0) : EndIf 
  SetMapMode_(HdcTemp, GetMapMode_(hdc)) : BitBlt_(HdcSave, 0, 0, b, h, HdcTemp, 0, 0, $0CC0020) 
  CColor = SetBkColor_(HdcTemp, TransColor) : BitBlt_(HdcObject, 0, 0, b, h, HdcTemp, 0, 0, $0CC0020) 
  SetBkColor_(HdcTemp,RGB(255,255,255)) : Box(0,0,b,h,GetSysColor_(#COLOR_BTNFACE))
  StopDrawing() : ImageID(ZielImage) : target = StartDrawing(ImageOutput(ZielImage)) 
  BitBlt_(HdcBack, 0, 0, b, h, HdcObject, 0, 0, $0330008) : BitBlt_(HdcMem, 0, 0, b, h, target, x, y, $0CC0020) 
  BitBlt_(HdcMem, 0, 0, b, h, HdcObject, 0, 0, $08800C6) : BitBlt_(HdcTemp, 0, 0, b, h, HdcBack, 0, 0, $08800C6) 
  BitBlt_(HdcMem, 0, 0, b, h, HdcTemp, 0, 0, $0EE0086) : BitBlt_(HdcTemp, 0, 0, b, h, HdcMem, 0, 0, $0CC0020) 
  BitBlt_(target, x, y, b, h, HdcTemp, 0, 0, $0CC0020) : StopDrawing() 
  DeleteObject_(obj) : DeleteObject_(BmpBackOld) : DeleteObject_(BmpObjectOld) : DeleteObject_(BmpMemOld) 
  DeleteObject_(BmpSaveOld) : DeleteDC_(HdcMem)  : DeleteDC_(HdcBack) : DeleteDC_(HdcObject) 
  DeleteDC_(HdcSave) : DeleteDC_(HdcTemp) : DeleteObject_(hzwischen) : DeleteObject_(BmPAndBack) 
  DeleteObject_(BmPAndObject) : DeleteObject_(BmPAndMem) : DeleteObject_(BmPSave) 
EndProcedure

TImage.l = LoadImage(#PB_Any, #PB_Compiler_Home + "Examples\Sources\Data\PureBasicLogo.bmp", #PB_Image_DisplayFormat)
TColor.l = $84695A

DrawTransparentImage(TImage, TImage, 0, 0, 381, 68, TColor) 
If OpenWindow(0, #PB_Ignore, 0, 381, 68, "") And CreateGadgetList(WindowID(0))
  ImageGadget(0, 0, 0, 381, 68, ImageID(TImage))
  
  While WaitWindowEvent() <> 16 : Wend
EndIf
//Edit
Bezieht sich noch auf Transparenz :mrgreen:

Verfasst: 04.04.2007 16:40
von Fusselohr
Danke ^^ . Wie krieg ich eigentlich das Programm dazu eine URL im IE zu öffnen , also nicht direkt im Programm ^^

Verfasst: 04.04.2007 16:43
von ts-soft
RunProgram(URL$)

Verfasst: 04.04.2007 16:57
von Fusselohr
Also einfach nur RunProgram(Hier halt die URL) oder noch andere Dinge ?

Verfasst: 04.04.2007 17:05
von ts-soft
>> oder noch andere Dinge ?
Warum probierste es nicht einfach?