Xclass dsdialog-maximieren- und Minimieren-Button ausblenden
Moderator: Moderatoren
-
- Rekursionen-Architekt
- Beiträge: 417
- Registriert: Mo, 17. Sep 2007 18:20
- Wohnort: Senftenberg
- Kontaktdaten:
Xclass dsdialog-maximieren- und Minimieren-Button ausblenden
Kann man beim dsdialog die Buttons für Maximieren und Minimieren ausblenden lassen? Unter Xbase kann man ja einfach mit :min- oder :maxbutton:=.F. die Buttons ausblenden. Geht das beim dsdialog überhaupt und ja wie?
-
- Rekursionen-Architekt
- Beiträge: 417
- Registriert: Mo, 17. Sep 2007 18:20
- Wohnort: Senftenberg
- Kontaktdaten:
In dem Fall nicht. Der dsdialog ist eine komplette Neuentwicklung, welche nur wenige Eigenschaften des alten xbpdialoges enthält.brandelh hat geschrieben:Hi,
ist XClass nicht eine Erweiterung der XbpXXXX Klasse ?
Wenn ja, dann müsste es genauso gehen.
Du denkst dran, dass man diese Einstellung vor Create() vornehmen muss bzw. danach dann noch ein configure() nötig ist ?
-
- Rekursionen-Architekt
- Beiträge: 417
- Registriert: Mo, 17. Sep 2007 18:20
- Wohnort: Senftenberg
- Kontaktdaten:
Wenn man min und maxbutton nach dem create aufruft und dann configure laufen lässt, gehts. Gibt es eigentlich ne Möglichkeit, die Größenänderung komplett zu verbieten?stevie hat geschrieben:In dem Fall nicht. Der dsdialog ist eine komplette Neuentwicklung, welche nur wenige Eigenschaften des alten xbpdialoges enthält.brandelh hat geschrieben:Hi,
ist XClass nicht eine Erweiterung der XbpXXXX Klasse ?
Wenn ja, dann müsste es genauso gehen.
Du denkst dran, dass man diese Einstellung vor Create() vornehmen muss bzw. danach dann noch ein configure() nötig ist ?
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Stevie,
schau Dir mal die Rahmentypen (:border) an. Da gibt es einen, mit dem man die Größenänderung bei einem Fenster verbieten kann.
z.B.:
XBPDLG_DLGBORDER
XBPDLG_RAISEDBORDERTHICK_FIXED
XBPDLG_RECESSEDBORDERTHICK_FIXED
Viele Grüße,
Martin
schau Dir mal die Rahmentypen (:border) an. Da gibt es einen, mit dem man die Größenänderung bei einem Fenster verbieten kann.
z.B.:
XBPDLG_DLGBORDER
XBPDLG_RAISEDBORDERTHICK_FIXED
XBPDLG_RECESSEDBORDERTHICK_FIXED
Viele Grüße,
Martin
![grommit :grommit:](./images/smilies/grommit.gif)
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
-
- Rekursionen-Architekt
- Beiträge: 417
- Registriert: Mo, 17. Sep 2007 18:20
- Wohnort: Senftenberg
- Kontaktdaten:
Um die Minimieren und Maximieren-Buttons zu entfernen und die Größe zu fixieren , musste ich das jetz so machen:Lewi hat geschrieben:Hallo Stevie,
die dsDialog-Klasse hat "dsBaseDialog" als Superklasse. DsBaseDialog selbst ist unter anderem von xbpDialog abgeleitet. Insofern kannst Du die Slots für ::MinButton und ::MaxButton setzen.
Gruß, Olaf
oDlg:border:=XBPDLG_RAISEDBORDERTHICK_FIXED
oDlg:Create()
oDlg:minbutton:=.F.
oDlg:maxbutton:=.F.
oDlg:configure(GetApp():DrawingArea, , {40,70}, getapp():drawingArea:currentsize())
danke für die Antworten
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
eigentlich sollte das so reichen, kann es sein, dass du in der Create-Methode die Buttons auf .t. setzt ?
Code: Alles auswählen
oDlg:border:=XBPDLG_RAISEDBORDERTHICK_FIXED
oDlg:minbutton:=.F.
oDlg:maxbutton:=.F.
oDlg:Create()
Gruß
Hubert
Hubert
-
- Rekursionen-Architekt
- Beiträge: 417
- Registriert: Mo, 17. Sep 2007 18:20
- Wohnort: Senftenberg
- Kontaktdaten:
nein, ich habe nur obiges stehen, wenn ich das so wie bei dir angebe, wird zwar die memvar zugewiesen, aber erst durch configure dann benutztbrandelh hat geschrieben:eigentlich sollte das so reichen, kann es sein, dass du in der Create-Methode die Buttons auf .t. setzt ?
Code: Alles auswählen
oDlg:border:=XBPDLG_RAISEDBORDERTHICK_FIXED oDlg:minbutton:=.F. oDlg:maxbutton:=.F. oDlg:Create()
- AUGE_OHR
- Marvin
- Beiträge: 12907
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
hi,
eigendlich ist euer Problem ja gelöst. Hier noch eine Lösung über API
von Phil die man auch für andere Zwecke einsetzten kann:
gruss by OHR
Jimmy
eigendlich ist euer Problem ja gelöst. Hier noch eine Lösung über API
von Phil die man auch für andere Zwecke einsetzten kann:
Code: Alles auswählen
/*****************************
* Source : WindowFuncs.prg
* System : <unkown>
* Author : Phil Ide
* Created: 10/09/2003
*
* Purpose:
* ----------------------------
* History:
* ----------------------------
* 10/09/2003 14:17 PPI - Created
*****************************/
#include "Common.ch"
#include "dll.ch"
#include "winuser.ch"
/* Toggle window properties
Example:
A. To turn off (disable) the Maximise button:
SetWindowPropertyOff( oDlg, WS_MAXIMIZEBOX )
B. To turn off (disable) the Minimise button:
SetWindowPropertyOff( oDlg, WS_MINIMIZEBOX )
C. To turn off the max and min buttons:
SetWindowPropertyOff( oDlg, WS_MAXIMIZEBOX+WS_MINIMIZEBOX )
Notes:
Sample A only disables the maximise button.
Sample B only disables the minimise button.
Sample C actually removes the minimise and maximise buttons.
The inference here is that one cannot exist without the other.
*/
Function SetWindowPropertyOff( oWin, nProperties, lOnOff )
local nPtr
local i
DEFAULT lOnOff to FALSE // toggle=off
nPtr := GetWindowLongA( oWin:getHWnd(), GWL_STYLE )
for i := 1 to 32
if nProperties[i]
nPtr[i] := lOnOff
endif
next
SetWindowLongA( oWin:getHWnd(), GWL_STYLE, nPtr )
return Nil
DLLFUNCTION GetWindowLongA( nHwnd, nStyle ) USING STDCALL FROM User32.dll
DLLFUNCTION SetWindowLongA( nHwnd, nStyle, nPtr ) USING STDCALL FROM User32.dll
#ifndef __WINUSER_
#define __WINUSER_
/*
* Window field offsets for GetWindowLong()
*/
#define GWL_WNDPROC (-4)
#define GWL_HINSTANCE (-6)
#define GWL_HWNDPARENT (-8)
#define GWL_STYLE (-16)
#define GWL_EXSTYLE (-20)
#define GWL_USERDATA (-21)
#define GWL_ID (-12)
/*
* Window Styles
*/
#define WS_OVERLAPPED 0x00000000
#define WS_POPUP 0x80000000
#define WS_CHILD 0x40000000
#define WS_MINIMIZE 0x20000000
#define WS_VISIBLE 0x10000000
#define WS_DISABLED 0x08000000
#define WS_CLIPSIBLINGS 0x04000000
#define WS_CLIPCHILDREN 0x02000000
#define WS_MAXIMIZE 0x01000000
#define WS_CAPTION 0x00C00000 /* WS_BORDER | WS_DLGFRAME */
#define WS_BORDER 0x00800000
#define WS_DLGFRAME 0x00400000
#define WS_VSCROLL 0x00200000
#define WS_HSCROLL 0x00100000
#define WS_SYSMENU 0x00080000
#define WS_THICKFRAME 0x00040000
#define WS_GROUP 0x00020000
#define WS_TABSTOP 0x00010000
#define WS_MINIMIZEBOX 0x00020000
#define WS_MAXIMIZEBOX 0x00010000
#endif
Jimmy