⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dialogs.c

📁 GNU国际象棋C++源代码Windows版的
💻 C
📖 第 1 页 / 共 2 页
字号:
           SetBkMode((HDC)wParam,TRANSPARENT);
          case CTLCOLOR_DLG:
           return hDlgBkgrnd;
         }
      return true;
#endif

      case WM_COMMAND:
         if (HIWORD(wParam)==CBN_EDITCHANGE||HIWORD(wParam)==CBN_SELCHANGE)
           /*if these messages are processed here, the GetDlgItemInt
             function will retrieve the old value, not the new one*/
             PostMessage(hDlg,WM_USER+100,wParam,0);
         else switch (LOWORD(wParam))
          {
            case IDOK:
               for (i=0;i<3;i++)
                {
                 XCmoves[i]=GetDlgItemInt (hDlg, IDC_MOVES1+i, &ok, false);
                 XCminutes[i]=GetDlgItemInt (hDlg, IDC_MINS1+i, &ok, false);
                }
               XC=0;
               for (i=0;i<3;i++)
                {
                 if (XCmoves[i] && XCminutes[i])XC++;
                 else break;
                }
               if (!XC)
                {
                  MaxResponseTime=GetDlgItemInt (hDlg, IDC_MAXRT,
                                  &ok, false)*100;
                  if (!MaxResponseTime)
                     MaxResponseTime=600;
                  SetTimeControl();
                  EndDialog(hDlg,true);
                }
               else
                {
                  XCmore=0;
                  TimeControl.clock[white] = TimeControl.clock[black] = 0;
                  SetTimeControl();
                  EndDialog ( hDlg, true);
                }
               return true;

            case IDCANCEL:
               EndDialog ( hDlg, false);
               return true;
         }
      case WM_USER+100:
        switch(LOWORD(wParam))
          {
           case IDC_MOVES1:
           case IDC_MINS1:
             tXCmoves=GetDlgItemInt(hDlg,IDC_MOVES1,&ok,false);
             tXCminutes=GetDlgItemInt(hDlg,IDC_MINS1,&ok,false);
             if (!tXCmoves || !tXCminutes)ok=false;
             else ok=true;
             EnableWindow(GetDlgItem(hDlg, IDC_MAXRT),!ok);
             EnableWindow(GetDlgItem(hDlg, IDC_MRTEXT),!ok);
             EnableWindow(GetDlgItem(hDlg, IDC_MRSECS),!ok);
             EnableWindow(GetDlgItem(hDlg, IDC_MOVES2),ok);
             EnableWindow(GetDlgItem(hDlg, IDC_MINS2),ok);
             if (!ok)
              {
               EnableWindow(GetDlgItem(hDlg, IDC_MOVES3),false);
               EnableWindow(GetDlgItem(hDlg, IDC_MINS3),false);
               break;
              }
           case IDC_MOVES2:
           case IDC_MINS2:
             tXCmoves=GetDlgItemInt(hDlg,IDC_MOVES2,&ok,false);
             tXCminutes=GetDlgItemInt(hDlg,IDC_MINS2,&ok,false);
             if (!tXCmoves || !tXCminutes)ok=false;
             else ok=true;
             EnableWindow(GetDlgItem(hDlg, IDC_MOVES3),ok);
             EnableWindow(GetDlgItem(hDlg, IDC_MINS3),ok);
             break;
          }
        return true;
    }
   return false;
}

BOOL CALLBACK StatDlgProc ( HWND hDlg, UINT Message,
                               WPARAM wParam, LPARAM lParam)
{

   switch (Message)
    {
      case WM_INITDIALOG:
         return (true);

#ifdef WIN32
      case WM_CTLCOLORBTN:
      case WM_CTLCOLORSTATIC:
        SetBkMode((HDC)wParam,TRANSPARENT);
      case WM_CTLCOLORDLG:
        return hDlgBkgrnd;
#else
      case WM_CTLCOLOR:
        switch(HIWORD(lParam))
         {
          case CTLCOLOR_BTN:
          case CTLCOLOR_STATIC:
           SetBkMode((HDC)wParam,TRANSPARENT);
          case CTLCOLOR_DLG:
           return hDlgBkgrnd;
         }
      return true;
#endif

      case WM_COMMAND:
         if (LOWORD(wParam)==IDOK)
          {
destroy:
            DestroyWindow(hDlg);
            flag.post=false;
            return true;
          }
         break;

      case WM_SYSCOMMAND:
         if ((wParam & 0xFFF0) == SC_CLOSE) goto destroy;
         break;
    }

    return (false);              /* Didn't process a message    */
}

BOOL CALLBACK TypeMoveDlgProc (HWND hDlg, UINT Message,
                                  WPARAM wParam, LPARAM lParam)
{
   switch (Message)
    {
     case WM_INITDIALOG:
       SetWindowText(hDlg,szAppName);
       SetDlgItemText(hDlg, IDC_PROMPT, CP[42]);
       SendMessage ( GetDlgItem(hDlg, IDC_NUM), EM_LIMITTEXT, 5, 0);
       return true;

#ifdef WIN32
      case WM_CTLCOLORSTATIC:
        SetBkMode((HDC)wParam,TRANSPARENT);
      case WM_CTLCOLORDLG:
        return hDlgBkgrnd;
#else
      case WM_CTLCOLOR:
        switch(HIWORD(lParam))
         {
          case CTLCOLOR_STATIC:
           SetBkMode((HDC)wParam,TRANSPARENT);
          case CTLCOLOR_DLG:
           return hDlgBkgrnd;
         }
      return true;
#endif

     case WM_COMMAND:
       switch (LOWORD(wParam))
         {
          case IDOK:
            if (GetDlgItemText ( hDlg, IDC_NUM, move, 6))
             {
               EndDialog (hDlg, true);
               break;
             }
          case IDCANCEL:
            EndDialog (hDlg, false);
            break;

          default: return false;
         }
       return true;
    }
   return false;
}

BOOL CALLBACK PromoteDlgProc ( HWND hDlg, UINT Message,
                               WPARAM wParam, LPARAM lParam)
{

   switch (Message)
    {
      case WM_INITDIALOG:
         SetWindowText(hDlg,CP[66]);
         DlgInt1 = 5;
         CheckRadioButton ( hDlg, 101, 104, 104);
         return true;

#ifdef WIN32
      case WM_CTLCOLORBTN:
      case WM_CTLCOLORSTATIC:
        SetBkMode((HDC)wParam,TRANSPARENT);
      case WM_CTLCOLORDLG:
        return hDlgBkgrnd;
#else
      case WM_CTLCOLOR:
        switch(HIWORD(lParam))
         {
          case CTLCOLOR_BTN:
          case CTLCOLOR_STATIC:
           SetBkMode((HDC)wParam,TRANSPARENT);
          case CTLCOLOR_DLG:
           return hDlgBkgrnd;
         }
      return true;
#endif

      case WM_COMMAND:
         switch (LOWORD(wParam))
          {
            case IDOK:
               EndDialog ( hDlg, DlgInt1);
               return true;

            case 101:
            case 102:
            case 103:
            case 104:
               DlgInt1 = wParam-99;
               CheckRadioButton ( hDlg, 101, 104, LOWORD(wParam));
               return true;
         }
    }
   return (false);               /* Didn't process a message    */
}

BOOL CALLBACK CreateHashDlgProc (HWND hDlg, UINT Message,
                                  WPARAM wParam, LPARAM lParam)
{
   char szsize[7];
   switch ( Message )
    {
      case WM_INITDIALOG:
         SetWindowText(hDlg,CP[67]);
         SetDlgItemText (hDlg, IDC_PROMPT, CP[68]);
         SendDlgItemMessage(hDlg,IDC_HFSIZE,EM_LIMITTEXT,6,0);
         return true;

#ifdef WIN32
      case WM_CTLCOLORSTATIC:
        SetBkMode((HDC)wParam,TRANSPARENT);
      case WM_CTLCOLORDLG:
        return hDlgBkgrnd;
#else
      case WM_CTLCOLOR:
        switch(HIWORD(lParam))
         {
          case CTLCOLOR_STATIC:
           SetBkMode((HDC)wParam,TRANSPARENT);
          case CTLCOLOR_DLG:
           return hDlgBkgrnd;
         }
      return true;
#endif

      case WM_COMMAND:
         switch (LOWORD(wParam))
          {
            case IDOK:
               GetDlgItemText (hDlg,IDC_HFSIZE,szsize,7);
               size = strtol (szsize,0,10);
               EndDialog ( hDlg, true);
               return true;

            case IDCANCEL:
               EndDialog ( hDlg, false);
               return true;
         }
    }
   return false;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -