Win8 Startbutton q`n`d

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Joebo2572
Beiträge: 9
Registriert: 01.11.2007 11:10
Wohnort: Schwelm

Win8 Startbutton q`n`d

Beitrag von Joebo2572 »

Hallo,
hier das Gerüst(1) zu einem Startbutton für win8
Harkt an ein paar stellen:
-Button funzt nicht immer... warum?
-Hab ihn jetzt mittig positioniert...(Standard unten) wie krieg ich die Buttons (Bibliothek, ie) in der taskleiste verschoben, damit der startbutton dahin kommt wo er hingehört?
-bilder werden sch... angezeigt... (jpg geht, png klappt nicht)
-wie krieg ich das startmenu auf eine definerte größe und nicht auf voll bild (siehe "Start8"?

Wenn ihr probiert immer auf delay achten... !

Wie gesagt, ist zusammengeklimpert aber könnte ja ein pb projekt :-) um mal wieder leben in die bude zu bekommen. Die von vsc# habens geschafft!!!

Grüße, Joern

Hier der Pre-Alfa Code:

Code: Alles auswählen

UseJPEGImageDecoder()
;UsePNGImageDecoder()
Global img1,img2,img3

Img1 = LoadImage(#PB_Any,"E:\JBStyle\Slide\Start0.bmp");eigene bilder einsetzen
Img2 = LoadImage(#PB_Any,"E:\JBStyle\Slide\Start1.jpg")
Img3 = LoadImage(#PB_Any,"E:\JBStyle\Slide\Start2.jpg")

Procedure SetWinTransparency(win,level) 
  If level>=0 And level<101 
hLib = LoadLibrary_("user32.dll") 
If hLib 
adr = GetProcAddress_(hLib,"SetLayeredWindowAttributes") 
If adr 
SetWindowLong_(WindowID(win),#GWL_EXSTYLE,GetWindowLong_(WindowID(win),#GWL_EXSTYLE)|$00080000); Or #WS_EX_LAYERED|$00080000) 
SetLayeredWindowAttributes_(WindowID(win), RGB(255, 0, 255),255*level/100, $3)
EndIf 
FreeLibrary_(hLib) 
EndIf 
EndIf 
EndProcedure 

If OpenWindow(0, 10000, 10000,40,40, "PureBasic Window",#WS_POPUP|#PB_Window_Invisible)
Image_0 = ImageGadget(20, 0, 0, 40, 40, ImageID(Img1))

; An taskbar heften
hWnd.l=FindWindow_("Shell_TrayWnd","")
If hWnd.l
GetWindowRect_(hWnd.l,wrc.RECT):ResizeWindow (0,20,1,40,40):SetParent_(WindowID(0),hWnd.l)      
 ;ende   
 
;Menue
 If CreatePopupImageMenu(0)      
      MenuItem(1, "Info"):MenuItem(2, "Ausführen..."):MenuItem(3, "Runterfahren"):MenuBar():MenuItem(4, "Ende"):EndIf
;Ende
    HideWindow(0,0)
    Else
    End
EndIf 
Repeat
  
EventID = WaitWindowEvent()
    
Select EventID
Case #WM_RBUTTONDOWN
  Delay(200)
  DisplayPopupMenu(0, WindowID(0)) 
Case 0
  Delay(200)
Case #PB_Event_Gadget
  Image_0 = ImageGadget(20, 0, 0, 40, 40, ImageID(Img3))
  Delay(400)
  SendMessage_(hwnd.l,#WM_COMMAND,$131,0)
  Delay(200)        
Case #PB_Event_Menu   
  Delay(100)
  Select EventMenu()       
   Case 1 : MessageRequester("Simple Button","Open Source by Joebo in 2012")
   Case 2 :
   Case 3 : SendMessage_(hwnd.l,#WM_CLOSE,"","")
   Case 4 : Quit = 1
   EndSelect
EndSelect
  Until Quit = 1
  EndIf
End
Edit by NicTheQuick: Code-Tags gesetzt