unsichtbares Fenster? *erledigt*
Übersicht

![]() |
EPSBetreff: unsichtbares Fenster? *erledigt* |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi...
mittels BlitzSys kann man ja Fenster sozusagen "unsichtbar" machen und stattdessen z.B. ein Bild verwenden, z.B. um bei einem Programmstart ein Logo einzublenden welches sogar etwas unförmig sein kann. mir geht es hierbei um die BlitzSys Befehle: DLLCreatePolygonVertexArray() DLLSetPolygonVertexPoint() DLLCreatePolygonRgn() DLLSetWindowRgn() Ich wollte mal fragen ob jemand einen direkten Weg kennt mittels decls bzw. DLL das direkt in Blitz+ zu machen ohne den Wrapper von BlitzSys. Vielen Dank schon mal. |
||
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier
Man kann sich öfter als zweimal im Leben halb tot lachen. |
- Zuletzt bearbeitet von EPS am Sa, März 26, 2005 23:52, insgesamt einmal bearbeitet
Ensign Joe |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
EDIT: ach kagge, den beitrag net durchgelesen, das passt jetzt wohl net so abba egal ![]() ich weiß jetzt nicht wie das geht weil ich BB+ nicht habe. Aber ich habe dir hier nen Image Processor for BB+ geproggt ![]() Der öffnet die Datei "splash.bmp" oder "splash.gif" oder "splash.jpg", jenachdem welche vorhanden ist. Ka wie man in VB params übergibt. das fenster hat automatisch die größe des bildes und ist zentriert. einfach in den folder kopieren in dem die splash ist und ausführen oder halt mit execfile oder wie das heißt ausführen ![]() Download Update: Der splash beendet sich nach 5 Sekunden selbst (also das fenster geht zu und die app auch), falls die datei net existiert gibts nen runtime error und die app is zu |
||
Ich habe jetzt eine Pommesbude aufgemacht am Münchner Hauptbahnhof.
Und da ich Herbert Görgens heiße, heißt diese Pommesbude Herbert's Pommesbude ![]() |
![]() |
EPS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke für die Mühe, aber das ist nicht ganz was ich suche, denn ich beabsichtige kein Viereckiges Bild über ein Fenster zu legen, sondern ich möchte ein - naja sagen wir mal unförmiges Fenster haben ...
So wie z.B. bei diesem Winamp-Player: http://www.winamp.com/skins/details.php?id=144328 Das wäre mit der BlitzSys problemlos möglich, jedoch finde ich es Quatsch einen Wrapper zu benutzen, wenn man auch direkt auf die entsprechende DLL zugreifen kann. Vorausgesetzt halt man weis auf welche und wie ![]() ich hoffe das war verständlicher... |
||
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier
Man kann sich öfter als zweimal im Leben halb tot lachen. |
![]() |
hamZtaAdministrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
hab hier eine "skin.dll" mit der ist das möglich.
beispiel liegt in der zip dabei Hier (39 kb) |
||
Blog. |
![]() |
EPS |
![]() Antworten mit Zitat ![]() |
---|---|---|
@hamZta
jep...das ist exakto was ich suche. 2 Fragen noch... 1. Geht das auch als Direktaufruf ohne die extra DLL, oder ist die unbedingt notwendig? Anders ausgedrückt: Um diesen Effekt zu erzielen, kann man da SystemDLLs benutzen die man mittels decls ansprechen kann oder steckt in der skin.dll ein bestimmter Code damit das ganze funzt. 2. Wie siehts mit der verwendung dieser DLL aus - Rechtemäßig? Auf jeden Fall schon mal DANKE |
||
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier
Man kann sich öfter als zweimal im Leben halb tot lachen. |
![]() |
EPS |
![]() Antworten mit Zitat ![]() |
---|---|---|
hi...also ich hab jetzt im englischen Forum ein Beispiel gefunden, nur funzt das bei mir leider nicht, hier mal der Code:
Code: [AUSKLAPPEN] win = CreateWindow("hallo",100,100,300,200,Desktop())
img = LoadImage("c:\post\test.png") skin_window(win,img,$FF,0,0) Repeat If KeyHit(1) Then Exit Forever Function skin_window(window, img, r, g, b) w = ImageWidth(img) h = ImageHeight(img) LockBuffer ImageBuffer(img) mask = (255 Shl 24) + (r Shl 16) + (g Shl 8) + b hWnd = QueryObject(window, 1) hRgn = api_CreateRectRgn(0, 0, w, h) For y = 0 To h - 1 For x = 0 To w - 1 pixel = ReadPixelFast(x, y, ImageBuffer(img)) If pixel = mask hTempRgn = api_CreateRectRgn(x, y, x + 1, y + 1) api_CombineRgn(hRgn, hRgn, hTempRgn, 3) api_DeleteObject(hTempRgn) EndIf Next Next UnlockBuffer ImageBuffer(img) api_SetWindowRgn(hWnd, hRgn, True) api_DeleteObject(hRgn) End Function Ich sehe leider nur das normale Fenster...hat jemand ne Ahnung warum? Mein Bild ist richtig und die notwendigen decls Deklarationen sind auch vorhanden. |
||
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier
Man kann sich öfter als zweimal im Leben halb tot lachen. |
![]() |
EPS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Erledigt: siehe Code Archiv:
https://www.blitzforum.de/view...590#113590 |
||
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier
Man kann sich öfter als zweimal im Leben halb tot lachen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group