/**************/ /* opttest.c */ /***************************************************************************** PROGRAM: opttest.c Windows: Win 3.1 ( ei WIN32 vielä koska optdlg.c ei tue sitä) PURPOSE: Testataan optiodialogia Editor: Vesa Lappalainen 30.10.1994 PROJECT: optest.c, optest.rc, ALI\def.def, ALI\tabhand.c, ALI\optdlg.c, ALI\mdialog.c, ALI\printw.c *****************************************************************************/ #include #include "tabhand.h" #include "printw.h" #include "optdlg.h" #include "opttest.rh" /****************************************************************************/ TblClassSWindowMAIN("OptWndClass",NULL,"Optiodialogi testi",MsgTbl,0); /****************************************************************************/ typedef struct { char nimi[30]; int sukupuoli; /* 0 = mies, 1 = nainen */ int demo; int jtt; int ohjelmistot; int ohjelmointi; } tHenkilo; static tHenkilo Henkilo; static KontrolliKuvaus hlo_kontr[] = { {ID_NIMI ,0 ,C_edte,N_P_K(tHenkilo,nimi) ,T_str,0,NULL}, {ID_MIES ,ID_NAINEN,C_arbu,N_P_K(tHenkilo,sukupuoli) ,T_int,0,NULL}, {ID_DEMO ,0 ,C_edte,N_P_K(tHenkilo,demo) ,T_int,0,NULL}, {ID_JTT ,0 ,C_acbo,N_P_K(tHenkilo,jtt ) ,T_int,0,NULL}, {ID_OHJELMISTOT,0 ,C_acbo,N_P_K(tHenkilo,ohjelmistot),T_int,0,NULL}, {ID_OHJELMOINTI,0 ,C_acbo,N_P_K(tHenkilo,ohjelmointi),T_int,0,NULL}, {0,0,0,NULL,0,0,0,0,NULL } }; static DialogiParam Hlo_optioDlgParam = { "HLO_DIALOG", /* dialogin nimi */ D_modal, /* dial. tyyppi: hallitseva */ hlo_kontr, /* kontrollien kuvaustaulukko*/ ".\\HLO.ini", /* talletustiedosto */ "HLO", /* ini-tiedoston kappale */ &Henkilo, /* arvotietue */ sizeof(tHenkilo) /* arvotietueen koko */ }; /****************************************************************************/ static EVENT WM_lbuttondown(tMSGParam *msg) { OptioDialogiIni(msg->hWnd , &Hlo_optioDlgParam); InvalidateRect(msg->hWnd,NULL,TRUE); return 0; } static EVENT WM_paint(tMSGParam *msg) /* # MAKE_DC # */ { SetTextStart(msg->hDC,10,10); printw(msg->hDC,"Terve "); printw(msg->hDC,Henkilo.nimi); printw(msg->hDC,"!\n"); printw(msg->hDC,"Paina vasenta nappia!"); return 0; } static EVENT WM_create(tMSGParam *msg) { (void) msg; AlustaOptiot(&Hlo_optioDlgParam); return 0; } /****************************************************************************/ /* Viestien käsittelytaulukko */ /****************************************************************************/ tMSGEntry MsgTbl[] = { EV_HANDLE_WM_DESTROY, { WM_LBUTTONDOWN , DoC , DoC , WM_lbuttondown }, /*a*/ { WM_PAINT , DoC , DoC , WM_paint, MAKE_DC }, /*a*/ { WM_CREATE , DoC , DoC , WM_create }, /*a*/ { 0 } }; /****************************************************************************/