コード例 #1
0
INT_PTR CEHelpPopup::helpProc(HWND hWnd2, UINT messg, WPARAM wParam, LPARAM lParam)
{
	CEHelpPopup* pPopup = NULL;

	switch (messg)
	{
		case WM_INITDIALOG:
		{
			pPopup = (CEHelpPopup*)lParam;
			SetWindowLongPtr(hWnd2, DWLP_USER, (LONG_PTR)pPopup);
			pPopup->mh_Popup = hWnd2;
			if (pPopup->mp_DpiAware)
				pPopup->mp_DpiAware->Attach(hWnd2, ghOpWnd, pPopup->mp_Dlg);
			helpProc(hWnd2, WM_SIZE, 0, 0);

			break;
		}

		case WM_SIZE:
		{
			RECT rcClient; GetClientRect(hWnd2, &rcClient);
			MoveWindowRect(GetDlgItem(hWnd2, IDC_HELP_DESCR), rcClient, TRUE);
			break;
		}

		case WM_COMMAND:
			if (HIWORD(wParam) == BN_CLICKED)
			{
				switch (LOWORD(wParam))
				{
				case IDCLOSE:
				case IDCANCEL:
					DestroyWindow(hWnd2);
					return 0;
				default:
					return 0;
				}
			}
			break;

		case WM_CLOSE:
			DestroyWindow(hWnd2);
			break;

		case WM_DESTROY:
		{
			pPopup = (CEHelpPopup*)GetWindowLongPtr(hWnd2, DWLP_USER);
			if (pPopup)
			{
				if (pPopup->mp_DpiAware)
					pPopup->mp_DpiAware->Detach();
				pPopup->mh_Popup = NULL;
				SafeDelete(pPopup->mp_Dlg);
			}
			break;
		}

		default:
			if (pPopup && pPopup->mp_DpiAware && pPopup->mp_DpiAware->ProcessDpiMessages(hWnd2, messg, wParam, lParam))
			{
				return TRUE;
			}
	}

	return 0;
}
コード例 #2
0
ファイル: KeygoeMonitor.cpp プロジェクト: liguyu/cppexample
int main(void)
{
  char delim[] = " \t";
  char inbuf[MAX_BUFFER];
  char **chargv;    
  ServerID_t    serverID;
  ACSHandle_t   acsHandle;
  int i, numtokens;
  char *chInput;
  char *chargv0;
  //DJ_U8     g_u8UnitID = 255; 
  int row, col;
  int curRow, curCol;
  char *chargv1;
  char *chargv2;  
  
  initCursel(&row, &col);  
 
  printstr(NULL, "This is a monitor tool to SS7\n");
  printstr(NULL, "press q or ctrl+c exit programmer\n");  
  printstr(NULL, "Input service IP and port(q exit, h help):\n");
  for (; ;)
  {  
  	getyx(stdscr, curRow, curCol);
  	if (curRow == row -1)
  		clear();
  		 	
    getstr(inbuf);  
  
    if (ldebug_flag)
      printstr(NULL,"inbuf:%s\n", inbuf);
    
    chInput = strlwr(inbuf);  
    if (strcmp(chInput, QUIT_STRING) == 0) 
    {  
    	exitwin(); 
      return 0;
    }
    else if(strcmp(chInput, HELP_STRING) == 0)
    {      
      helpProc();
    }
    else 
    {
      if ((numtokens = makeargv(inbuf, delim, &chargv)) >= 4)
      {
        if (ldebug_flag)
        {
          for (i = 0; i < numtokens; i++)
             printstr(NULL,"%d:%s\n", i, chargv[i]);
        }
        chargv1 = strlwr(chargv[0]);
        chargv2 = strlwr(chargv[2]);
        if ((strcmp(chargv1, "ip") == 0) && (strcmp(chargv[1], "\0") != 0))
        {                 
          strncpy(serverID.m_s8ServerIp, chargv[1], sizeof(serverID.m_s8ServerIp));
          if ((strcmp(chargv2, "port") == 0)&& (strcmp(chargv[3], "\0") != 0))
          {
            serverID.m_u32ServerPort = atoi(chargv[3]);
            if (initsystem(serverID, &acsHandle) >= 0)
            {            	
              getyx(stdscr, curRow, curCol);
              mvprintw(curRow, 0,"Service has been  monitored\n");
              usleep(500);
              break;  
            }
            else  
              printstr(NULL,"Please check IP and Port, and please input again(q exit, h help)\n");          
          }
          else
          {
            printstr(NULL,"Input Port error, please input again(q exit, h help)\n");
          }
        }
        else
        {
          printstr(NULL,"Input IP error,please input again(q exit, h help)\n");         
        }       
      }
      else
      {
        printstr(NULL,"Input IP and Port has been omittem,please input again(q exit, h help)\n"); 
      }
    }
  } 
  
  for(; ;)
  {  
  	getyx(stdscr, curRow, curCol);
  	if (curRow == row -1)
  		clear(); 
  		  	
    getstr(inbuf);
   
    chInput = strlwr(inbuf);
    if (ldebug_flag)
      printstr(NULL,"inbuf:%s\n", chInput);
    if (strcmp(chInput, QUIT_STRING) == 0)
    {
      exitsystem(acsHandle);
      exitwin();
      exit(0);
    }
    else if(strcmp(chInput, HELP_STRING) == 0)
    {
      helpProc();   
    } 
    else
    {
      if ((numtokens = makeargv(inbuf, delim, &chargv)) > 0)
      {
        chargv0 = strlwr(chargv[0]);
        if (strcmp(chargv0, "monitor") == 0)
        {
          if (ldebug_flag)
            printstr(NULL,"monitor paramiter number is %d\n", numtokens);
          monitorProc(chargv, acsHandle, numtokens);    
          printstr(NULL,"Input command again if operator(q exit, h help)\n");       
        }
        else if(strcmp(chargv0, "maintain") == 0)
        {
          maintainProc(chargv, acsHandle, numtokens);
          printstr(NULL,"Input command again if operator(q exit, h help)\n");;    
        } 
        else
        {   
          printstr(NULL,"Input command error, please input again(q exit, h help)\n");
        } 
      }
      free(chargv);
    } 
    usleep(30);   
  }
  
  exitwin();
  return 0;
}