home *** CD-ROM | disk | FTP | other *** search
- // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
- // Copyright (C) 1999-2003 Forgotten
- // Copyright (C) 2004 Forgotten and the VBA development team
-
- // This program is free software; you can redistribute it and/or modify
- // it under the terms of the GNU General Public License as published by
- // the Free Software Foundation; either version 2, or(at your option)
- // any later version.
- //
- // This program is distributed in the hope that it will be useful,
- // but WITHOUT ANY WARRANTY; without even the implied warranty of
- // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- // GNU General Public License for more details.
- //
- // You should have received a copy of the GNU General Public License
- // along with this program; if not, write to the Free Software Foundation,
- // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
- #include "stdafx.h"
-
- static HINSTANCE winResGetInstance(LPCTSTR resType, LPCTSTR resName)
- {
- // TODO: make language DLL first
- return AfxFindResourceHandle(resName, resType);
- }
-
-
- UCHAR *winResGetResource(LPCTSTR resType, LPCTSTR resName)
- {
- HINSTANCE winResInstance = winResGetInstance(resType, resName);
-
- HRSRC hRsrc = FindResourceEx(winResInstance, resType, resName, 0);
-
- if(hRsrc != NULL) {
- HGLOBAL hGlobal = LoadResource(winResInstance, hRsrc);
-
- if(hGlobal != NULL) {
- UCHAR * b = (UCHAR *)LockResource(hGlobal);
-
- return b;
- }
- }
- return NULL;
- }
-
- HMENU winResLoadMenu(LPCTSTR menuName)
- {
- UCHAR * b = winResGetResource(RT_MENU, menuName);
-
- if(b != NULL) {
- HMENU menu = LoadMenuIndirect((CONST MENUTEMPLATE *)b);
-
- if(menu != NULL)
- return menu;
- }
-
- return LoadMenu(NULL, menuName);
- }
-
- int winResDialogBox(LPCTSTR boxName,
- HWND parent,
- DLGPROC dlgProc,
- LPARAM lParam)
- {
- /*
- UCHAR * b = winResGetResource(RT_DIALOG, boxName);
-
- if(b != NULL) {
-
- return DialogBoxIndirectParam(hInstance,
- (LPCDLGTEMPLATE)b,
- parent,
- dlgProc,
- lParam);
- }
-
- return DialogBoxParam(hInstance,
- boxName,
- parent,
- dlgProc,
- lParam);
- */
- return 0;
- }
-
- int winResDialogBox(LPCTSTR boxName,
- HWND parent,
- DLGPROC dlgProc)
- {
- return winResDialogBox(boxName,
- parent,
- dlgProc,
- 0);
- }
-
- CString winResLoadString(UINT id)
- {
- int stId = id / 16 + 1;
- HINSTANCE inst = winResGetInstance(RT_STRING, MAKEINTRESOURCE(stId));
-
- CString res;
- if(res.LoadString(id))
- return res;
-
- // TODO: handle case where string is only in the default English
- res = "";
-
- return res;
- }
-