Checkbox Kästchengröße

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
LuZiF3R
Beiträge: 18
Registriert: 22.03.2012 16:24

Checkbox Kästchengröße

Beitrag von LuZiF3R »

Hallo,

ich wollte wissen ob es irgendwie möglich ist, das Kästchen einer Checkbox zu vergrößern.
Bisher konnte ich nix finden, weder hier als auch im englischen Forum.

mfG LuZiF3R
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Checkbox Kästchengröße

Beitrag von RSBasic »

Ich wüsste leider nicht, wie man sowas machen kann. Vielleicht gibt es eine Möglichkeit, ein Gadget zu skalieren, aber ansonsten keine Ahnung.
Am besten nutzt du CanvasGadget und entwickelst deine eigene CheckBox, die du vergrößern kannst.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
LuZiF3R
Beiträge: 18
Registriert: 22.03.2012 16:24

Re: Checkbox Kästchengröße

Beitrag von LuZiF3R »

wird wohl das "einfachste" sein ^^, trotzdem danke
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Re: Checkbox Kästchengröße

Beitrag von edel »

Recht knapp, nur fuer Windows und ohne Theme.

Code: Alles auswählen

Procedure OwnCheckBoxDraw(gadget, state)
  Protected rc.rect
  
  SetRect_(@rc, 0, 0, GadgetWidth(gadget), GadgetHeight(gadget))
  
  hdc = StartDrawing(CanvasOutput(gadget))  
  
  If state
    DrawFrameControl_(hdc, @rc, #DFC_BUTTON, #DFCS_BUTTONCHECK | #DFCS_CHECKED)
  Else
    DrawFrameControl_(hdc, @rc, #DFC_BUTTON, #DFCS_BUTTONCHECK)
  EndIf
  
  StopDrawing()
  
EndProcedure

Procedure OwnCheckBoxClick()
  
  Protected gadget 
  Protected state
  Protected hdc

  gadget = EventGadget()
  state = GetGadgetData(gadget)
  
  state ! 1
  
  OwnCheckBoxDraw(gadget, state)  
  
  SetGadgetData(gadget, state)
  
EndProcedure

Procedure OwnCheckBox(id, x, y, cx, cy, flag = 0)
  
  Protected gadget 
  Protected hdc 
  
  gadget = CanvasGadget(id, x, y, cx, cy, flag)  
  
  If Not id = #PB_Any
    gadget = id
  EndIf
  
  BindGadgetEvent(gadget, @OwnCheckBoxClick(), #PB_EventType_LeftClick)
  
  OwnCheckBoxDraw(gadget, 0)
  
EndProcedure

Procedure Main()
  
  Protected Window
  Protected Event
  
  OpenWindow(#PB_Any, #PB_Ignore, #PB_Ignore, 70, 250, "Test")
  
  OwnCheckBox(#PB_Any, 10, 10, 40, 40)
  OwnCheckBox(#PB_Any, 10, 60, 40, 40)
  OwnCheckBox(#PB_Any, 10, 110, 40, 40)
  OwnCheckBox(#PB_Any, 10, 160, 40, 40)
  
  Repeat
    event = WaitWindowEvent()
  Until event = #PB_Event_CloseWindow
  
EndProcedure:Main()
Antworten