/******************************************************************************* Moduli: vaanto.cpp Tarkoitus: ...... Projekti: Winlin, Cum laude approbatur -harjoitustyö Tekijät: Virpi Kivinen & Tiina Mäkinen Tehty: 1.1.96 Muutettu 1.7.96 Mitä muutettu: + lisättyyt Puutteet: mökki *******************************************************************************/ /**********************************************************************************************/ /* Tänne tullaan kun menusta on valittu Valmiit kuvaukset -Vääntö */ /* */ /* static LONG WM_command_idc_okvaanto(tMSGParam *msg) */ /* -aliohjelmassa luetaan taulkkoon Vääntö-dialogista haluttu vääntöjen suuruus eri akse- */ /* lien suuntaan. Väännöt sijoitetaan matriisiin R. Mikäli dialogissa ei ole valittu ruu-*/ /* tua Matriisiin sijoitus, ikkunan matriisi kerrotaan matriisilla R (yhdistetty kuvaus).*/ /* Kuva ikkunalle lähetetään viesti KUVAA. */ /* */ /* static LONG WM_InitDialog(tMSGParam *msg) */ /* -jos matriisin dimensio on pienempi kuin neljä, ei anneta tehdä vääntöjä z-akselin */ /* suhteen.(Pelkkä taso.) */ /**********************************************************************************************/ #include #include #include #include "tabhand.h" #include "mdialog.h" #include "winlin.h" #include "kahvat.h" static LONG WM_command_idc_okvaanto(tMSGParam *msg) { char s[10]; int i; double a[3]; cMatrix R; for(i=0;i<=2;i++) { GetDlgItemText(msg->hWnd,IDC_XVAANTO+i,s,sizeof(s)); if (sscanf(s,"%lf",&a[i])!=1) a[i]=0; } R[0][1]=a[0]; R[1][0]=a[1]; R[2][1]=a[2]; //vaanto-matriisi if ( !IsDlgButtonChecked(msg->hWnd,IDC_CHECKBOX_VAANTO)) // kerrotaanko kerro_matriisi(R); aseta_matriisi(R,W.Hwndt[1]); LAHETA_VIESTI(ikkunat.etsi_kahva(1),KUVAA); DestroyDialog(msg->hWnd,TRUE); return 0; } static LONG WM_InitDialog(tMSGParam *msg) { if (W.dimensio<=3){ HWND h; h=GetDlgItem(msg->hWnd,IDC_ZVAANTO); ShowWindow(h,FALSE); EnableWindow(h,SW_HIDE); h=GetDlgItem(msg->hWnd,IDC_ZTEXTV); ShowWindow(h,FALSE); } return 0; } static LONG WM_command_idc_peruutav(tMSGParam *msg) { DestroyDialog(msg->hWnd,TRUE); return 0; } tMSGEntry VTbl[] = { { WM_INITDIALOG, DoC , DoC, WM_InitDialog }, { WM_COMMAND , IDCANCEL , DoC, WM_command_idc_peruutav}, { WM_COMMAND , IDC_OKVAANTO, DoC, WM_command_idc_okvaanto}, { WM_COMMAND , IDC_PERUUTAV, DoC, WM_command_idc_peruutav}, { 0 } };