Deutsches AutoHotkey Homepage AutoHotkey Community
Wir helfen uns gegenseitig aus der Patsche
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

InfoboxZ() - Infobox Framework
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Vollständige Skripte & Funktionen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
IsNull



Anmeldedatum: 20.12.2006
Beiträge: 1872
Wohnort: CH

BeitragVerfasst am: Sa Mai 19, 2007 4:32 pm    Titel: InfoboxZ() - Infobox Framework Antworten mit Zitat

Hallo,

Ich habe für mich ein simples "Infobox" Framework geschieben. Damit lassen sich ganz einfach Infos unten rechts anzeigen.

Braucht man immer ab und zu, gerade bei grösseren Projekten.


InfoboxZ Download (zu finden unter /Open Section/GUI)
+Source
+gFx (graphics)

(Ihr könnt es runterladen, entpacken und die ahk Datei doppelklicken, dann seht ihr das Beispiel.)

Konstruktive Kritik ist erwünscht Razz



Greetz
IsNull
_________________
Tannenbäume stinken. Sehr poetisch. =)
AHK 2D GAME ENGINE
Ich hab mehr Abstürze als mein Computer Smile


Zuletzt bearbeitet von IsNull am So Jan 06, 2008 5:24 pm, insgesamt 6-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
John W



Anmeldedatum: 03.05.2007
Beiträge: 188
Wohnort: /home/john

BeitragVerfasst am: So Mai 20, 2007 11:56 am    Titel: Antworten mit Zitat

SEHR SCHÖN GEMACHT!!! Very Happy
_________________
KOMPLETT INAKTIV - nutze kein AHK mehr.


Zuletzt bearbeitet von John W am Mi Mai 30, 2007 1:37 pm, insgesamt 2-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
IsNull



Anmeldedatum: 20.12.2006
Beiträge: 1872
Wohnort: CH

BeitragVerfasst am: So Mai 20, 2007 12:13 pm    Titel: Antworten mit Zitat

John W hat Folgendes geschrieben:
Hättest du´s nicht woanders hochladen können?
Ich würde es (mit deiner Erlaubnis) auf meine HP hochladen, mit dem Hinweis "Made by IsNull"

Aber sonst: SEHR SCHÖN GEMACHT!!! Very Happy


Hallo,
Erstamal danke für dein positives Feedback Very Happy

Ich habe im moment gerade keinen (öffentlichen) Ftp Server zum Dateien anbieten - und um andere (z.B. Thalon) darum zu bitten, fand ich mein "Framework" noch nicht ausgeklügelt genug.

Lange Rede kurzer Sinn: Du kannst das ganze sehr gerne auf deine Page hochladen Very Happy Schick mir dann per PN einen direcktlink, dann werde ich ihn oben in mein Posting reineditieren.

Gruss
IsNull
_________________
Tannenbäume stinken. Sehr poetisch. =)
AHK 2D GAME ENGINE
Ich hab mehr Abstürze als mein Computer Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
msgbox



Anmeldedatum: 05.05.2007
Beiträge: 818
Wohnort: C:\

BeitragVerfasst am: So Mai 20, 2007 1:01 pm    Titel: Antworten mit Zitat

Was kann ich unter framework vestehen? Net framework?
Aber alles in allem finde ich sehr schön gemacht! Ich empfehle noch das die Box verschiebbar ist! So dann man es mit der maus bewegen kann...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AGU
Gast





BeitragVerfasst am: So Mai 20, 2007 1:12 pm    Titel: Antworten mit Zitat

Für solche Fälle gibt es übrigens autohotkey.net. Titan aus dem englischen Forum bietet jedem einen eigenen Account auf seinem Server, auf dem man bis zu 100 MB hochladen kann.

Auf Nachfrage erhält man sogar FTP Zugriff. Selbst eine kleine Homepage lässt sich da hosten. Ich nutze das für alle meine Skripte.
Beispielsweise meinen BBCodeWriter. Sogar die Homepage dafür ist auf autohotkey.net.

Also schau doch mal vorbei. Very Happy

Arrow http://www.autohotkey.net
________________________
Gruß AGU
Nach oben
John W



Anmeldedatum: 03.05.2007
Beiträge: 188
Wohnort: /home/john

BeitragVerfasst am: So Mai 20, 2007 2:57 pm    Titel: Antworten mit Zitat

[Edit] von meiner Site genommen
_________________
KOMPLETT INAKTIV - nutze kein AHK mehr.


Zuletzt bearbeitet von John W am Mi Mai 30, 2007 1:38 pm, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
IsNull



Anmeldedatum: 20.12.2006
Beiträge: 1872
Wohnort: CH

BeitragVerfasst am: So Mai 20, 2007 3:29 pm    Titel: Antworten mit Zitat

Hallo zusammen Very Happy

@AGU, thx, das ist mr bis jetzt nicht bewusst gewesen, dann werde ich es dort mal uppen. Very Happy


Ich habe jetzt noch hinzugefügt, dass man die Infobox verschieben kann. (wenn man oben den Rahmen zieht, also Windows Standard)

Wenn man unten in die eigentliche Info klickt verschwindet sie wieder.

Gruss
IsNull
_________________
Tannenbäume stinken. Sehr poetisch. =)
AHK 2D GAME ENGINE
Ich hab mehr Abstürze als mein Computer Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
denick



Anmeldedatum: 15.09.2006
Beiträge: 1968
Wohnort: Berlin

BeitragVerfasst am: Mo Mai 21, 2007 5:24 am    Titel: Antworten mit Zitat

Moin IsNull,

sieht wirklich gut aus! Very Happy

Für das Bewegen der Box hat Skan im englischen Forum eine geniale Lösung eingestellt: http://www.autohotkey.com/forum/viewtopic.php?p=64185#64185.

Die Subroutine verkürzt sich damit auf:
Code:
DragInfoBox:
PostMessage, 0xA1, 2,,, A
Return

Du kannst die beiden Subs kill_scvs_activeDisplay und DragInfoBox auch hinter Return 0 in die Funktion einfügen, die Variable InfoText als Static deklarieren und das Global entfernen. Dann ist Alles in der Funktion gekapselt und - wenn das hier auch eher unwahrscheinlich ist - Kollisionen mit Variablennamen im aufrufenden Skript werden vermieden.
_________________
Hilfe zur Hilfe

(de)nick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
IsNull



Anmeldedatum: 20.12.2006
Beiträge: 1872
Wohnort: CH

BeitragVerfasst am: Mo Mai 21, 2007 8:54 am    Titel: Antworten mit Zitat

Hi denick,

Ich habe das ganze auch gerne kompakt, deswegen kommen mir deine Tipps sehr gelegen Smile
Auch das mit dem move der Fenster macht das ganze um einiges einfacher.

Werde das anpassen und als ver 1.2 zum dl anbieten.

thx & Gruss
IsNull
_________________
Tannenbäume stinken. Sehr poetisch. =)
AHK 2D GAME ENGINE
Ich hab mehr Abstürze als mein Computer Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
IsNull



Anmeldedatum: 20.12.2006
Beiträge: 1872
Wohnort: CH

BeitragVerfasst am: Mo Mai 21, 2007 3:53 pm    Titel: Antworten mit Zitat

ver 1.2 ist nun "oben" Very Happy

@denik: Alles funktioniert, nur das mi dem entglobalisieren hat ein Problem ergeben: Der slideout dll call funtz nicht mehr Shocked (aber nur, wenn er über das Label aufgerufen wird.)
Code:


InfoboxZ(titel, text, showtime=10000, gfx=""){

global kill_scvs_activeDisplay, DragInfoBox  ;so gehts nicht

IfWinExist, scvs_activeDisplay
{
  wait := DllCall("AnimateWindow","UInt",GUI_ID,"Int",1000,"UInt","0x90000") ;slide out
  gui, 98:destroy 
}

if gfx =
   gfx = blue
   
x_w := A_ScreenWidth - 240
y_h:= A_ScreenHeight - 200

Gui, 98:+LastFound
Gui, 98:-Caption +ToolWindow +alwaysontop +border
GUI_ID:=WinExist()
Gui, Margin, 0, 0
ifexist, %A_workingDir%\gfx\gfx_killborder_%gfx%.gif
{
   
    Gui, 98:add, Picture, x0 y0 h30 w240 gDragInfoBox, %A_workingDir%\gfx\gfx_moveborder_%gfx%.gif 
    Gui, 98:add, Picture, x0 y30 h120 w240 gkill_scvs_activeDisplay, %A_workingDir%\gfx\gfx_killborder_%gfx%.gif
}
Else
    Gui, 98:color, white

gui, 98:font, s9 fThaoma
Gui, 98:Add, Text,cblack x20 y10  +BackgroundTrans,         -::++%titel% Info++::-
gui, 98:font, s8 fThaoma
Gui, 98:Add, Text, x20 yp+40 w170 h150 gkill_scvs_activeDisplay +BackgroundTrans, %text%
Gui,98:Show, hide x%x_w% y%y_h% w200 h150, scvs_activeDisplay

wait := DllCall("AnimateWindow","UInt",GUI_ID,"Int",1000,"UInt","0xa0000") ;slide in

  if showtime != 0
  {
      SetTimer, kill_scvs_activeDisplay, %showtime%
  }


return 0

kill_scvs_activeDisplay:
  IfWinExist, scvs_activeDisplay
  {
      wait_2 := DllCall("AnimateWindow","UInt",GUI_ID,"Int",1000,"UInt","0x90000") ;slide out
msgbox % wait_2 ;nur zu testzwecken *gg. Hier sieht man, dass die Func null stat 1 zurück gibt...
      gui, 98:destroy 
      SetTimer, kill_scvs_activeDisplay, Off
  }
Return



DragInfoBox:
  PostMessage, 0xA1, 2,,, A
Return
}

 




;######################## END OF FUNCTION ######################################


Siehst du den Fehler? Die ver 1.2 ist jetzt halt immer noch global...

Gruss
IsNull
_________________
Tannenbäume stinken. Sehr poetisch. =)
AHK 2D GAME ENGINE
Ich hab mehr Abstürze als mein Computer Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
denick



Anmeldedatum: 15.09.2006
Beiträge: 1968
Wohnort: Berlin

BeitragVerfasst am: Di Mai 22, 2007 4:43 am    Titel: Antworten mit Zitat

Moin IsNull,

das habe ich wohl übersehen! Sad

Mit Static GUI_ID scheint das aber doch zu funtzen, probier mal. Und falls jemand den GFX-Stil nicht verwenden will, solltest Du dem Textfeld für den Titel auch noch ein gDragInfoBox spendieren, damit die Box auch dann bewegt werden kann.

Wie einst ein Berliner Bürgermeister sinngemäß sagte:
Ich lerne immer noch dazu, und das ist auch gut so! Very Happy

Ich habe fertig und kann mich erst ab Freitag wieder melden!
_________________
Hilfe zur Hilfe

(de)nick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
haichen
Gast





BeitragVerfasst am: Di Mai 22, 2007 11:21 am    Titel: Antworten mit Zitat

Code:

gui, 98:font, s9 fThaoma
Gui, 98:Add, Text,cblack x20 y10  +BackgroundTrans,         -::++%titel% Info++::-
gui, 98:font, s8 fThaoma


Neue Schrift? Very Happy
Nach oben
IsNull



Anmeldedatum: 20.12.2006
Beiträge: 1872
Wohnort: CH

BeitragVerfasst am: Di Mai 22, 2007 12:41 pm    Titel: Antworten mit Zitat

Embarassed

"Tahoma" werde das am Abend korrigieren. - evtl. auch gleich ganz entfernen, da das ja unnötig ist. So wird halt einfach die Standardschrift verwendet.

Gruss
IsNull
_________________
Tannenbäume stinken. Sehr poetisch. =)
AHK 2D GAME ENGINE
Ich hab mehr Abstürze als mein Computer Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
haichen



Anmeldedatum: 10.06.2007
Beiträge: 143

BeitragVerfasst am: Fr Sep 14, 2007 3:19 pm    Titel: Antworten mit Zitat

Ich hab dein schönes Skript jetzt nochmal ausprobiert und dabei ist mir aufgefallen, daß die Anzeigedauer in deinem Beispiel so nicht funktioniert.

Das auf den Infoboxbefehl nachfolgende Sleep wird sofort ausgeführt.
Wenn der Sleepbefehl kürzer als die showtime der Infobox ist wird auch die nächste Infobox sofort ausgeführt.

Für den Fall, daß die Infoboxen nur nacheinander gezeigt werden sollen (inklusive einer showtime), hab ich deinen Code etwas verändert:

Code:
InfoboxZ(titel, text, showtime=10000, gfx=""){

global kill_scvs_activeDisplay, DragInfoBox
static GUI_ID

IfWinExist, scvs_activeDisplay
{
  ;wait := DllCall("AnimateWindow","UInt",GUI_ID,"Int",1000,"UInt","0x90000") ;slide out
  loop{
     sleep 2000
     IfWinNotExist, scvs_activeDisplay
     {
        gui, 98:destroy
       break
      }
   }
}
...
...
...
  if showtime <> 0
  {
      SetTimer, kill_scvs_activeDisplay, %showtime%
      showtime += 2500
      sleep, %showtime%
  }

return 0


Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
IsNull



Anmeldedatum: 20.12.2006
Beiträge: 1872
Wohnort: CH

BeitragVerfasst am: Fr Sep 14, 2007 4:17 pm    Titel: Antworten mit Zitat

Danke für deine Verbesserung. Very Happy

Mir ist ebenfalls noch aufgefallen, dass wärend dem "Slide in" der Rest vom Skript eine Pause einlegt (ungewollter sleep -.-) Ich habe es aber noch nicht geschafft dies zu fixen.

Werde mir deine Änderungen mal ansehen und danach einbauen.

Ich habe bloss keine Zeit Rolling Eyes (bin bis SA Abend wieder voll ausgelastet -.-) *Du kannst sonst auch "deine" Version (ganzer Source) uppen, und ich werde sie als ver 1.5 Beta uppen* Wenn ich dann mal Zeit finde und den Sleep Bug gefunden (gefunden habe ich ihn schon, muss ihn blos noch irgendwie entfernen können^^) habe, werde ich dann die ver 1.5 Final uppen.

so far
IsNull




So far
IsNull
_________________
Tannenbäume stinken. Sehr poetisch. =)
AHK 2D GAME ENGINE
Ich hab mehr Abstürze als mein Computer Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Vollständige Skripte & Funktionen Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de