📄 dlgsetting2.h
字号:
//*************************************************************************//
//
// Dialog Setting Proc
// DlgSetting.h
//
//*************************************************************************//
////////////////////////////////////////////////////////////////////////////
// Setting Dialog Init Message
void Setting_Init(HWND hDlg)
{
TCHAR szBuffer[50];
/***********************************************************/
// Game Setting
// Enable Warning CheckBox
SendMessage(GetDlgItem(hDlg,IDC_CHK_WARNING),BM_SETCHECK,setting.fWarning,0);
//Sound CheckBox
SendMessage(GetDlgItem(hDlg,IDC_CHK_SOUND),BM_SETCHECK,setting.fSound,0);
//Time CheckBox & EditBox
SendMessage(GetDlgItem(hDlg,IDC_CHK_TIME),BM_SETCHECK,setting.fTime,0);
EnableWindow(GetDlgItem(hDlg,IDC_EDT_TIME),setting.fTime );
wsprintf(szBuffer,"%d",setting.iTime );
SetWindowText(GetDlgItem(hDlg,IDC_EDT_TIME),szBuffer);
SendMessage(GetDlgItem(hDlg,IDC_EDT_TIME),EM_LIMITTEXT,3,0);
// Law ComboBox
SendMessage(GetDlgItem(hDlg,IDC_CMB_LAW),CB_INSERTSTRING,0,(LPARAM)"Gomoku Law");
SendMessage(GetDlgItem(hDlg,IDC_CMB_LAW),CB_INSERTSTRING,1,(LPARAM)"Caro Chess Law");
SendMessage(GetDlgItem(hDlg,IDC_CMB_LAW),CB_SETCURSEL,setting.iLaw,0);
// Blocks EditBox
wsprintf(szBuffer,"%d",setting.iBlock );
SetWindowText(GetDlgItem(hDlg,IDC_EDT_BLOCKS),szBuffer);
SendMessage(GetDlgItem(hDlg,IDC_EDT_BLOCKS),EM_LIMITTEXT,3,0);
// Sound file EditBox
SetWindowText(GetDlgItem(hDlg,IDC_EDT_SOUND),setting.szSoundFile );
// Opacity SliderBar
//..................
SendMessage(GetDlgItem(hDlg,IDC_SLD_OPACITY),SBM_SETRANGE,0,10);
SendMessage(GetDlgItem(hDlg,IDC_SLD_OPACITY),SBM_SETPOS,5,TRUE);
// Computer Play : Blink / Move Radio Button -- Speed check
CheckRadioButton(hDlg,IDC_RD_BLINK,IDC_RD_MOVE,setting.iCPlay+IDC_RD_BLINK);
// Skin ( ComboBox )
SendMessage(GetDlgItem(hDlg,IDC_CMB_SKIN),CB_INSERTSTRING,0,(LPARAM)"Dark");
SendMessage(GetDlgItem(hDlg,IDC_CMB_SKIN),CB_INSERTSTRING,1,(LPARAM)"Aqua");
SendMessage(GetDlgItem(hDlg,IDC_CMB_SKIN),CB_INSERTSTRING,2,(LPARAM)"Violet");
SendMessage(GetDlgItem(hDlg,IDC_CMB_SKIN),CB_SETCURSEL,setting.iSkin,0);
}
////////////////////////////////////////////////////////////////////////////
// Setting Dialog Draw Item Message
void Setting_DrawItem(LPDRAWITEMSTRUCT pdis)
{
RECT rect;
GetClientRect(pdis->hwndItem,&rect);
switch((char)pdis->CtlID)
{
case IDC_BTN_BLOCKCOLOR:
MyRectangle(pdis->hDC,rect.left,rect.top,rect.right,rect.bottom,RGB(255,255,255),skin[setting.iSkin].crBlock);
break;
case IDC_BTN_BORDERCOLOR:
MyRectangle(pdis->hDC,rect.left,rect.top,rect.right,rect.bottom,RGB(255,255,255),skin[setting.iSkin].crBlockBorder);
break;
case IDC_BTN_MOUSECOLOR:
MyRectangle(pdis->hDC,rect.left,rect.top,rect.right,rect.bottom,RGB(255,255,255),skin[setting.iSkin].crMouse);
break;
}
}
////////////////////////////////////////////////////////////////////////////
// Setting Dialog Command Message
void Setting_Command(HWND hDlg,WPARAM wParam)
{
TCHAR szBuffer[50];
OPENFILENAME ofn;
CHOOSECOLOR cdlg;
TCHAR szFilter[] = TEXT ("MIDI Files (*.mid)\0*.mid\0") \
TEXT ("All Files (*.*)\0*.*\0\0") ;
switch(LOWORD(wParam))
{
// Enable Warning
case IDC_CHK_WARNING:
setting.fWarning = !setting.fWarning ;
SaveSetting();
break;
// Sound
case IDC_CHK_SOUND:
setting.fSound = !setting.fSound ;
EnableWindow(GetDlgItem(hDlg,IDC_EDT_SOUND), setting.fSound);
EnableWindow(GetDlgItem(hDlg,IDC_BTN_SOUND), setting.fSound);
SaveSetting();
break;
// Time (Checkbox)
case IDC_CHK_TIME:
setting.fTime = !setting.fTime ;
EnableWindow(GetDlgItem(hDlg,IDC_EDT_TIME),setting.fTime );
SaveSetting();
break;
// Time (Editbox)
case IDC_EDT_TIME:
if(HIWORD(wParam)==EN_KILLFOCUS)
{
GetWindowText(GetDlgItem(hDlg,IDC_EDT_TIME),szBuffer,4);
setting.iTime = atoi(szBuffer);
SaveSetting();
}
break;
// Law ( ComboBox )
case IDC_CMB_LAW:
if(HIWORD(wParam)==CBN_SELCHANGE)
{
setting.iLaw = (char)SendMessage(GetDlgItem(hDlg,IDC_CMB_LAW),CB_GETCURSEL,0,0);
SaveSetting();
}
break;
// Block
case IDC_EDT_BLOCKS:
if(HIWORD(wParam)==EN_KILLFOCUS)
{
GetWindowText(GetDlgItem(hDlg,IDC_EDT_BLOCKS),szBuffer,4);
setting.iBlock = atoi(szBuffer);
SaveSetting();
}
break;
// Sound file ( Editbox )
case IDC_EDT_SOUND:
if(HIWORD(wParam)==EN_KILLFOCUS)
{
GetWindowText(GetDlgItem(hDlg,IDC_EDT_SOUND),setting.szSoundFile ,MAX_PATH);
SaveSetting();
}
break;
// Sound file ( Browse )
case IDC_BTN_SOUND:
ofn=OpenDlgInit(WndMain.hwnd , szFilter, "mid", setting.szSoundFile );
if(GetOpenFileName(&ofn))
{
SetWindowText(GetDlgItem(hDlg,IDC_EDT_SOUND),setting.szSoundFile );
SaveSetting();
}
break;
// Computer Play ( RadioButton )
case IDC_RD_BLINK:
case IDC_RD_MOVE:
setting.iCPlay =LOWORD(wParam)-IDC_RD_BLINK;
SaveSetting();
break;
case IDC_CMB_SKIN:
if(HIWORD(wParam)==CBN_SELCHANGE)
{
setting.iSkin = (char)SendMessage(GetDlgItem(hDlg,IDC_CMB_SKIN),CB_GETCURSEL,0,0);
InvalidateRect(GetDlgItem(hDlg,IDC_BTN_BLOCKCOLOR),NULL,FALSE);
SaveSetting();
}
break;
case IDC_BTN_BLOCKCOLOR:
cdlg = ColorDlgInit(WndMain.hwnd, skin[setting.iSkin].crBlock );
ChooseColor(&cdlg);
skin[setting.iSkin].crBlock=cdlg.rgbResult ;
InvalidateRect(GetDlgItem(hDlg,IDC_BTN_BLOCKCOLOR),NULL,FALSE);
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -