Checkget

Moderator: Moderatoren

Antworten
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Checkget

Beitrag von Koverhage »

Hallo,

ich setze über DCGETOPTIONS CHECKGET, damit es wenigstens ein wenig wie Windows aussieht.
Habe allerdings das Problem, das dies Feld nicht automatisch den Focus erhält. Ich muss praktisch die Checkbox anklicken und kann dann entweder per Maus oder mit der Leertaste den gewünschten Zustand setzen.
Weiß jemand wie es geht ?
Gruß
Klaus
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9367
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 102 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: Checkget

Beitrag von Tom »

Hallo, Klaus.

Ich habe ein bisschen herumprobieren müssen, bis ich herausgefunden habe, warum es bei mir geht. Offenbar ist die HILITEGETS-Option dafür verantwortlich. Dieser Code hier erlaubt das Springen mit ENTER und TAB von und zur Checkbox:

Code: Alles auswählen

#include "appevent.ch"
#include "dcdialog.ch"
#pragma library("dclipx.lib")

function main()
local GetList := {}, GetOptions := {}
dcget options checkget tabstop nosupervise noconfirm HILITEGETS GRA_CLR_BLUE

cName := space(30)
lTest := .F.

@ 1,1 dcsay "Name:" get cName
@ 2,1 dcsay "Test:" get lTest

dcread gui fit addbuttons options GetOptions parent @oDialog eval {|o|SetAppWindow(o)}

return nil

procedure appsys() ; Return
Herzlich,
Tom
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Checkget

Beitrag von Koverhage »

Hallo Tom,

erstmal danke für Deinen Test. Dies ist mein Code, HILITEGETS wurde von mir nach Deinem Hinweis eingefügt.
Danach bekommt die Checkbox den Focus, wenn ich mit Tab springe, mit Enter funktioniert das ganze bei mir so nicht.

DCGETOPTIONS BUTTONALIGN DCGUI_BUTTONALIGN_CENTER ;
COLORGETS {{GRA_CLR_BLACK,GRA_CLR_YELLOW}} ;
HILITEGETS GRA_CLR_YELLOW ;
AUTORESIZE ;
TABSTOP ;
NOSUPERVISE ;
CHECKGET ;
ROWOFFSET ("fi")->zeiloff ;
WINDOWWIDTH nMaxCol ;
WINDOWHEIGHT nMaxRow ;
WINDOWROW aPos[2] ;
WINDOWCOL aPos[1]


DCHOTKEY xbeK_F1 ACTION { || my_help( dc_getactiveinfo( GetList ) ) } // F1
DCHOTKEY xbeK_F12 ACTION { || DC_ReadGuiEvent( DCGUI_EXIT_OK, GetList ) } // F12

DCREAD GUI OPTIONS GetOptions CLEAREVENTS TITLE msg25 MODAL SETAPPWINDOW ;
ENTEREXIT to lOk ADDBUTTONS
Gruß
Klaus
Antworten