disabled Checkbox

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
Benutzeravatar
Marcus Herz
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 25
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Kontaktdaten:

disabled Checkbox

Beitrag von Marcus Herz » Do, 04. Jul 2019 10:22

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

Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 15036
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Kontaktdaten:

Re: disabled Checkbox

Beitrag von Martin Altmann » Do, 04. Jul 2019 10:36

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
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12093
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: disabled Checkbox

Beitrag von AUGE_OHR » Do, 04. Jul 2019 11:56

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) 2382 mal betrachtet
gruss by OHR
Jimmy

Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1693
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern

Re: disabled Checkbox

Beitrag von Werner_Bayern » Do, 04. Jul 2019 13:19

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

Werner

Benutzeravatar
Marcus Herz
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 25
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Kontaktdaten:

Re: disabled Checkbox

Beitrag von Marcus Herz » Do, 18. Jul 2019 15:15

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.

Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1940
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Kontaktdaten:

Re: disabled Checkbox

Beitrag von Herbert » Fr, 19. Jul 2019 7:58

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: 7725
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Kontaktdaten:

Re: disabled Checkbox

Beitrag von Tom » Fr, 19. Jul 2019 10:27

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: 12093
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: disabled Checkbox

Beitrag von AUGE_OHR » Mo, 22. Jul 2019 19:47

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
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 25
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Kontaktdaten:

Re: disabled Checkbox

Beitrag von Marcus Herz » Mo, 12. Aug 2019 11:30

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....

Antworten