Allgemeine Fragen zur PROFAN Programmierung

Views (Heute): 252034 (13470)

| Suchen
| Zurück zur Übersicht

Autor | Thema: Feste position von Dialoge
Fernando Santos
| 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
Martin Pohl
| 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
Jörg Sellmeyer
| 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
Frank Abbing
| 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
Martin Pohl
| 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()
Horst Horn
| 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
Jörg Sellmeyer
| 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
Fernando Santos
| Datum: 13.10.02 17:28 (cityelectronica@netcabo.pt) |
Danke Horst Funktioniert sehr gut Grüsse Fernando Santos

| Zurück zur Übersicht