disabled Checkbox

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

disabled Checkbox

Beitrag von Marcus Herz »

Hallo
Eine disabled checkbox ist defaultmäßig grau. Ich will die aber auch in Schwarz, damit man es besser sehen kann.
Ich bin mir fast sicher, jemand hat schon mal die Lösung aufgezeigt. Ich find die aber nicht mehr.
Hat mir jemand eine Tip?

Grüße
Marcus
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: disabled Checkbox

Beitrag von Martin Altmann »

Marcus,
ich nehme an, Du hast Dich an den Presentation Parametern schon versucht?

Viele Grüße,
Martin
:grommit:
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.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: disabled Checkbox

Beitrag von AUGE_OHR »

mit XBP_PP_DISABLED_BGCLR kann man zwar die Hintergrund Farbe setzen aber das wirkt nicht auch die "Box" wo man ein Häkchen setzt. diese "Box" kann man auch "so" nicht einfach vergrössern und ist bei höher Auflösung kaum zu treffen.

---

nun ist eine Checkbox ein Button :!:

wie ich in meinem Vortrag 2016 gezeigt habe kann man daraus einen "gedrückten Button" machen (PushLike)

Code: Alles auswählen

PROCEDURE PimpMyXb(oObj,lRound)
LOCAL hWnd
LOCAL nStyle

DEFAULT lRound TO .T.

   IF VALTYPE(oObj) = "O"
      hWnd   := oObj:GetHWnd()
      oObj:hide()
      oObj:useVisualStyle := .F.

      nStyle := @user32:GetWindowLongA(hWnd, GWL_STYLE)
      nStyle := nOr(nStyle, BS_PUSHLIKE,BS_CENTER,BS_VCENTER)
      @user32:SetWindowLongA(hWnd , GWL_STYLE , nStyle )
      @user32:InvalidateRect(hWnd,1)

      IF lRound
         MachKreise(oObj)
      ENDIF

      oObj:show()
   ENDIF
RETURN
man sieht ist hier oObj:useVisualStyle := .F. da ich ein rundes Bitmap vorgeführt habe.

während XbpPushButton() ein o:Draw besitzt hat Alaska das für XbpCheckBox() nicht vorgesehen. #-o

die DXE_BUTTON CLASS hat nun die Ownerdraw Fähigkeit inklusive visual Style mit eigenen Image.
Hover = gelb
Pressed = Rot
Normal = grün
DXE_PushLike.jpg
DXE_PushLike.jpg (7.82 KiB) 8753 mal betrachtet
gruss by OHR
Jimmy
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: disabled Checkbox

Beitrag von Werner_Bayern »

Dafür gibt's ein Asset: Toggle Button Control.
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: disabled Checkbox

Beitrag von Marcus Herz »

Hallo
Danke für die Tips. Aber es hat mal jemand auf einem Vortrag einen API Call gezeigt, der diese Einstellung an der Checkbox vornimmt. Das wird mir reichen. Scheint sich keiner dran zu erinnern.
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: disabled Checkbox

Beitrag von Herbert »

Lass die Box aktiv.
Setze diese einzig auf nicht editierbar, also dispaly only. So sollte diese nicht grayed gesetzt werden.

Warum der Bediener dann wissen soll, dass diese trotz aktiver Sichtbarkeit nicht geht, ist mir nicht ganz klar.
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: disabled Checkbox

Beitrag von Tom »

Wenn eine Checkbox normal angezeigt werden soll, aber nicht für Eingaben zur Verfügung steht, kann man das auch im Datalink oder entsprechend in einer abgeleiteten Klasse standardmäßig abfangen. Der Inhalt wird dann einfach nicht getoggelt.
Herzlich,
Tom
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: disabled Checkbox

Beitrag von AUGE_OHR »

Hi,
Marcus Herz hat geschrieben: Do, 18. Jul 2019 15:15 Danke für die Tips. Aber es hat mal jemand auf einem Vortrag einen API Call gezeigt, der diese Einstellung an der Checkbox vornimmt. Das wird mir reichen. Scheint sich keiner dran zu erinnern.
es geht doch um das kleine Kästchen wo man einen Harken setzten kann. Das ist visual Style.
nun kann man über StyleClass / StylePart auch was "anders" verwenden wo disable die gewünschte "Farbe" hat ...
gruss by OHR
Jimmy
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: disabled Checkbox

Beitrag von Marcus Herz »

nStyle := @user32:GetWindowLongA(::hButton, GWL_STYLE)
nStyle := nOr(nStyle, BS_PUSHLIKE,BS_CENTER,BS_VCENTER)
@user32:SetWindowLongA(::hButton , GWL_STYLE , nStyle )

war was ich gesucht habe.
Jimmys Vortrag PimpMyXbase von 2016, das hab ich aber in der 1. Antwort von Jimmy übersehen oder nicht mehr erkannt.
Manchmal liegt das Ergebnis vor den Augen, nur man erkennt es nicht....
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Antworten