BMAX Fenster beskinnen
Übersicht

![]() |
owareBetreff: BMAX Fenster beskinnen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi
Ich weiß jetzt nicht wirklich ob hier schonmal diese Fragen gestellt wurden, zumindest habe ich sie nicht gefunden: 1. Wie kann man den Fensterrahmen einer BMAX App entfernen? 2. Wie kann man die App ins SysTray minimieren? thx in adv oware |
||
www.myspace.com/oliverpuetz -> Mein Instrumentalprojekt |
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
zu 1.
Code: [AUSKLAPPEN] Const HTCAPTION = 2
Local skinPmap:TPixmap = LoadPixmapPNG(Deine Lustige Pixmap.png") If skinPmap = Null Then RuntimeError "Pixmap nicht gefunden" Local window:TGadget = CreateWindow("", 100, 100, skinPmap.width, skinPmap.height, Null, WINDOW_HIDDEN) SetWindowMask (window, skinPmap) Local panel:TGadget = CreatePanel (0,0,skinPmap.width,skinPmap.height,window,PANEL_ACTIVE) SetPanelPixmap (panel,skinPmap) ShowGadget(window) 'Maskenfunktion für MAXGUI-Fenster ---------------------- Rem bbdoc: Pixmap-Maske für ein Fenster setzen End Rem Function SetWindowMask (Gadget:TGadget, pixmap:TPixmap) Local rectRgn = CreateRectRgn(0, 0, GadgetWidth(Gadget), GadgetHeight(Gadget)) Local hwnd:Int = Gadget.Query(QUERY_HWND) For Local pixY=0 Until pixmap.height Local startFlag = 0 Local startX = 0 Local maskLine, pixX For pixX=0 Until pixmap.width Local argb = ReadPixel(pixmap, pixX, pixY) If argb & $ff000000 = 0 If startFlag = 0 startFlag = 1 startX = pixX EndIf Else If startFlag startFlag = 0 maskLine = CreateRectRgn(startX, pixY, pixX, pixY + 1) CombineRgn(rectrgn, rectrgn, maskLine, 3) DeleteObject(maskLine) EndIf EndIf Next If startFlag maskLine = CreateRectRgn(startX, pixY, pixX, pixY + 1) CombineRgn(rectrgn, rectrgn, maskLine, 3) DeleteObject(maskLine) EndIf Next SetWindowRgn(hWnd, rectrgn, True) End Function 'TEST --------------------------------------------- Repeat Select WaitEvent() Case EVENT_MOUSEDOWN ReleaseCapture() SendMessageA(QueryGadget(window, QUERY_HWND), WM_NCLBUTTONDOWN, HTCAPTION, Null) Case EVENT_KEYDOWN If CurrentEvent.data = 27 Then End End Select Forever End |
||
- Zuletzt bearbeitet von d-bug am Sa, Jun 23, 2007 13:02, insgesamt einmal bearbeitet
![]() |
oware |
![]() Antworten mit Zitat ![]() |
---|---|---|
danke! | ||
www.myspace.com/oliverpuetz -> Mein Instrumentalprojekt |
#ReaperNewsposter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ömhh.. bei mir gibt es die Funktion CreateRectRgn nicht..? :-/ | ||
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7 |
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Extern "Win32"
Function SetWindowRgn(hWnd, hRgn, bRedraw) Function CreateRectRgn(nLeftRect, nTopRect, nRightRect, nBottomRect) Function CombineRgn(hrgnDest, hrgnSrc1, hrgnSrc2, fnCombineMode) End Extern Bitte schön... |
||
#ReaperNewsposter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
d-bug hat Folgendes geschrieben: Code: [AUSKLAPPEN]
Extern "Win32"
Function SetWindowRgn(hWnd, hRgn, bRedraw) Function CreateRectRgn(nLeftRect, nTopRect, nRightRect, nBottomRect) Function CombineRgn(hrgnDest, hrgnSrc1, hrgnSrc2, fnCombineMode) End Extern Bitte schön... Ok, danke, sorry ![]() |
||
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group