Ejemplo n.º 1
0
LPSTR allocstring(UINT nID,TypeOfResourceHandle bType)
{
	LPSTR szBuffer;
	szBuffer=new CHAR[STR_LOADSTRINGBUFLEN];
	if (szBuffer==NULL)
	{
		SetHFCError(HFC_CANNOTALLOCATE);
		return FALSE;
	}
	UINT nDataLen=::LoadStringA(GetResourceHandle(bType),nID,szBuffer,STR_LOADSTRINGBUFLEN);
	if (nDataLen>=STR_LOADSTRINGBUFLEN-2)
	{
		for (DWORD i=2;nDataLen>=i*STR_LOADSTRINGBUFLEN-2;i++)
		{
			delete[] szBuffer;
			szBuffer=new CHAR[i*STR_LOADSTRINGBUFLEN];
			nDataLen=::LoadStringA(GetResourceHandle(bType),nID,szBuffer,i*STR_LOADSTRINGBUFLEN);
		}
	}

	char* pText=new char[nDataLen+1];
	MemCopy(pText,szBuffer,nDataLen+1);
	delete[] szBuffer;
	return pText;
}
Ejemplo n.º 2
0
int LoadString(UINT uID,LPWSTR lpBuffer,int nBufferMax,TypeOfResourceHandle bType)
{
	if (!IsUnicodeSystem())
	{
		char* pStr=new char[nBufferMax+1];
		int nRet=::LoadStringA(GetResourceHandle(bType),uID,pStr,nBufferMax);
		MultiByteToWideChar(CP_ACP,0,pStr,nRet+1,lpBuffer,nBufferMax);
		delete[] pStr;
		return nRet;
	}
	return (int)::LoadStringW(GetResourceHandle(bType),uID,lpBuffer,nBufferMax);
}
Ejemplo n.º 3
0
void CCrystalEditView::OnUpdateEditRedo(CCmdUI* pCmdUI) 
{
	BOOL bCanRedo = m_pTextBuffer != NULL && m_pTextBuffer->CanRedo();
	pCmdUI->Enable(bCanRedo);

	//	Since we need text only for menus...
	if (pCmdUI->m_pMenu != NULL)
	{
		//	Tune up 'resource handle'
		HINSTANCE hOldResHandle = AfxGetResourceHandle();
		AfxSetResourceHandle(GetResourceHandle());

		CString menu;
		if (bCanRedo)
		{
			//	Format menu item text using the provided item description
			CString desc;
			m_pTextBuffer->GetRedoDescription(desc);
			menu.Format(IDS_MENU_REDO_FORMAT, desc);
		}
		else
		{
			//	Just load default menu item text
			menu.LoadString(IDS_MENU_REDO_DEFAULT);
		}

		//	Restore original handle
		AfxSetResourceHandle(hOldResHandle);

		//	Set menu item text
		pCmdUI->SetText(menu);
	}
}
Ejemplo n.º 4
0
/**
 * リソースの検索
 * @param[in] lpszName リソース ID
 * @param[in] lpszType リソースの型へのポインタ
 * @return インスタンス
 */
HINSTANCE CWndProc::FindResourceHandle(LPCTSTR lpszName, LPCTSTR lpszType)
{
	HINSTANCE hInst = GetResourceHandle();
	if ((hInst != GetInstanceHandle()) && (::FindResource(hInst, lpszName, lpszType) != NULL))
	{
		return hInst;
	}
	return GetInstanceHandle();
}
Ejemplo n.º 5
0
ID2A::ID2A(UINT nID,TypeOfResourceHandle bType)
{
	pStr=new CHAR[STR_LOADSTRINGBUFLEN];
	if (pStr==NULL)
	{
		SetHFCError(HFC_CANNOTALLOCATE);
		return;
	}
	UINT nDataLen=::LoadStringA(GetResourceHandle(bType),nID,pStr,STR_LOADSTRINGBUFLEN);
	if (nDataLen>=STR_LOADSTRINGBUFLEN-2)
	{
		for (DWORD i=2;nDataLen>=i*STR_LOADSTRINGBUFLEN-2;i++)
		{
			delete[] pStr;
			pStr=new CHAR[i*STR_LOADSTRINGBUFLEN];
			nDataLen=::LoadStringA(GetResourceHandle(bType),nID,pStr,i*STR_LOADSTRINGBUFLEN);
		}
	}
}
Ejemplo n.º 6
0
//---------------------------------------------------------------------------------------
int DisplayMenu(HWND hWnd)
{
   int nID = 0;
   HMENU hMenu = CreatePopupMenu();

   if(hMenu)
   {
      HMODULE hMod = GetResourceHandle();

      if(hMod)
      {
         TCHAR szBuf[MAX_PATH] = _T("");
         LoadString(hMod, IDS_MNU_LAUNCH, szBuf, MAX_PATH);
         AppendMenu(hMenu, MF_STRING, 1, szBuf);

         if(IsServiceRunning())
         {
            LoadString(hMod, IDS_MNU_STOP, szBuf, MAX_PATH);
            AppendMenu(hMenu, MF_STRING, 2, szBuf);
         }
         else
         {
            LoadString(hMod, IDS_MNU_START, szBuf, MAX_PATH);
            AppendMenu(hMenu, MF_STRING, 2, szBuf);
         }

         LoadString(hMod, IDS_MNU_ABOUT, szBuf, MAX_PATH);
         AppendMenu(hMenu, MF_STRING, 3, szBuf);

         AppendMenu(hMenu, MF_SEPARATOR, 0, NULL);

         LoadString(hMod, IDS_MNU_EXIT, szBuf, MAX_PATH);
         AppendMenu(hMenu, MF_STRING, 4, szBuf);

         FreeResourceHandle(hMod);
      }

      POINT pt = {0};
      GetCursorPos (&pt);

      SetMenuDefaultItem(hMenu, 0, TRUE);
      nID = TrackPopupMenu(hMenu, TPM_RETURNCMD | TPM_LEFTALIGN, pt.x, pt.y, 0, hWnd, NULL);
      DestroyMenu(hMenu);
   }

   return nID;
}
Ejemplo n.º 7
0
int SetViewCursor(HVIEW view, HCURSOR cursor)
{
	RETURN_IF_NULL(view);
	RETURN_IF_NULL(cursor);

	struct IResource *res = NULL;
	if (!(res = (struct IResource*)cursor)) {
		return GI_ERROR;
	}

	struct wm_args args;
	args.param1 = (int)GetResourceHandle(res);
	if (Viewcall((int)view, WINCMD_CREATEWIN, &args)) {
		return 0;
	}
	return 1;
}
Ejemplo n.º 8
0
//---------------------------------------------------------------------------------------
int DisplayAbout(HWND hWnd)
{
   HMODULE hMod = GetResourceHandle();

   if(hMod)
   {
      TCHAR szTitle[MAX_PATH] = _T("");
      LoadString(hMod, IDS_APP_NAME, szTitle, MAX_PATH);

      const int BUF_SIZE = MAX_PATH * 2;
      TCHAR szMsg[BUF_SIZE] = _T("");
      LoadString(hMod, IDS_APP_ABOUT, szMsg, BUF_SIZE);

      MessageBox(hWnd, szMsg, szTitle, MB_ICONINFORMATION | MB_OK);
      FreeResourceHandle(hMod);
   }

   return 0;
}
Ejemplo n.º 9
0
BOOL RegisterDataTimeExCltr()
{
	WNDCLASSEX wc;
	ZeroMemory(&wc,sizeof(WNDCLASSEX));
	wc.cbSize=sizeof(WNDCLASSEX);
	wc.style=CS_DBLCLKS|CS_VREDRAW|CS_HREDRAW|CS_PARENTDC;
	wc.hInstance=GetInstanceHandle();
	wc.lpszClassName="DATETIMEPICKEX";
	wc.hbrBackground=(HBRUSH)(COLOR_BTNFACE+1);
	wc.lpfnWndProc=CDateTimeCtrlEx::WndProc;
	if (RegisterClassEx(&wc)==NULL)
		return FALSE;

	ZeroMemory(&wc,sizeof(WNDCLASSEX));
	wc.cbSize=sizeof(WNDCLASSEX);
	wc.style=CS_DBLCLKS|CS_VREDRAW|CS_HREDRAW|CS_PARENTDC;
	wc.hInstance=GetResourceHandle(LanguageSpecificResource);
	wc.lpszClassName="DATETIMEPICKEX";
	wc.hbrBackground=(HBRUSH)(COLOR_BTNFACE+1);
	wc.lpfnWndProc=CDateTimeCtrlEx::WndProc;
	return RegisterClassEx(&wc)!=NULL;
}
Ejemplo n.º 10
0
int SetViewSurface(HVIEW view, HSURFACE surface)
{
	RETURN_IF_NULL(view);
	RETURN_IF_NULL(surface);

	struct IResource *res = NULL;
	if (!(res = (struct IResource*)surface)) {
		return GI_ERROR;
	}

	struct wm_args args;
	args.param1 = (int)res->width;
	args.param2 = (int)res->height;
	args.param3 = (int)res->stride;
	args.param4 = (int)GetResourceHandle(res);
	args.param5 = (int)res->bpp;
	if (Viewcall((int)view, WINCMD_SETSURFACE, &args)) {
		return 0;
	}

	return 1;
}
Ejemplo n.º 11
-1
//---------------------------------------------------------------------------------------
LRESULT OnCreate(HWND hWnd, WPARAM wParam, LPARAM lParam)
{
   LRESULT lr = 0;
   PNOTIFYICONDATA pTrayIcon = (PNOTIFYICONDATA)malloc(sizeof(NOTIFYICONDATA));

   if(pTrayIcon)
   {
      ZeroMemory(pTrayIcon,  sizeof(NOTIFYICONDATA));
      HMODULE hMod = LoadLibrary(_T("shell32.dll"));

      if(hMod)
      {
         FNDllGetVersion pfnDllGetVersion = (FNDllGetVersion)GetProcAddress(hMod, "DllGetVersion");

         if(pfnDllGetVersion)
         {
            DLLVERSIONINFO VerInfo = {0};
            VerInfo.cbSize = sizeof(VerInfo);
            pfnDllGetVersion(&VerInfo);

            if(VerInfo.dwMajorVersion == 6)
            {
               if(VerInfo.dwBuildNumber > 6)
                  pTrayIcon->cbSize = sizeof(NOTIFYICONDATA);
               else
                  pTrayIcon->cbSize = NOTIFYICONDATA_V3_SIZE;

               pTrayIcon->uVersion = NOTIFYICON_VERSION_4;
            }
            else if(VerInfo.dwMajorVersion == 5)
            {
               pTrayIcon->cbSize = NOTIFYICONDATA_V2_SIZE;
               pTrayIcon->uVersion = NOTIFYICON_VERSION;
            }
            else
            {
               pTrayIcon->cbSize = NOTIFYICONDATA_V1_SIZE;
            }
         }

         FreeLibrary(hMod);
         hMod = NULL;
      }

      pTrayIcon->hWnd = hWnd;
      pTrayIcon->uFlags = NIF_INFO | NIF_TIP | NIF_ICON | NIF_MESSAGE;
      pTrayIcon->dwInfoFlags = NIIF_USER;
      pTrayIcon->uCallbackMessage = WM_TRAY;
      pTrayIcon->uTimeout = 10000;

      pTrayIcon->hIcon = (HICON)LoadImage(GetModuleHandle(NULL),
                                          MAKEINTRESOURCE(IDI_OPENNMS_TRAY),
                                          IMAGE_ICON, 0, 0, 0);

      hMod = GetResourceHandle();

      if(hMod)
      {
         TCHAR szBuf[MAX_PATH] = _T("");
         LoadString(hMod, IDS_TRAY_TIP, szBuf, MAX_PATH);
         _tcsncpy_s(pTrayIcon->szTip, ARRAYSIZE(pTrayIcon->szTip), szBuf, _TRUNCATE);

         LoadString(hMod, IDS_TRAY_INFOTITLE, szBuf, MAX_PATH);
         _tcsncpy_s(pTrayIcon->szInfoTitle, ARRAYSIZE(pTrayIcon->szInfoTitle), szBuf, _TRUNCATE);

         LoadString(hMod, IDS_TRAY_INFOTEXT, szBuf, MAX_PATH);
         _tcsncpy_s(pTrayIcon->szInfo, ARRAYSIZE(pTrayIcon->szInfo), szBuf, _TRUNCATE);

         FreeResourceHandle(hMod);
      }

      Sleep(5000);
      Shell_NotifyIcon(NIM_ADD, pTrayIcon);
      SetWindowLongPtr(hWnd, GWLP_USERDATA, (LONG_PTR)pTrayIcon);
   }

   return lr;
}