Benutzer mit den meisten Antworten
Größe der Kontrollkästchen ändern

Frage
-
Ich wusste, dass doch noch etwas kommt, bezüglich dem "Resizing"Wie bei meinem letzten Thread geschrieben funktioniert soweit alles, aber ...
... bei Vergrößerung der Fenster werden leider die Kontrollkästchen selbst (nicht die Schrift) nicht mit angepasst. Bei extremer Vergrößerung ist ein darin gesetztes Häkchen fast nicht zu erkennen.
Kann man da auch eingreifen? Bei den Eigenschaften von "mwresize" habe ich keine Einstellung dazu gefunden. Oder übersehen?
Ich weiß, ich nerve. Aber vielleicht kann ich das irgendwie wieder gut machen ;-)
Gruß Jürgen
<--------(nur Fliegen sind schöner!)-------->
Dienstag, 14. Juni 2016 09:38
Antworten
-
Nun ja, was links herum nicht funktioniert klappt ja u.U. rechts herum ;)
Hier mal ein Beispiel für einen Checkbox Ersatz ( Baue das einfach als kleine Klassenbibliothek und pack den Container auf eine mit mwresize bestückte Form).
DEFINE CLASS checkboxcontainer AS container Width = 131 Height = 41 BorderWidth = 0 caption = "" value = 0 Name = "checkboxcontainer" ADD OBJECT shpcheckbox AS shape WITH ; Top = 2, ; Left = 0, ; Height = 14, ; Width = 14, ; BackColor = RGB(255,255,255), ; Name = "shpCheckbox" ADD OBJECT lblcheckbox AS label WITH ; BackStyle = 0, ; Caption = "Shape basierend", ; Height = 17, ; Left = 16, ; Top = 1, ; Width = 114, ; Name = "lblCheckbox" ADD OBJECT lblcheckboximg AS label WITH ; BackStyle = 0, ; Caption = "Image basierend", ; Height = 17, ; Left = 16, ; Top = 25, ; Width = 114, ; Name = "lblCheckboxImg" ADD OBJECT imgcheckbox AS image WITH ; Picture = "EIN LEERES CHECKBOX BMP", ; Stretch = 1, ; BackStyle = 0, ; Height = 19, ; Left = -1, ; Top = 24, ; Width = 19, ; Name = "imgCheckbox" PROCEDURE value_assign LPARAMETERS vNewVal This.Value = m.vNewVal This.shpCheckbox.BackColor = IIF( This.Value = 0 , RGB( 255 , 255 , 255 ) , RGB( 0 , 0 , 0 ) ) This.imgCheckbox.Picture = IIF( This.Value = 0 , [EIN LEERES CHECKBOX BMP] , [EIN ANGEHAKTES CHECKBOX BMP] ) ENDPROC PROCEDURE Click This.Value = IIF( This.Value = 0 , 1 , 0 ) ENDPROC PROCEDURE shpcheckbox.Click This.Parent.Click ENDPROC PROCEDURE lblcheckbox.Click This.Parent.Click ENDPROC PROCEDURE lblcheckboximg.Click This.Parent.Click ENDPROC PROCEDURE imgcheckbox.Click This.Parent.Click ENDPROC ENDDEFINE
Zum Test benötigst Du allerdings 2 kleine Bitmaps. Eines für eine nicht aktivierte Checkbox und eines mit einer aktivierten Checkbox. Aber sowas findet man ja recht schnell über gOOgle ;)
Gruss / Best regards
-Tom
Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible,
you are, by definition, not smart enough to debug it. 010101100100011001010000011110000101001001101111011000110110101101110011- Als Antwort markiert Flugkapitän-Jürgen (a. D.) Samstag, 23. Juli 2016 09:14
Mittwoch, 15. Juni 2016 13:12 -
Naja, wenn Du manuell nichts ändern kannst...
Das Kästchen der Checkbox und der Kreis der Option sind Standardgröße, also bleibt Dir nur ein selbst definiertes Control. Wenn man das schon angeht, dann vielleicht basierend auf der Basisklasse Control.
Tschüß, Olaf.
Olaf Doschke - TMN Systemberatung GmbH
http://www.tmn-systemberatung.de
- Bearbeitet Olaf Doschke Donnerstag, 16. Juni 2016 05:16
- Als Antwort markiert Flugkapitän-Jürgen (a. D.) Samstag, 23. Juli 2016 09:14
Donnerstag, 16. Juni 2016 05:16
Alle Antworten
-
Hi Jürgen,
das ist nicht möglich. Aber es gibt eine alternative Darstellung der Checkbox.
Wenn Du die Eigenschaft.Style = 0 - Standard auf .Style = 1 - Graphical setzt, dann wird die Checkbox als Button angezeigt der entweder eingedrückt oder hervorgehoben dargestellt wird.
Dieser Checkboxbutton sollte wiederum ordnungsgemäß über mwresize vergrößert bzw. verkleinert darstellbar sein.
HTH
Gruss / Best regards
-Tom
Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible,
you are, by definition, not smart enough to debug it. 010101100100011001010000011110000101001001101111011000110110101101110011Mittwoch, 15. Juni 2016 09:59 -
Hi Tom,
schade, dass das nicht möglich ist. Das mit dem Style = 1 ist schon fein, aber nicht für alles geeignet.
Dann geht es vermutlich mit den Optionsfeldern auch nicht. Egal. Nicht ganz so schlimm.
Was mir aber auch noch Interessantes aufgefallen ist: Wenn man links neben einem Textfeld eine Bezeichnung stehen hat (z. B. Stückzahl: ) und diese auf Text.Alignment = Left(Default) stehen lässt, dann verändert sich der Abstand zwischen Bezeichnungstext und Textfeld beim Resizen überproportional. D. h. hier muss auf Text.Alignment = 1 - Right umgestellt werden.
So langsam nimmt aber meine Arbeit das Aussehen an, wie ich es mir wünsche. Natürlich auch Dank Eurer Hilfen.
Grüße
Jürgen
<--------(nur Fliegen sind schöner!)-------->
Mittwoch, 15. Juni 2016 10:29 -
Nun ja, was links herum nicht funktioniert klappt ja u.U. rechts herum ;)
Hier mal ein Beispiel für einen Checkbox Ersatz ( Baue das einfach als kleine Klassenbibliothek und pack den Container auf eine mit mwresize bestückte Form).
DEFINE CLASS checkboxcontainer AS container Width = 131 Height = 41 BorderWidth = 0 caption = "" value = 0 Name = "checkboxcontainer" ADD OBJECT shpcheckbox AS shape WITH ; Top = 2, ; Left = 0, ; Height = 14, ; Width = 14, ; BackColor = RGB(255,255,255), ; Name = "shpCheckbox" ADD OBJECT lblcheckbox AS label WITH ; BackStyle = 0, ; Caption = "Shape basierend", ; Height = 17, ; Left = 16, ; Top = 1, ; Width = 114, ; Name = "lblCheckbox" ADD OBJECT lblcheckboximg AS label WITH ; BackStyle = 0, ; Caption = "Image basierend", ; Height = 17, ; Left = 16, ; Top = 25, ; Width = 114, ; Name = "lblCheckboxImg" ADD OBJECT imgcheckbox AS image WITH ; Picture = "EIN LEERES CHECKBOX BMP", ; Stretch = 1, ; BackStyle = 0, ; Height = 19, ; Left = -1, ; Top = 24, ; Width = 19, ; Name = "imgCheckbox" PROCEDURE value_assign LPARAMETERS vNewVal This.Value = m.vNewVal This.shpCheckbox.BackColor = IIF( This.Value = 0 , RGB( 255 , 255 , 255 ) , RGB( 0 , 0 , 0 ) ) This.imgCheckbox.Picture = IIF( This.Value = 0 , [EIN LEERES CHECKBOX BMP] , [EIN ANGEHAKTES CHECKBOX BMP] ) ENDPROC PROCEDURE Click This.Value = IIF( This.Value = 0 , 1 , 0 ) ENDPROC PROCEDURE shpcheckbox.Click This.Parent.Click ENDPROC PROCEDURE lblcheckbox.Click This.Parent.Click ENDPROC PROCEDURE lblcheckboximg.Click This.Parent.Click ENDPROC PROCEDURE imgcheckbox.Click This.Parent.Click ENDPROC ENDDEFINE
Zum Test benötigst Du allerdings 2 kleine Bitmaps. Eines für eine nicht aktivierte Checkbox und eines mit einer aktivierten Checkbox. Aber sowas findet man ja recht schnell über gOOgle ;)
Gruss / Best regards
-Tom
Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible,
you are, by definition, not smart enough to debug it. 010101100100011001010000011110000101001001101111011000110110101101110011- Als Antwort markiert Flugkapitän-Jürgen (a. D.) Samstag, 23. Juli 2016 09:14
Mittwoch, 15. Juni 2016 13:12 -
Naja, wenn Du manuell nichts ändern kannst...
Das Kästchen der Checkbox und der Kreis der Option sind Standardgröße, also bleibt Dir nur ein selbst definiertes Control. Wenn man das schon angeht, dann vielleicht basierend auf der Basisklasse Control.
Tschüß, Olaf.
Olaf Doschke - TMN Systemberatung GmbH
http://www.tmn-systemberatung.de
- Bearbeitet Olaf Doschke Donnerstag, 16. Juni 2016 05:16
- Als Antwort markiert Flugkapitän-Jürgen (a. D.) Samstag, 23. Juli 2016 09:14
Donnerstag, 16. Juni 2016 05:16