Verfasst: 01.04.2006 10:28
Statt 1 kannst du natürlich auch wieder eine hohe Zahl einsetzen.
Ich weis jetzt nicht, ob #PB_Any mit Shortcuts funktioniert.
Ich weis jetzt nicht, ob #PB_Any mit Shortcuts funktioniert.
JaScarabol hat geschrieben:Könntet ihr meine Fragen nicht direkt mit Nein/Ja beantworten?
hier hat Macros nicht ganz unrecht; fenster und gadgets mit derselben ID überschreiben sich, den fehler habe ich auch schn gemacht.Macros hat geschrieben:Und dem Fenster eine Numer wie z.B. 997 geben,
sonst "überschreibt" es eventuell ein vorher geöffnetes Fenster, genauso bei den Gadgets, hohe Zahlen vergeben.
Auch den Shortcut nicht vergessen. (Der übrigens durchaus Sinn hat)
So so, wenn ich es nicht dynamisch benötige, fange ich meine Fenster mit 0AND51 hat geschrieben: hier hat Macros nicht ganz unrecht; fenster und gadgets mit derselben ID überschreiben sich, den fehler habe ich auch schn gemacht.
Code: Alles auswählen
Procedure$ PasswordRequester(Title$, Text$)
WindowID = OpenWindow(#PB_Any, 1, 1, 294, 98, #PB_Window_ScreenCentered, Title$)
If WindowID
MenuID = 1
AddKeyboardShortcut(WindowID, #PB_Shortcut_Return, 1)
CreateGadgetList(WindowID(WindowID))
TextGadget = TextGadget(#PB_Any, 10, 10, 280, 20, Text$)
StringGadget = StringGadget(#PB_Any, 10, 32, 274, 21, "", #PB_String_Password)
ActivateGadget(StringGadget)
ButtonGadget = ButtonGadget(#PB_Any, 107, 68, 80, 25, "Ok", #PB_Text_Center)
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
If EventGadgetID() = ButtonGadget
Break
EndIf
ElseIf EventID = #PB_Event_Menu
If EventMenuID() = MenuID
Break
EndIf
EndIf
ForEver
RemoveKeyboardShortcut(WindowID, MenuID)
Password$ = GetGadgetText(StringGadget)
CloseWindow(WindowID)
ProcedureReturn Password$
EndIf
EndProcedure
pass$ = PasswordRequester("Test", "Bitte geben sie ihr Passwort ein:")
If pass$ <> ""
MessageRequester("Info", pass$)
EndIf
Code: Alles auswählen
Procedure$ PasswordRequester(Title$, Text$)
WindowID = OpenWindow(#PB_Any, 1, 1, 294, 98, Title$, #PB_Window_ScreenCentered)
If WindowID
MenuID = 1
AddKeyboardShortcut(WindowID, #PB_Shortcut_Return, 1)
CreateGadgetList(WindowID(WindowID))
TextGadget = TextGadget(#PB_Any, 10, 10, 280, 20, Text$)
StringGadget = StringGadget(#PB_Any, 10, 32, 274, 21, "", #PB_String_Password)
SetActiveGadget(StringGadget)
ButtonGadget = ButtonGadget(#PB_Any, 107, 68, 80, 25, "Ok", #PB_Text_Center)
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
If EventGadget() = ButtonGadget
Break
EndIf
ElseIf EventID = #PB_Event_Menu
If EventMenu() = MenuID
Break
EndIf
EndIf
ForEver
RemoveKeyboardShortcut(WindowID, MenuID)
Password$ = GetGadgetText(StringGadget)
CloseWindow(WindowID)
ProcedureReturn Password$
EndIf
EndProcedure
pass$ = PasswordRequester("Test", "Bitte geben sie ihr Passwort ein:")
If pass$ <> ""
MessageRequester("Info", pass$)
EndIf