Autor | Thema: Feste position von Dialoge | | Datum:13.10.02 14:12 
(cityelectronica@netcabo.pt) | |
Hallo
Ist es möglich eienen Dialog eine
feste positionierung zu geben,
also den Dialog nicht mit der
Maus in der Position auf den
Hauptfenster verschieben zu können?
Danke für jeden Hinweis
Fernando Santos
|
| | Datum:13.10.02 14:47 
(martin_pohl@msn.com) | |
Hallo, Fernando!
Das geht mit Dialogen meiner Meinung nach nicht. Aber mit Fenstern müsste das möglich sein.
Gruß, Martin Pohl
http://www.baco.4u.gs
|
| | Datum:13.10.02 15:12 
(joerse@gmx.de) | |
Hallo Fernando,
Wenn Du den Dialog nur zur Anzeige brauchst kannst Du es so machen:
Cls
Declare dlg&
dlg&=CreateDialog(%hwnd,"Ich bin unverschiebbar",10,10,200,100)
EnableWindow dlg&,0
WaitInput
Allerdings sind dann keine Eingaben über Buttons oder sonstwas möglich.
Gruß
Jörg
|
| | Datum:13.10.02 15:15 
| |
Hallo,
das müßte mit SetWindowLong() möglich sein.
Die ProSpeed.dll beitet erweiterte Möglichkeiten hierzu an, AddWindowStyle() / SubWindowStyle(), um es dem User einfacher zu machen.
Gruß, Frank
|
| | Datum:13.10.02 15:14 
(martin_pohl@msn.com) | |
Oder du versuchst es mit API, wenn das geht. Dann machst du das mit @SendMessage()
|
| | Datum:13.10.02 15:16 
(info@web-treffpunkt.de) | |
Hallo Fernando
Hier eine Vorlage von Thomas Hölzer, der Deine Frage beantwortet
gruss horst
-------------------------------------------------------
' PRFellow-Vorlage
' Autor: Thomas Hölzer
' Ein Dialogfenster unbeweglich machen (ab Profan 5.0 - 32)
' Parameter: Handle des Dialogfensters
' Die Prozedur sollte nicht auf andere Fenstertypen/Controls
' angewendet werden!
Def GetWindowLong(2) !"USER32", "GetWindowLongA"
Def SetWindowLong(3) !"USER32", "SetWindowLongA"
Proc FixDialog
Parameters hd&
SetWindowLong(hd&,-16,Sub(GetWindowLong(hd&,-16),$0C80000))
'SetStyle hd&,Sub(GetStyle(hd&),$0C80000) ' ab Profan 6.5 auch ohne API
ShowWindow(hd&,0)
ShowWindow(hd&,1) ' Erzwingt Aktualisierung (auch MoveWindow,SetWindowPos möglich)
EndProc
' Beispiel
''Declare hdlg&,endebutton%,ende%
''Cls
''UseFont "MS Sans Serif",13,0,0,0,0
''SetDialogFont 1
''Let hdlg&=CreateDialog(%hwnd,"Unbeweglicher Dialog",50,114,498,408)
''Let endebutton%=CreateButton(hdlg&,"&Ende",200,180,60,23)
''FixDialog hdlg&
''
''WhileNot ende%
'' WaitInput
'' Case Getfocus(endebutton%): Let ende%=1
''Wend
|
| | Datum:13.10.02 15:55 
(joerse@gmx.de) | |
Hallo,
Und hier nochmal das Gleiche in Grün:
Cls
Declare dlg&,button&
dlg&=Control("STATIC","",$54CC0100,10,10,200,140,%hwnd,0,%hinstance)
button&=CreateButton(dlg&,"Zurück",10,10,60,24)
While 1
WaitInput
If GetFocus(button&)
DestroyWindow(dlg&)
EndIf
Wend
Ab Profan 6.6 oder so lauffähig. Du siehst es macht immer Sinn die Profanversion anzugeben.
Gruß
Jörg
|
| |
|