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 

Gui an anderes Gui heften?

 
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Ich brauche Hilfe!
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Rock'n'Goth Alien



Anmeldedatum: 15.02.2008
Beiträge: 14
Wohnort: Hannover

BeitragVerfasst am: Di Feb 26, 2008 10:06 am    Titel: Gui an anderes Gui heften? Antworten mit Zitat

Also ich habe 2 GUIs (Gui, 1 & Gui, 2). Das erste wird bei Programmstart gestartet, das zweite kann über einen Schalter aktiviert werden. Nun möchte ich aber auch das das zweite Gui am ersten "klebt".
Das heißt wenn ich das erste Gui verschiebe das andere mitgezogen wird. (Da ich das zweite Gui Optisch am ersten angepasst habe, dass es wie eine erweiterung des ersten Guis wirkt, allerdings mit seperaten Einblende Effekt)
Ist sowas Möglich?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
BoBo¨
Gast





BeitragVerfasst am: Di Feb 26, 2008 2:51 pm    Titel: Antworten mit Zitat

Ja. Nennt sich auch 'andocken'. Gabs mal was von dazu majkinator - leider hat (d)er gerade ein kleines Nationalproblem (Serbien vs Kosovo), fühlt sich unverstanden und von Faschisten/Rassisten verfolgt, und hat aus diesem Grund alle Tools zurückgezogen.

Gibt aber sicher was dazu zu finden. Good luck Cool
Nach oben
Lirave



Anmeldedatum: 02.10.2007
Beiträge: 173
Wohnort: Dresden

BeitragVerfasst am: Di Feb 26, 2008 3:19 pm    Titel: Antworten mit Zitat

würde mich interessieren, was am ende rauskommt

http://www.autohotkey.com/forum/topic25752.html&highlight=window+move
_________________
Gruß Lirave

Schaut doch mal auf meiner HP vorbei
http://rirobert.ri.funpic.de/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
denick



Anmeldedatum: 15.09.2006
Beiträge: 1230
Wohnort: Berlin

BeitragVerfasst am: Mi Feb 27, 2008 7:01 am    Titel: Antworten mit Zitat

Moin,

hier mal eine mögliche Alternative mit (zugegeben simplen) Einblendeffekt:
Code:
#NoEnv
SetWinDelay, 0

MO := "  Mehr Optionen"

Gui, +LastFound                              ; Macht die Gui zum LastFoundWindow
Gui, Margin, 20, 20                          ; Automatische Abstände
Gui, Add, Edit, w200, Edit1
Gui, Add, Checkbox, vCB1 gCBDropDown, % MO
Gui, Show, Hide                              ; Gui verborgen anzeigen
WinGetPos, , , , H1                          ; Erste Fensterhöhe holen
Gui, Add, Edit, vED2 w200 r5, Edit2          ; Noch ein Edit anhängen
Gui, Show, Hide AutoSize                     ; Gui verborgen anzeigen
GuiControl Hide, ED2                         ; Zweites Edit verbergen
WinGetPos, , , , H2                          ; Zweite Fensterhöhe holen
WinMove, , , , , , H1                        ; Gui auf erste Höhe setzen
Gui, Show, , DropDownFenster                 ; Gui anzeigen
HDiff := H2 - H1                             ; Höhendifferenz
Return

GuiClose:
GuiEscape:
ExitApp


CBDropDown:
; Gui sicherheitshalber zum LastFoundWindow machen
Gui, +LastFound
; Checkbox abfragen
GuiControlGet, CB1
; Wenn die Checkbox angehakt ist, Fenter vergrößern (1),
; sonst Fenster verkleinern (-1)
I := (CB1 ? 1 : -1)
; Wenn die Checkbox angehakt ist, Fenster vergrößern (Startwert = H1),
; sonst Fenster verkleinern (Startwert = H2)
H := (CB1 ? H1 : H2)
; Wenn das Fenster vergößert wird, zweites Edit anzeigen
If (I = 1) {
   GuiControl, Show, ED2
}
; Und los!
Loop {
   ; Wenn A_Index > Höhendifferenz, ist Schluss
   If (A_Index > HDiff) {
      Break
   }
   H += I
   WinMove, , , , , , H
}
; Wenn das Fenster verkleinert wurde, zweites Edit verbergen
If (I = -1) {
   GuiControl, Hide, ED2
}
Return

Das läuft auf halbwegs aktuellen Rechnern recht gut.

EDIT:

Hier noch etwas für die Freunde von Zweitfenstern:

Code:
#NoEnv
; SetBatchLines, -1
SetWinDelay, 0

WM_WINDOWPOSCHANGED := 0x47

Gui, 1:Margin, 20, 20
Gui, 1:Add, Edit, w200, Edit 1
Gui, 1:Add, Checkbox, vCB1 gCBGUI2, Weitere Optionen
Gui, 1:Show, , Angeklebt
Gui, 1:+LastFound
Gui1ID := WinExist()
Gui, 2:+Owner1 -Caption +0x400000   ; 0x400000 = mit normalem Rahmen
Gui, 2:Margin, 20, 20
Gui, 2:Add, Edit, w200 r5, Edit 2
Gui, 2:Show, Hide
Gui, 2:+LastFound
Gui2ID := WinExist()
Return

GuiClose:
GuiEscape:
ExitApp

CBGUI2:
GuiControlGet, CB1, 1:
If (CB1) {
   DetectHiddenWindows, On
   WinGetPos, X, Y, , H, ahk_id %Gui1ID%
   WinMove, ahk_id %Gui2ID%, , X, Y + H - 1
   Gui, 2:Show, NA
   OnMessage(WM_WINDOWPOSCHANGED, "Ankleben")
   DetectHiddenWindows, Off
} Else {
   Gui, 2:Hide
   OnMessage(WM_WINDOWPOSCHANGED, "")
}
Return

Ankleben() {
   Global Gui1ID
   Global Gui2ID
   If (A_Gui = 1) {
      WinGetPos, X, Y, , H, ahk_id %Gui1ID%
      WinMove, ahk_id %Gui2ID%, , X, Y + H - 1
   }
}

_________________
Hilfe zur Hilfe

(de)nick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Rock'n'Goth Alien



Anmeldedatum: 15.02.2008
Beiträge: 14
Wohnort: Hannover

BeitragVerfasst am: Do Feb 28, 2008 10:06 am    Titel: Antworten mit Zitat

Dankeschön, ist fast genau das was ich mir vorgestellt habe.
Hatte auch diesen Einblende Effekt im Sinn Smile
Nur das ich ihn über DllCall aufgerufen hatte:

Code:
      Gui, 2:Show, w267 h191 Hide
      Wait := DllCall("AnimateWindow","UInt",GUIID,"Int",250,"UInt",0x60004)


Bekommt man das zweite Fenster auch über dem ersten? Kriege ich leider nicht hin, erstellt es leider immer nur unter dem ersten...

Wie auf diesem Beispiel:


Edit: Falls es relevant sein sollte: Die Guis sind nur Bilder ohne Rahmen oder Caption


Zuletzt bearbeitet von Rock'n'Goth Alien am Do Feb 28, 2008 10:11 am, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
IsNull



Anmeldedatum: 20.12.2006
Beiträge: 1297
Wohnort: CH

BeitragVerfasst am: Do Feb 28, 2008 10:11 am    Titel: Antworten mit Zitat

Für was brauchst du das? Könnte man evtl. auch anders lösen...
_________________

http://securityvision.ch
www.forum.securityvision.ch
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Rock'n'Goth Alien



Anmeldedatum: 15.02.2008
Beiträge: 14
Wohnort: Hannover

BeitragVerfasst am: Do Feb 28, 2008 10:21 am    Titel: Antworten mit Zitat

Brauche das als Optisch ansprechendes Einstellungsmenü (Siehe Bild in meinem vorherigen Post) für mein erstes kleines Programm. Smile
Werde diese Möglichkeit der Einblendung auch später in anderen Programmen nutzen wollen.
(Wenn ich erfahrener bin, weitere Programme zu schreiben. Hab jetzt erstmal etwas kleines einfaches gewählt, was allerdings auch immer weiter wächst^^)
Veröffentliche es aber auch hier sobald ich damit fertig bin Wink
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 -> Ich brauche Hilfe! Alle Zeiten sind GMT
Seite 1 von 1

 
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