Beeinflussen der Desktop-Icons

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Deforation

Betreff: Beeinflussen der Desktop-Icons

BeitragSa, Jul 28, 2007 21:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Zusammen.

Ich habe eine Frage!

Gibt es in B3D mit Hilfe eines API aufrufes die Desktop-Icons zu verschieben oder zu beeinflussen.

Eine zweite frage wäre nocht, ob es möglich ist das Programm unsichtbar zu machen, so dass z.B. Nur nur ein roter kreis oder ein männchen des Programmes sichtbar ist?

Das heisst das die ganzen Leisten mit dem X und der schwarze hintergrund nicht sichtbar sind.

Zum Hintergrund? Es wäre gut, wenn er Transparent ist, dass heisst man sollte den Desktophintergrund sehen können.

Ich weiss das sind viele Fragen und auch keine einfachen.

Wenn jemand helfen könnte, wäre das wirklich sehr freundlich.
Wenn nicht, dann spielt das keine grosse Rolle.

Danke für euer aufmerksames Lesen.

Eingeproggt

BeitragSa, Jul 28, 2007 21:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Deforation hat Folgendes geschrieben:
Eine zweite frage wäre nocht, ob es möglich ist das Programm unsichtbar zu machen, so dass z.B. Nur nur ein roter kreis oder ein männchen des Programmes sichtbar ist?


Der rote Kreis soll im Programm gezeichnet werden oder in der Taskleiste, im Systemtray, wo?

Wenn du die Leiste nicht haben willst und der Hintergrund transparent sein soll, könntest du es gleich lassen. Einfach kein Graphics aufrufen Smile
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Silver_Knee

BeitragSa, Jul 28, 2007 22:58
Antworten mit Zitat
Benutzer-Profile anzeigen
also mit blitzplus denke ich wäre das möglich. d kannst da nämlich auf den DesktopBuffer malen...
 

Deforation

BeitragSo, Jul 29, 2007 17:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für eure Antworten.
Gedacht wäre es in etwa so.

user posted image

http://www.imgshark.net/index....e=Test.bmp

(Das Bild dient nur zum Zweck, das Prinzip zu zeigen.)

Zusätzlich danke für den Tipp mit BlitzPlus. Sobald ich kann, werde ich mal die Demoversion ausprobieren.

Eingeproggt

BeitragSo, Jul 29, 2007 17:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Idee mit B+ ist gut. (Meine aber auch^^)

Zusammen ergeben sie folgenden
Code: [AUSKLAPPEN]
SetBuffer DesktopBuffer()

Color 255,0,0

x=(GadgetWidth(Desktop())-50)/2
y=(GadgetHeight(Desktop())-50)/2

startzeit=MilliSecs()

While MilliSecs()-startzeit<10000
   Oval x,y,50,50,1
   Delay 20
Wend

End


Also es wird ein roter Kreis gezeichnet (auf den DesktopBuffer, weshalb der Code auch nur mit B+ geht). Nach 10sek beende ich das Programm, weil man keine Kontrolle über die Benutzereingaben hat ohne Graphics (KeyHit, MouseHit und so werden nicht erkannt. Abhilfe schaffen Keylogger oder solche Timer wie bei mir)
Allerdings bleibt der Kreis, auch wenn das Prog beendet ist. Cls ist KEINE Lösung! ( -> Bildschirm schwarz)

Und ich weiß nicht mehr, wer sich damals aufregte, jedenfalls hab ich auch jetzt ein Delay in die Schleife gegeben. Das ist NICHT vorbildhaft, aber ich war wie immer zu faul einen Framelimiter zu machen.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Silver_Knee

BeitragSo, Jul 29, 2007 21:35
Antworten mit Zitat
Benutzer-Profile anzeigen
anstatt cls müsste man via grabimage sich den Desktop schnappen und dann immer statt cls Drablock schreiben
 

Deforation

BeitragMo, Jul 30, 2007 10:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Zusammen.

1. Ich habe es mal mit Save und Loadbuffer gemacht. Es funktioniert, jedoch ehr als nur langsam.

2. Die Variante von FTC

Code: [AUSKLAPPEN]

SetBuffer DesktopBuffer()

Global a=50
Global b=50

gfxGrab=CreateImage(1280,1024)
GrabImage gfxGrab,0,0

Color 255,0,0
x=(GadgetWidth(Desktop())-50)/2
y=(GadgetHeight(Desktop())-50)/2

startzeit=MilliSecs()

While MilliSecs()-startzeit<1000
   DrawBlock gfxGrab,0,0
   Oval x,y,a,b,1
   Delay 20
   a=a+5
   b=b+5
Wend

End


gefällt mir ziemlich gut. (Danke für den Vorschlag Very Happy)
Jedoch kann ich dann kein Fenster mehr bewegen, da es alles zurückstellt.

Wenn ich dann jedoch mache, dass es immer wieder ein bild speichert und wieder einfügt, dass wird das ganze enorm verlangsamt.


Darum habe ich es dan mal so probiert.

Code: [AUSKLAPPEN]

SetBuffer DesktopBuffer()

Global a=50
Global b=50

x=500
y=500

gfxGrab=CreateImage(50,50)

Color 255,0,0
Rect x,y,50,50,1
GrabImage gfxGrab,x,y

startzeit=MilliSecs()

While MilliSecs()-startzeit<5000
   DrawBlock gfxGrab,a,b

   Color 255,0,0

   If ((MouseX()>a) And (MouseX()<a+50) And (MouseY()>b) And (MouseY()<b+50)) Then
      Color 50,20,30
   EndIf
   
   Text 10,10,"Maus X: "+MouseX()
   Text 10,50,"Maus Y: "+MouseY()
   
   a=a+5
   b=b+5
   Delay 50
Wend

End


Jedoch gibt es dann eine schleifspur, welche ich nur beim überfahreneines Fensters wieder löschen kann.
 

sdjh

BeitragFr, Aug 03, 2007 12:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst in Blitz3D mit blitzsys.dll dein Fenster transparent machen und direkt auf den DesktopBuffer schreiben. Musst mal ein wenig googlen. Vielleicht gibt's die aber auch gar nicht mehr. Ich finde derzeit nix. Mein Netz ist irgendwie erbärmlich langsam...
 

Deforation

BeitragMo, Aug 06, 2007 13:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für deine Antwort.

Die Blizsys habe ich schon, mit der hab ichs aber noch nicht probiert. Danke für den tipp.

Die Blitzsys gibts unter:

http://d-bug.chaos-interactive...s_v105.zip



Nun hätte ich noch eine Frage.

Auf dem Desktop hat man ja Icons (sprich Verknüpfungen).

Wie kann ich die Position dieser Icons bestimmen. Und wie kann ich sie ansprechen.
(Das Ansprechen alleine wäre ja kein Problem, dafür gibt es ja die API befehle)

Jedoch brauche ich ein Icon-Handle um die Icons zu löschen, bearbeiten, deren Position zu bestimmen (auf dem desktop). Das Problem dabei ist, woher krieg ich dieses Handle (hicon)?

Hip Teen

BeitragMo, Aug 06, 2007 14:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Es gibt eine imo geschicktere Lösung als in den DesktopBuffer zu zeichnen.
Ich hab mal eine Funktion geschrieben, mit der man eine Farbe transparent setzen kann bei einem Fenster. Man erstelle also, wie in dem dortigen Beispiel, ein Fenster ohne Titelleiste und allem (also dem Flag 0) und ruft die Funktion mit einem Bild, das man gerne dort sehen möchte auf dem Desktop, auf, außerdem stellt man die richtige Transparenz farbe ein. Fertig. Da brauch man auch nicht ständig zeichnen oder sowas machen, man kann das Fenster lustig auf dem Bildschirm bewegen und sogar so einstellen, dass es über allen anderen Fenstern prangt.
Spruch der Woche: "Ahh, ein neues Gesicht?!" - "Nein, das hab ich schon länger"
 

Deforation

BeitragMo, Aug 06, 2007 14:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey danke für die Funktion. Sobald ich dazu komme werde ich es gleich mal ausprobieren. Cool Very Happy
 

Deforation

BeitragFr, Aug 10, 2007 16:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Zusammen.

Wens jemanden Interessiert, ein Link mit dem Code zum Speichern und Laden der Positionen der Desktop Icons. (Code ist von Delphi)

http://www.swissdelphicenter.c...hp?id=1897

oder gleich das Programm mit dem Sourcecode:

http://www.michael-puff.de/Pro.../index.php

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group