![]() |
Anzeige:
|
|
|||||||
| XProfan Alles rund um die Programmiersprache XProfan. |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
Ist öfter hier
![]() Registriert seit: 28.01.2010
Ort: bayerischer Untermain
Beiträge: 84
|
Gibts eigentlich ne Möglichkeit, eine simple Messagebox wie die Inputbox "@Inpu$" auf ne bestimmte Stelle am Schirm zu positionieren? Oder welche Ausgabeart nutzt ihr für diese Art von Abfragen?
__________________
--- Xprofan X2 auf nem ollen PIII mit Win 2000 |
|
|
|
|
|
|
#2 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Dialog erstellen und Edit rein. Input$ funktionierte zumindestens in meiner XProfan Version nicht korekt (kann zu einem Überlauf kommen).
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
#3 (Direktlink) | |
|
MoRoGeP-Träger 2011
![]() Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.878
|
@Martin
Das habe ich mir mal selbst "gebastelt" Zitat:
__________________
Gruss, horst Computer werden kleiner und kleiner, bald verschwinden sie völlig. (Ephraim Kishon 1924-2005) http://www.web-treffpunkt.de |
|
|
|
|
|
|
#4 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
|
Wie ich sehe benutzt du Profan X2 dann lies mal
Die Ressorcen zu den XProfan-Dialogen wurden "modernisiert Diese Dialoge können nun zwei zusätzliche Parameter zur Positionsbestimmung nutzen: text$ = input$([x%, y%,] Titel$, Text$, Vorgabe$) zeile$ = listbox$([x%, y%,] Titel$, Typ%) text$ = editbox$([x%, y%,] Titel$, Typ%) x% und y% sind jeweils die Bildschirmkoordinaten der linken oberen Ecke des jeweiligen Dialoges.
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai. http://dieterzornow.gmxhome.de |
|
|
|
|
|
#5 (Direktlink) |
|
MoRoGeP-Träger 2011
![]() Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.878
|
@Dieter
Du hast ja Recht. Macht aber viel mehr Spass, sowas selbst zu schreiben und den eigenem Geschmack unterzuordnen. Icon usw...
__________________
Gruss, horst Computer werden kleiner und kleiner, bald verschwinden sie völlig. (Ephraim Kishon 1924-2005) http://www.web-treffpunkt.de |
|
|
|
|
|
|
#6 (Direktlink) |
|
Ist öfter hier
![]() Registriert seit: 28.01.2010
Ort: bayerischer Untermain
Beiträge: 84
|
@Bangkok, das mit der Aktualisierung hab ich mitbekommen - ich hab glaub ich einfach meine Frage falsch gestellt:
ich wollte wissen, ob man diese Messagebox mit den diversen Buttons: "@MessageBox(S1,S2,N)" auch irgendwie an eine von mir gewünschte Stelle des Schirms ausgeben kann, so wie es mit der "input$([x%, y%,] Titel$, Text$, Vorgabe$)" auch funktioniert?
__________________
--- Xprofan X2 auf nem ollen PIII mit Win 2000 |
|
|
|
|
|
#7 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Hinter der Profan MessageBox steckt (soweit ich weiß) die Windows API MessageBox aus der User32.dll - und die bietet die Funktionalität der freien Positionierung nicht.
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
#8 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
|
Die Messagebox gehört nicht dazu. Da müsstest du mal probieren das Fensterhandle zu finden und mit setwindowpos zu ändern, ich weiß nicht ob das geht. Oder wie Horst selbst erstellen, dürfte einfacher sein.
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai. http://dieterzornow.gmxhome.de |
|
|
|
|
|
#9 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Das geht nur mit Multithreading. MessageBox wartet in einer Schleife "in der User32.dll" auf den Buttonklick.
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
#10 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Allerhöchstens ginge das über eine Subclassing Routine, da MessageBox intern die WindowProc aufruft, um Messages verarbeiten zu lassen.
Einfacher und übersichtlicher wäre es aber, einen frei positionierbaren Dialog selbst zu erstellen.
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
|
#11 (Direktlink) |
|
Ist öfter hier
![]() Registriert seit: 28.01.2010
Ort: bayerischer Untermain
Beiträge: 84
|
Dank in die Runde.
__________________
--- Xprofan X2 auf nem ollen PIII mit Win 2000 |
|
|
|
|
|
#12 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
|
mit XProfan X2 Multiprozessing könnte man das Handle finden, indem man vorher einen Prozess aufruft, wäre mir aber nur wegen der Position zu umständlich und zu aufwändig.
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai. http://dieterzornow.gmxhome.de |
|
|
|
|
|
#13 (Direktlink) | |
|
Stammuser
![]() Registriert seit: 08.02.2009
Ort: Bielefeld
Alter: 53
Beiträge: 428
|
Zitat:
Code:
$H Windows.ph
$H Messages.ph
Struct CWPSTRUCT = lParam&,wParam&,message&,hwnd&
Declare Hook&,X&,Y&
Proc SetHook
Parameters nCode&, wParam&, lParam&
Select nCode&
Caseof ~HC_ACTION
Var pw# = New(CWPSTRUCT)
pw# = lparam&
If pw#.message& = ~WM_INITDIALOG
~SetWindowPos(pw#.hwnd&,0,X&,Y&,0,0,~SWP_SHOWWINDOW | ~SWP_NOSIZE)
Endif
Dispose pw#
EndSelect
Return ~CallNextHookEx(Hook&, nCode&, wParam&, lParam&)
EndProc
Proc PRF_Messagebox
Set("Fastmode",1)
Parameters x&, Y&, body$, title$, flags&
Declare Result&
Flags& = Flags& | ~MB_ICONQUESTION
Hook& = ~SetWindowsHookEx(~WH_CALLWNDPROC, ProcAddr("SetHook",3), 0,~GetCurrentThreadId())
Result& = ~MessageBox(%hwnd,Addr(title$),Addr(body$), flags&)
Set("Fastmode",0)
~UnhookWindowsHookEx(Hook&)
Return Result&
EndProc
cls
Print PRF_Messagebox(100,200,"Titel","Frage : Wirklich löschen ? ",~MB_YESNO)
waitinput
end
__________________
Gruss Andreas ______________________ http://www.ampsoft.eu Profan 3.3 - XProfanX2 Windows 95,98,ME,2000,XP Vista - Windows 7 32 / 64 Bit ASUS X93S - Intel Core I7 - NVIDIA GForce GT540M - 8GB Arbeitsspeicher |
|
|
|
|
|
|
#14 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Geht nicht - stürzt zumindestens in XProfan9 ab.
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
#15 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Diese Zeile ist noch nicht abgearbeitet
Code:
Result& = ~MessageBox(%hwnd,Addr(title$),Addr(body$), flags&) Code:
Proc SetHook
Parameters nCode&, wParam&, lParam&
Select nCode&
Caseof ~HC_ACTION
Var pw# = New(CWPSTRUCT)
pw# = lparam&
If pw#.message& = ~WM_INITDIALOG
~SetWindowPos(pw#.hwnd&,0,X&,Y&,0,0,~SWP_SHOWWINDOW | ~SWP_NOSIZE)
Endif
Dispose pw#
EndSelect
Return ~CallNextHookEx(Hook&, nCode&, wParam&, lParam&)
EndProc
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Messagebox mit Option | Andreas Miethe | Spezielles | 7 | 27.12.2009 09:38 |
| MessageBox zur Begrüßung | Linda | Visual Basic, Visual Basic.NET | 4 | 24.10.2009 11:00 |
| Bei Anruf MessageBox? | danjal | C/C++, Visual C++, Visual C++.NET | 0 | 20.09.2005 13:56 |
| Sophos Pop Up Aktualisieren Fenster positionieren | Pitter | Software - Allgemein | 0 | 11.09.2005 14:02 |
| Icon aus MessageBox als Bitmap? | DerBeginner | C/C++, Visual C++, Visual C++.NET | 3 | 01.09.2005 12:00 |