mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 10:04:49 +00:00
Import and merge Wine-20041201
svn path=/trunk/; revision=12583
This commit is contained in:
parent
448e644f09
commit
d2b43c9093
16 changed files with 1531 additions and 0 deletions
16
reactos/lib/oledlg/Makefile.in
Normal file
16
reactos/lib/oledlg/Makefile.in
Normal file
|
@ -0,0 +1,16 @@
|
|||
TOPSRCDIR = @top_srcdir@
|
||||
TOPOBJDIR = ../..
|
||||
SRCDIR = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
MODULE = oledlg.dll
|
||||
IMPORTS = ole32 comdlg32 user32 advapi32 kernel32 ntdll
|
||||
|
||||
C_SRCS = \
|
||||
insobjdlg.c \
|
||||
oledlg_main.c
|
||||
|
||||
RC_SRCS = rsrc.rc
|
||||
|
||||
@MAKE_DLL_RULES@
|
||||
|
||||
### Dependencies:
|
21
reactos/lib/oledlg/Makefile.ros-template
Normal file
21
reactos/lib/oledlg/Makefile.ros-template
Normal file
|
@ -0,0 +1,21 @@
|
|||
# $Id: Makefile.ros-template 11910 2004-12-03 23:37:44Z blight $
|
||||
|
||||
TARGET_NAME = oledlg
|
||||
|
||||
TARGET_OBJECTS = @C_SRCS@
|
||||
|
||||
TARGET_CFLAGS = @EXTRADEFS@
|
||||
|
||||
TARGET_SDKLIBS = @IMPORTS@ wine.a wine_uuid.a ntdll.a
|
||||
|
||||
TARGET_BASE = $(TARGET_BASE_LIB_OLEDLG)
|
||||
|
||||
TARGET_RC_SRCS = @RC_SRCS@
|
||||
TARGET_RC_BINSRC = @RC_BINSRC@
|
||||
TARGET_RC_BINARIES = @RC_BINARIES@
|
||||
|
||||
default: all
|
||||
|
||||
DEP_OBJECTS = $(TARGET_OBJECTS)
|
||||
|
||||
include $(TOOLS_PATH)/depend.mk
|
628
reactos/lib/oledlg/insobjdlg.c
Normal file
628
reactos/lib/oledlg/insobjdlg.c
Normal file
|
@ -0,0 +1,628 @@
|
|||
/*
|
||||
* OLEDLG library
|
||||
*
|
||||
* Copyright 2003 Ulrich Czekalla for CodeWeavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "winreg.h"
|
||||
#include "winternl.h"
|
||||
#include "winnls.h"
|
||||
#include "winerror.h"
|
||||
#include "wingdi.h"
|
||||
#include "winuser.h"
|
||||
#include "wine/debug.h"
|
||||
#include "wine/unicode.h"
|
||||
|
||||
#include "oledlg.h"
|
||||
#include "resource.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(oledlg);
|
||||
|
||||
typedef struct
|
||||
{
|
||||
HWND hwndSelf;
|
||||
BOOL bObjListInit; /* Object list has been initialized */
|
||||
LPOLEUIINSERTOBJECTA lpOleUIInsertObject;
|
||||
|
||||
HWND hwndObjTypeLBL;
|
||||
HWND hwndObjTypeLB;
|
||||
HWND hwndFileLBL;
|
||||
HWND hwndFileTB;
|
||||
HWND hwndCreateCtrlCB;
|
||||
HWND hwndCreateNewCB;
|
||||
HWND hwndCreateFromFileCB;
|
||||
HWND hwndDisplayIconCB;
|
||||
HWND hwndAddCtrlBTN;
|
||||
HWND hwndBrowseBTN;
|
||||
HWND hwndResultDesc;
|
||||
|
||||
} InsertObjectDlgInfo;
|
||||
|
||||
INT_PTR CALLBACK UIInsertObjectDlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
static LRESULT UIINSOBJDLG_OnWMCommand(HWND hwnd, WPARAM wParam, LPARAM lParam);
|
||||
static void UIINSERTOBJECTDLG_InitDialog(InsertObjectDlgInfo* pdlgInfo);
|
||||
static void UIINSERTOBJECTDLG_SelectCreateCtrl(InsertObjectDlgInfo* pdlgInfo);
|
||||
static void UIINSERTOBJECTDLG_SelectCreateFromFile(InsertObjectDlgInfo* pdlgInfo);
|
||||
static void UIINSERTOBJECTDLG_SelectCreateNew(InsertObjectDlgInfo* pdlgInfo);
|
||||
static BOOL UIINSERTOBJECTDLG_PopulateObjectTypes(InsertObjectDlgInfo* pdlgInfo);
|
||||
static void UIINSERTOBJECTDLG_FreeObjectTypes(InsertObjectDlgInfo* pdlgInfo);
|
||||
static void UIINSERTOBJECTDLG_SelChange(InsertObjectDlgInfo* pdlgInfo);
|
||||
static BOOL UIINSERTOBJECTDLG_OnOpen(InsertObjectDlgInfo* pdlgInfo);
|
||||
static void UIINSERTOBJECTDLG_BrowseFile(InsertObjectDlgInfo* pdlgInfo);
|
||||
static void UIINSERTOBJECTDLG_AddControl(InsertObjectDlgInfo* pdlgInfo);
|
||||
|
||||
typedef HRESULT (*DLLREGISTER) (void);
|
||||
|
||||
extern HINSTANCE OLEDLG_hInstance;
|
||||
const char *OleUIInsertObjectInfoStr = "OleUIInsertObjectInfoStr";
|
||||
|
||||
/***********************************************************************
|
||||
* OleUIInsertObjectA (OLEDLG.3)
|
||||
*/
|
||||
UINT WINAPI OleUIInsertObjectA(LPOLEUIINSERTOBJECTA lpOleUIInsertObject)
|
||||
{
|
||||
LRESULT lRes;
|
||||
LPCVOID template;
|
||||
HRSRC hRes;
|
||||
InsertObjectDlgInfo dlgInfo;
|
||||
HANDLE hDlgTmpl = 0;
|
||||
|
||||
if (lpOleUIInsertObject->lpszTemplate || lpOleUIInsertObject->hResource)
|
||||
FIXME("Customized template not supported\n");
|
||||
|
||||
/* Create the dialog from a template */
|
||||
if(!(hRes = FindResourceA(OLEDLG_hInstance,MAKEINTRESOURCEA(UIINSERTOBJECT),
|
||||
(LPSTR)RT_DIALOG)))
|
||||
{
|
||||
return OLEUI_ERR_FINDTEMPLATEFAILURE;
|
||||
}
|
||||
|
||||
if (!(hDlgTmpl = LoadResource(OLEDLG_hInstance, hRes )) ||
|
||||
!(template = LockResource( hDlgTmpl )))
|
||||
{
|
||||
return OLEUI_ERR_LOADTEMPLATEFAILURE;
|
||||
}
|
||||
|
||||
/* Initialize InsertObjectDlgInfo structure */
|
||||
dlgInfo.lpOleUIInsertObject = lpOleUIInsertObject;
|
||||
dlgInfo.bObjListInit = FALSE;
|
||||
|
||||
lRes = DialogBoxIndirectParamA(OLEDLG_hInstance, (const DLGTEMPLATE*) template,
|
||||
lpOleUIInsertObject->hWndOwner, UIInsertObjectDlgProc,
|
||||
(LPARAM) &dlgInfo);
|
||||
|
||||
/* Unable to create the dialog */
|
||||
if( lRes == -1)
|
||||
return OLEUI_ERR_DIALOGFAILURE;
|
||||
|
||||
return lRes;
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* UIInsertObjectDlgProc
|
||||
*
|
||||
* OLE UI Insert Object dialog procedure
|
||||
*/
|
||||
INT_PTR CALLBACK UIInsertObjectDlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
InsertObjectDlgInfo* pdlgInfo = (InsertObjectDlgInfo*) GetPropA(hwnd,OleUIInsertObjectInfoStr);
|
||||
|
||||
switch(uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
{
|
||||
InsertObjectDlgInfo* pdlgInfo = (InsertObjectDlgInfo*)lParam;
|
||||
|
||||
pdlgInfo->hwndSelf = hwnd;
|
||||
|
||||
SetPropA(hwnd, OleUIInsertObjectInfoStr, (HANDLE) pdlgInfo);
|
||||
|
||||
UIINSERTOBJECTDLG_InitDialog(pdlgInfo);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
case WM_COMMAND:
|
||||
return UIINSOBJDLG_OnWMCommand(hwnd, wParam, lParam);
|
||||
|
||||
case WM_DESTROY:
|
||||
if (pdlgInfo)
|
||||
UIINSERTOBJECTDLG_FreeObjectTypes(pdlgInfo);
|
||||
RemovePropA(hwnd, OleUIInsertObjectInfoStr);
|
||||
return FALSE;
|
||||
|
||||
default :
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* UIINSOBJDLG_OnWMCommand
|
||||
*
|
||||
* WM_COMMAND message handler
|
||||
*/
|
||||
static LRESULT UIINSOBJDLG_OnWMCommand(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
WORD wNotifyCode = HIWORD(wParam);
|
||||
WORD wID = LOWORD(wParam);
|
||||
InsertObjectDlgInfo* pdlgInfo = (InsertObjectDlgInfo*) GetPropA(hwnd,OleUIInsertObjectInfoStr);
|
||||
|
||||
switch(wID)
|
||||
{
|
||||
case IDOK:
|
||||
EndDialog(hwnd, UIINSERTOBJECTDLG_OnOpen(pdlgInfo));
|
||||
break;
|
||||
|
||||
case IDCANCEL:
|
||||
EndDialog(hwnd, FALSE);
|
||||
break;
|
||||
|
||||
case IDC_CREATECONTROL:
|
||||
UIINSERTOBJECTDLG_SelectCreateCtrl(pdlgInfo);
|
||||
break;
|
||||
|
||||
case IDC_CREATENEW:
|
||||
UIINSERTOBJECTDLG_SelectCreateNew(pdlgInfo);
|
||||
break;
|
||||
|
||||
case IDC_CREATEFROMFILE:
|
||||
UIINSERTOBJECTDLG_SelectCreateFromFile(pdlgInfo);
|
||||
break;
|
||||
|
||||
case IDC_BROWSE:
|
||||
UIINSERTOBJECTDLG_BrowseFile(pdlgInfo);
|
||||
break;
|
||||
|
||||
case IDC_ADDCONTROL:
|
||||
UIINSERTOBJECTDLG_AddControl(pdlgInfo);
|
||||
|
||||
case IDC_OBJTYPELIST:
|
||||
{
|
||||
if (wNotifyCode == LBN_SELCHANGE)
|
||||
UIINSERTOBJECTDLG_SelChange(pdlgInfo);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* UIINSERTOBJECTDLG_InitDialog
|
||||
*
|
||||
* Initialize dialog display
|
||||
*/
|
||||
static void UIINSERTOBJECTDLG_InitDialog(InsertObjectDlgInfo* pdlgInfo)
|
||||
{
|
||||
/* Initialize InsertObjectDlgInfo data structure */
|
||||
pdlgInfo->hwndObjTypeLB = GetDlgItem(pdlgInfo->hwndSelf, IDC_OBJTYPELIST);
|
||||
pdlgInfo->hwndObjTypeLBL = GetDlgItem(pdlgInfo->hwndSelf, IDC_OBJTYPELBL);
|
||||
pdlgInfo->hwndFileLBL = GetDlgItem(pdlgInfo->hwndSelf, IDC_FILELBL);
|
||||
pdlgInfo->hwndFileTB = GetDlgItem(pdlgInfo->hwndSelf, IDC_FILE);
|
||||
pdlgInfo->hwndCreateCtrlCB = GetDlgItem(pdlgInfo->hwndSelf, IDC_CREATECONTROL);
|
||||
pdlgInfo->hwndCreateNewCB = GetDlgItem(pdlgInfo->hwndSelf, IDC_CREATENEW);
|
||||
pdlgInfo->hwndCreateFromFileCB = GetDlgItem(pdlgInfo->hwndSelf, IDC_CREATEFROMFILE);
|
||||
pdlgInfo->hwndDisplayIconCB = GetDlgItem(pdlgInfo->hwndSelf, IDC_ASICON);
|
||||
pdlgInfo->hwndAddCtrlBTN = GetDlgItem(pdlgInfo->hwndSelf, IDC_ADDCONTROL);
|
||||
pdlgInfo->hwndBrowseBTN = GetDlgItem(pdlgInfo->hwndSelf, IDC_BROWSE);
|
||||
pdlgInfo->hwndResultDesc = GetDlgItem(pdlgInfo->hwndSelf, IDC_RESULTDESC);
|
||||
|
||||
/* Setup dialog controls based on flags */
|
||||
if (pdlgInfo->lpOleUIInsertObject->lpszCaption)
|
||||
SetWindowTextA(pdlgInfo->hwndSelf, pdlgInfo->lpOleUIInsertObject->lpszCaption);
|
||||
|
||||
ShowWindow(pdlgInfo->hwndCreateCtrlCB, (pdlgInfo->lpOleUIInsertObject->dwFlags &
|
||||
IOF_SHOWINSERTCONTROL) ? SW_SHOW : SW_HIDE);
|
||||
ShowWindow(pdlgInfo->hwndDisplayIconCB, (pdlgInfo->lpOleUIInsertObject->dwFlags &
|
||||
IOF_CHECKDISPLAYASICON) ? SW_SHOW : SW_HIDE);
|
||||
EnableWindow(pdlgInfo->hwndDisplayIconCB, (pdlgInfo->lpOleUIInsertObject->dwFlags &
|
||||
IOF_DISABLEDISPLAYASICON) ? FALSE : TRUE);
|
||||
|
||||
if (pdlgInfo->lpOleUIInsertObject->dwFlags & IOF_SELECTCREATECONTROL)
|
||||
UIINSERTOBJECTDLG_SelectCreateCtrl(pdlgInfo);
|
||||
else if (pdlgInfo->lpOleUIInsertObject->dwFlags & IOF_SELECTCREATEFROMFILE)
|
||||
UIINSERTOBJECTDLG_SelectCreateFromFile(pdlgInfo);
|
||||
else /* (pdlgInfo->lpOleUIInsertObject->dwFlags & IOF_SELECTCREATENEW) */
|
||||
UIINSERTOBJECTDLG_SelectCreateNew(pdlgInfo);
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* UIINSERTOBJECTDLG_SelectCreateCtrl
|
||||
*
|
||||
* Select Create Control Radio Button
|
||||
*/
|
||||
static void UIINSERTOBJECTDLG_SelectCreateCtrl(InsertObjectDlgInfo* pdlgInfo)
|
||||
{
|
||||
ShowWindow(pdlgInfo->hwndDisplayIconCB, SW_HIDE);
|
||||
ShowWindow(pdlgInfo->hwndFileLBL, SW_HIDE);
|
||||
ShowWindow(pdlgInfo->hwndFileTB, SW_HIDE);
|
||||
ShowWindow(pdlgInfo->hwndBrowseBTN, SW_HIDE);
|
||||
|
||||
ShowWindow(pdlgInfo->hwndObjTypeLBL, SW_SHOW);
|
||||
ShowWindow(pdlgInfo->hwndObjTypeLB, SW_SHOW);
|
||||
ShowWindow(pdlgInfo->hwndAddCtrlBTN, SW_SHOW);
|
||||
|
||||
SendMessageA(pdlgInfo->hwndCreateCtrlCB, BM_SETCHECK, BST_CHECKED, 0);
|
||||
|
||||
/* Populate object type listbox */
|
||||
if (!pdlgInfo->bObjListInit)
|
||||
UIINSERTOBJECTDLG_PopulateObjectTypes(pdlgInfo);
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* UIINSERTOBJECTDLG_SelectCreateNew
|
||||
*
|
||||
* Select Create New Radio Button
|
||||
*/
|
||||
static void UIINSERTOBJECTDLG_SelectCreateNew(InsertObjectDlgInfo* pdlgInfo)
|
||||
{
|
||||
ShowWindow(pdlgInfo->hwndFileLBL, SW_HIDE);
|
||||
ShowWindow(pdlgInfo->hwndFileTB, SW_HIDE);
|
||||
ShowWindow(pdlgInfo->hwndAddCtrlBTN, SW_HIDE);
|
||||
ShowWindow(pdlgInfo->hwndBrowseBTN, SW_HIDE);
|
||||
|
||||
if (pdlgInfo->lpOleUIInsertObject->dwFlags & IOF_CHECKDISPLAYASICON)
|
||||
ShowWindow(pdlgInfo->hwndDisplayIconCB, SW_SHOW);
|
||||
|
||||
ShowWindow(pdlgInfo->hwndObjTypeLBL, SW_SHOW);
|
||||
ShowWindow(pdlgInfo->hwndObjTypeLB, SW_SHOW);
|
||||
|
||||
SendMessageA(pdlgInfo->hwndCreateNewCB, BM_SETCHECK, BST_CHECKED, 0);
|
||||
|
||||
if (!pdlgInfo->bObjListInit)
|
||||
UIINSERTOBJECTDLG_PopulateObjectTypes(pdlgInfo);
|
||||
|
||||
UIINSERTOBJECTDLG_SelChange(pdlgInfo);
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* UIINSERTOBJECTDLG_SelectCreateFromFile
|
||||
*
|
||||
* Select Create From File Radio Button
|
||||
*/
|
||||
static void UIINSERTOBJECTDLG_SelectCreateFromFile(InsertObjectDlgInfo* pdlgInfo)
|
||||
{
|
||||
char resstr[MAX_PATH];
|
||||
|
||||
ShowWindow(pdlgInfo->hwndAddCtrlBTN, SW_HIDE);
|
||||
ShowWindow(pdlgInfo->hwndObjTypeLBL, SW_HIDE);
|
||||
ShowWindow(pdlgInfo->hwndObjTypeLB, SW_HIDE);
|
||||
|
||||
if (pdlgInfo->lpOleUIInsertObject->dwFlags & IOF_CHECKDISPLAYASICON)
|
||||
ShowWindow(pdlgInfo->hwndDisplayIconCB, SW_SHOW);
|
||||
|
||||
ShowWindow(pdlgInfo->hwndFileLBL, SW_SHOW);
|
||||
ShowWindow(pdlgInfo->hwndFileTB, SW_SHOW);
|
||||
ShowWindow(pdlgInfo->hwndBrowseBTN, SW_SHOW);
|
||||
|
||||
SendMessageA(pdlgInfo->hwndCreateFromFileCB, BM_SETCHECK, BST_CHECKED, 0);
|
||||
|
||||
if (LoadStringA(OLEDLG_hInstance, IDS_RESULTFILEOBJDESC, resstr, MAX_PATH))
|
||||
SendMessageA(pdlgInfo->hwndResultDesc, WM_SETTEXT, 0, (LPARAM)resstr);
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* UIINSERTOBJECTDLG_PopulateObjectTypes
|
||||
*
|
||||
* Populate Object Type listbox
|
||||
*/
|
||||
static BOOL UIINSERTOBJECTDLG_PopulateObjectTypes(InsertObjectDlgInfo* pdlgInfo)
|
||||
{
|
||||
DWORD i, len;
|
||||
HKEY hkclsids;
|
||||
HKEY hkey;
|
||||
CLSID clsid;
|
||||
HRESULT ret;
|
||||
CHAR szclsid[128];
|
||||
CHAR keydesc[MAX_PATH];
|
||||
CHAR keyname[MAX_PATH];
|
||||
WCHAR wszclsid[128];
|
||||
DWORD index = 0;
|
||||
|
||||
UIINSERTOBJECTDLG_FreeObjectTypes(pdlgInfo);
|
||||
|
||||
RegOpenKeyExA(HKEY_CLASSES_ROOT, "CLSID", 0, KEY_READ, &hkclsids);
|
||||
|
||||
while (ERROR_SUCCESS == (ret = RegEnumKeyA(hkclsids, index, szclsid, MAX_PATH)))
|
||||
{
|
||||
index++;
|
||||
|
||||
RegOpenKeyExA(hkclsids, szclsid, 0, KEY_READ, &hkey);
|
||||
|
||||
len = MAX_PATH;
|
||||
if (ERROR_SUCCESS != RegQueryValueA(hkey, "Insertable", keyname, &len))
|
||||
continue;
|
||||
|
||||
len = MAX_PATH;
|
||||
if (ERROR_SUCCESS == RegQueryValueA(hkey, "NotInsertable", keyname, &len))
|
||||
continue;
|
||||
|
||||
RtlMultiByteToUnicodeN(wszclsid, MAX_PATH, NULL, szclsid, MAX_PATH);
|
||||
CLSIDFromString(wszclsid, &clsid);
|
||||
|
||||
for (i = 0; i < pdlgInfo->lpOleUIInsertObject->cClsidExclude; i++)
|
||||
if (IsEqualGUID(&pdlgInfo->lpOleUIInsertObject->lpClsidExclude[i], &clsid))
|
||||
break;
|
||||
|
||||
if (i < pdlgInfo->lpOleUIInsertObject->cClsidExclude)
|
||||
continue;
|
||||
|
||||
len = MAX_PATH;
|
||||
if (ERROR_SUCCESS == RegQueryValueA(hkey, NULL, keydesc, &len))
|
||||
{
|
||||
CLSID* lpclsid = (CLSID*) HeapAlloc(GetProcessHeap(), 0, sizeof(CLSID));
|
||||
memcpy(lpclsid, &clsid, sizeof(CLSID));
|
||||
|
||||
len = SendMessageA(pdlgInfo->hwndObjTypeLB, LB_ADDSTRING, 0, (LPARAM)keydesc);
|
||||
SendMessageA(pdlgInfo->hwndObjTypeLB, LB_SETITEMDATA, (WPARAM)len, (LPARAM)lpclsid);
|
||||
}
|
||||
}
|
||||
|
||||
pdlgInfo->bObjListInit = (ret == ERROR_NO_MORE_ITEMS);
|
||||
|
||||
return pdlgInfo->bObjListInit;
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* UIINSERTOBJECTDLG_FreeObjectTypes
|
||||
*
|
||||
* Free Object Types listbox
|
||||
*/
|
||||
static void UIINSERTOBJECTDLG_FreeObjectTypes(InsertObjectDlgInfo* pdlgInfo)
|
||||
{
|
||||
UINT i, count;
|
||||
|
||||
count = SendMessageA(pdlgInfo->hwndObjTypeLB, LB_GETCOUNT, (WPARAM)0, (LPARAM)0);
|
||||
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
CLSID* lpclsid = (CLSID*) SendMessageA(pdlgInfo->hwndObjTypeLB,
|
||||
LB_GETITEMDATA, (WPARAM)i, (LPARAM)0);
|
||||
HeapFree(GetProcessHeap(), 0, lpclsid);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* UIINSERTOBJECTDLG_SelChange
|
||||
*
|
||||
* Handle object type selection change
|
||||
*/
|
||||
static void UIINSERTOBJECTDLG_SelChange(InsertObjectDlgInfo* pdlgInfo)
|
||||
{
|
||||
INT index;
|
||||
CHAR objname[MAX_PATH];
|
||||
CHAR objdesc[MAX_PATH];
|
||||
CHAR resstr[MAX_PATH];
|
||||
|
||||
TRACE("\n");
|
||||
|
||||
if (LoadStringA(OLEDLG_hInstance, IDS_RESULTOBJDESC, resstr, MAX_PATH) &&
|
||||
((index = SendMessageA(pdlgInfo->hwndObjTypeLB, LB_GETCURSEL, 0, 0)) >= 0) &&
|
||||
SendMessageA(pdlgInfo->hwndObjTypeLB, LB_GETTEXT, (WPARAM)index, (LPARAM)objname))
|
||||
sprintf(objdesc, resstr, objname);
|
||||
else
|
||||
objdesc[0] = 0;
|
||||
|
||||
SendMessageA(pdlgInfo->hwndResultDesc, WM_SETTEXT, 0, (LPARAM)objdesc);
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* UIINSERTOBJECTDLG_SelChange
|
||||
*
|
||||
* Handle OK Button
|
||||
*/
|
||||
static BOOL UIINSERTOBJECTDLG_OnOpen(InsertObjectDlgInfo* pdlgInfo)
|
||||
{
|
||||
BOOL bret = FALSE;
|
||||
|
||||
if (BST_CHECKED == SendMessageA(pdlgInfo->hwndCreateCtrlCB, BM_GETCHECK, 0, 0) ||
|
||||
BST_CHECKED == SendMessageA(pdlgInfo->hwndCreateNewCB, BM_GETCHECK, 0, 0))
|
||||
{
|
||||
INT index = SendMessageA(pdlgInfo->hwndObjTypeLB, LB_GETCURSEL, 0, 0);
|
||||
|
||||
if (index >= 0)
|
||||
{
|
||||
CLSID* clsid = (CLSID*) SendMessageA(pdlgInfo->hwndObjTypeLB,
|
||||
LB_GETITEMDATA, (WPARAM)index, 0);
|
||||
memcpy(&pdlgInfo->lpOleUIInsertObject->clsid, clsid, sizeof(CLSID));
|
||||
|
||||
if (pdlgInfo->lpOleUIInsertObject->dwFlags & IOF_CREATENEWOBJECT)
|
||||
{
|
||||
pdlgInfo->lpOleUIInsertObject->sc= OleCreate(
|
||||
&pdlgInfo->lpOleUIInsertObject->clsid,
|
||||
&pdlgInfo->lpOleUIInsertObject->iid,
|
||||
pdlgInfo->lpOleUIInsertObject->oleRender,
|
||||
pdlgInfo->lpOleUIInsertObject->lpFormatEtc,
|
||||
pdlgInfo->lpOleUIInsertObject->lpIOleClientSite,
|
||||
pdlgInfo->lpOleUIInsertObject->lpIStorage,
|
||||
pdlgInfo->lpOleUIInsertObject->ppvObj);
|
||||
}
|
||||
|
||||
bret = TRUE;
|
||||
}
|
||||
}
|
||||
else if (BST_CHECKED == SendMessageA(pdlgInfo->hwndCreateFromFileCB, BM_GETCHECK, 0, 0))
|
||||
{
|
||||
char fname[MAX_PATH];
|
||||
|
||||
if (pdlgInfo->lpOleUIInsertObject->lpszFile)
|
||||
{
|
||||
HRESULT hres;
|
||||
WCHAR wcsFile[MAX_PATH];
|
||||
|
||||
SendMessageA(pdlgInfo->hwndFileTB, WM_GETTEXT, (WPARAM)MAX_PATH, (LPARAM)fname);
|
||||
strncpy(pdlgInfo->lpOleUIInsertObject->lpszFile, fname, pdlgInfo->lpOleUIInsertObject->cchFile);
|
||||
|
||||
RtlMultiByteToUnicodeN(wcsFile, MAX_PATH, NULL, fname, MAX_PATH);
|
||||
if (ERROR_SUCCESS == (hres = GetClassFile(wcsFile, &pdlgInfo->lpOleUIInsertObject->clsid)))
|
||||
{
|
||||
if (pdlgInfo->lpOleUIInsertObject->dwFlags & IOF_CREATEFILEOBJECT)
|
||||
{
|
||||
hres = OleCreateFromFile(
|
||||
&pdlgInfo->lpOleUIInsertObject->clsid,
|
||||
wcsFile,
|
||||
&pdlgInfo->lpOleUIInsertObject->iid,
|
||||
pdlgInfo->lpOleUIInsertObject->oleRender,
|
||||
pdlgInfo->lpOleUIInsertObject->lpFormatEtc,
|
||||
pdlgInfo->lpOleUIInsertObject->lpIOleClientSite,
|
||||
pdlgInfo->lpOleUIInsertObject->lpIStorage,
|
||||
pdlgInfo->lpOleUIInsertObject->ppvObj);
|
||||
}
|
||||
|
||||
bret = TRUE;
|
||||
}
|
||||
pdlgInfo->lpOleUIInsertObject->sc = hres;
|
||||
}
|
||||
}
|
||||
|
||||
return bret;
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* UIINSERTOBJECTDLG_BrowseFile
|
||||
*
|
||||
* Browse for the file
|
||||
*/
|
||||
static void UIINSERTOBJECTDLG_BrowseFile(InsertObjectDlgInfo* pdlgInfo)
|
||||
{
|
||||
OPENFILENAMEA fn;
|
||||
char fname[MAX_PATH];
|
||||
char title[32];
|
||||
|
||||
fn.lStructSize = sizeof(OPENFILENAMEA);
|
||||
fn.hwndOwner = pdlgInfo->hwndSelf;
|
||||
fn.hInstance = 0;
|
||||
fn.lpstrFilter = "All Files\0*.*\0\0";
|
||||
fn.lpstrCustomFilter = NULL;
|
||||
fn.nMaxCustFilter = 0;
|
||||
fn.nFilterIndex = 0;
|
||||
|
||||
SendMessageA(pdlgInfo->hwndFileTB, WM_GETTEXT, (WPARAM)MAX_PATH, (LPARAM)fname);
|
||||
fn.lpstrFile = fname;
|
||||
fn.nMaxFile = MAX_PATH;
|
||||
|
||||
fn.lpstrFileTitle = NULL;
|
||||
fn.nMaxFileTitle = 0;
|
||||
fn.lpstrInitialDir = NULL;
|
||||
|
||||
LoadStringA(OLEDLG_hInstance, IDS_BROWSE, title, 32);
|
||||
fn.lpstrTitle = title;
|
||||
|
||||
fn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST |
|
||||
OFN_HIDEREADONLY | OFN_LONGNAMES;
|
||||
fn.nFileOffset = 0;
|
||||
fn.nFileExtension = 0;
|
||||
fn.lpstrDefExt = NULL;
|
||||
fn.lCustData = 0;
|
||||
fn.lpfnHook = NULL;
|
||||
fn.lpTemplateName = NULL;
|
||||
|
||||
if (GetOpenFileNameA(&fn))
|
||||
SendMessageA(pdlgInfo->hwndFileTB, WM_SETTEXT, (WPARAM)0, (LPARAM)fn.lpstrFile);
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* UIINSERTOBJECTDLG_AddControl
|
||||
*
|
||||
* Add control to Object Type
|
||||
*/
|
||||
static void UIINSERTOBJECTDLG_AddControl(InsertObjectDlgInfo* pdlgInfo)
|
||||
{
|
||||
OPENFILENAMEA fn;
|
||||
char fname[MAX_PATH];
|
||||
char title[32];
|
||||
|
||||
fn.lStructSize = sizeof(OPENFILENAMEA);
|
||||
fn.hwndOwner = pdlgInfo->hwndSelf;
|
||||
fn.hInstance = 0;
|
||||
fn.lpstrFilter = "OLE Controls\0*.ocx\0Libraries\0*.dll\0All Files\0*.*\0\0";
|
||||
fn.lpstrCustomFilter = NULL;
|
||||
fn.nMaxCustFilter = 0;
|
||||
fn.nFilterIndex = 0;
|
||||
|
||||
fname[0] = 0;
|
||||
fn.lpstrFile = fname;
|
||||
fn.nMaxFile = MAX_PATH;
|
||||
|
||||
fn.lpstrFileTitle = NULL;
|
||||
fn.nMaxFileTitle = 0;
|
||||
fn.lpstrInitialDir = NULL;
|
||||
|
||||
LoadStringA(OLEDLG_hInstance, IDS_BROWSE, title, 32);
|
||||
fn.lpstrTitle = title;
|
||||
|
||||
fn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST |
|
||||
OFN_HIDEREADONLY | OFN_LONGNAMES;
|
||||
fn.nFileOffset = 0;
|
||||
fn.nFileExtension = 0;
|
||||
fn.lpstrDefExt = NULL;
|
||||
fn.lCustData = 0;
|
||||
fn.lpfnHook = NULL;
|
||||
fn.lpTemplateName = NULL;
|
||||
|
||||
if (GetOpenFileNameA(&fn))
|
||||
{
|
||||
HMODULE hMod;
|
||||
BOOL bValid = FALSE;
|
||||
|
||||
hMod = LoadLibraryA(fn.lpstrFile);
|
||||
|
||||
if (hMod)
|
||||
{
|
||||
DLLREGISTER regproc;
|
||||
|
||||
regproc = (DLLREGISTER) GetProcAddress(hMod, "DllRegisterServer");
|
||||
if (regproc)
|
||||
{
|
||||
if (S_OK == regproc())
|
||||
{
|
||||
UIINSERTOBJECTDLG_PopulateObjectTypes(pdlgInfo);
|
||||
bValid = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
FreeLibrary(hMod);
|
||||
}
|
||||
|
||||
if (!bValid)
|
||||
{
|
||||
char title[32];
|
||||
char msg[256];
|
||||
|
||||
LoadStringA(OLEDLG_hInstance, IDS_NOTOLEMODCAPTION, title, 32);
|
||||
LoadStringA(OLEDLG_hInstance, IDS_NOTOLEMOD, msg, 256);
|
||||
|
||||
MessageBoxA(pdlgInfo->hwndSelf, msg, title, MB_ICONEXCLAMATION);
|
||||
}
|
||||
}
|
||||
}
|
9
reactos/lib/oledlg/makefile
Normal file
9
reactos/lib/oledlg/makefile
Normal file
|
@ -0,0 +1,9 @@
|
|||
# $Id: makefile 7619 2004-01-14 01:55:00Z sedwards $
|
||||
|
||||
PATH_TO_TOP = ../..
|
||||
|
||||
TARGET_TYPE = winedll
|
||||
|
||||
include $(PATH_TO_TOP)/rules.mak
|
||||
|
||||
include $(TOOLS_PATH)/helper.mk
|
23
reactos/lib/oledlg/oledlg.spec
Normal file
23
reactos/lib/oledlg/oledlg.spec
Normal file
|
@ -0,0 +1,23 @@
|
|||
1 stdcall OleUIAddVerbMenuA(ptr str long long long long long long ptr)
|
||||
2 stdcall OleUICanConvertOrActivateAs(ptr long long)
|
||||
3 stdcall OleUIInsertObjectA(ptr)
|
||||
4 stdcall OleUIPasteSpecialA(ptr)
|
||||
5 stdcall OleUIEditLinksA(ptr)
|
||||
6 stdcall OleUIChangeIconA(ptr)
|
||||
7 stdcall OleUIConvertA(ptr)
|
||||
8 stdcall OleUIBusyA(ptr)
|
||||
9 stdcall OleUIUpdateLinksA(ptr long str long)
|
||||
10 varargs OleUIPromptUserA(long long)
|
||||
11 stdcall OleUIObjectPropertiesA(ptr)
|
||||
12 stdcall OleUIChangeSourceA(ptr)
|
||||
13 varargs OleUIPromptUserW(long long)
|
||||
14 stdcall OleUIAddVerbMenuW(ptr wstr long long long long long long ptr)
|
||||
15 stdcall OleUIBusyW(ptr)
|
||||
16 stdcall OleUIChangeIconW(ptr)
|
||||
17 stdcall OleUIChangeSourceW(ptr)
|
||||
18 stdcall OleUIConvertW(ptr)
|
||||
19 stdcall OleUIEditLinksW(ptr)
|
||||
20 stdcall OleUIInsertObjectW(ptr)
|
||||
21 stdcall OleUIObjectPropertiesW(ptr)
|
||||
22 stdcall OleUIPasteSpecialW(ptr)
|
||||
23 stdcall OleUIUpdateLinksW(ptr long wstr long)
|
57
reactos/lib/oledlg/oledlg_Cs.rc
Normal file
57
reactos/lib/oledlg/oledlg_Cs.rc
Normal file
|
@ -0,0 +1,57 @@
|
|||
/*
|
||||
* Czech resources or oledlg
|
||||
* Copyright 2003 Ulrich Czekalla for CodeWeavers
|
||||
* Copyright 2004 David Kredba
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
|
||||
|
||||
UIINSERTOBJECT DIALOG DISCARDABLE 0, 0, 294, 151
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Vlo¾it objekt"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LISTBOX IDC_OBJTYPELIST,82,19,131,66,LBS_SORT |
|
||||
LBS_NOINTEGRALHEIGHT | WS_VISIBLE | WS_VSCROLL |
|
||||
WS_TABSTOP
|
||||
LTEXT "Typ objektu:",IDC_OBJTYPELBL,82,7,53,8,WS_VISIBLE
|
||||
DEFPUSHBUTTON "OK",IDOK,221,7,66,14
|
||||
PUSHBUTTON "Storno",IDCANCEL,221,24,66,14
|
||||
GROUPBOX "Výsledek",IDC_RESULT,7,103,208,41
|
||||
CONTROL "Vytvoøit nový",IDC_CREATENEW,"Button",BS_AUTORADIOBUTTON |
|
||||
WS_GROUP,7,20,62,10
|
||||
CONTROL "Vytvoøit propojení",IDC_CREATECONTROL,"Button",
|
||||
BS_AUTORADIOBUTTON | NOT WS_VISIBLE,7,54,62,10
|
||||
CONTROL "Vytvoøit ze souboru",IDC_CREATEFROMFILE,"Button",
|
||||
BS_AUTORADIOBUTTON,7,37,67,10
|
||||
LTEXT "",IDC_RESULTDESC,49,112,159,23
|
||||
PUSHBUTTON "Pøid&at propojení...",IDC_ADDCONTROL,81,88,63,14,NOT WS_VISIBLE
|
||||
CONTROL "Zobrazit jako ikonu",IDC_ASICON,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP | NOT WS_VISIBLE,223,58,64,10
|
||||
PUSHBUTTON "Procházet...",IDC_BROWSE,83,53,50,14,NOT WS_VISIBLE
|
||||
LTEXT "Soubor:",IDC_FILELBL,83,27,20,8, NOT WS_VISIBLE
|
||||
EDITTEXT IDC_FILE,83,37,132,13,ES_AUTOHSCROLL | NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_RESULTOBJDESC "Vlo¾en nový %s objekt do Va¹eho dokumentu"
|
||||
IDS_RESULTFILEOBJDESC "Vlo¾en obsah souboru jako objekt do Va¹eho dokumentu, tak¾e ho mù¾ete upravit programem, kterým byl vytvoøen."
|
||||
IDS_BROWSE "Procházet"
|
||||
IDS_NOTOLEMOD "Soubor není platným OLE modulem. Nelze registrovat OLE propojení."
|
||||
IDS_NOTOLEMODCAPTION "Pøidat propojení"
|
||||
}
|
55
reactos/lib/oledlg/oledlg_De.rc
Normal file
55
reactos/lib/oledlg/oledlg_De.rc
Normal file
|
@ -0,0 +1,55 @@
|
|||
/*
|
||||
* Copyright 2004 Henning Gerhardt
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_GERMAN, SUBLANG_DEFAULT
|
||||
|
||||
UIINSERTOBJECT DIALOG DISCARDABLE 0, 0, 294, 151
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Objekt einfügen"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LISTBOX IDC_OBJTYPELIST,82,19,131,66,LBS_SORT |
|
||||
LBS_NOINTEGRALHEIGHT | WS_VISIBLE | WS_VSCROLL |
|
||||
WS_TABSTOP
|
||||
LTEXT "Objekttyp:",IDC_OBJTYPELBL,82,7,53,8,WS_VISIBLE
|
||||
DEFPUSHBUTTON "OK",IDOK,221,7,66,14
|
||||
PUSHBUTTON "Abbrechen",IDCANCEL,221,24,66,14
|
||||
GROUPBOX "Ergebnis",IDC_RESULT,7,103,208,41
|
||||
CONTROL "&Neu erstellen",IDC_CREATENEW,"Button",BS_AUTORADIOBUTTON |
|
||||
WS_GROUP,7,20,62,10
|
||||
CONTROL "S&teuerung erstellen",IDC_CREATECONTROL,"Button",
|
||||
BS_AUTORADIOBUTTON | NOT WS_VISIBLE,7,54,62,10
|
||||
CONTROL "A&us Datei erstellen",IDC_CREATEFROMFILE,"Button",
|
||||
BS_AUTORADIOBUTTON,7,37,67,10
|
||||
LTEXT "",IDC_RESULTDESC,49,112,159,23
|
||||
PUSHBUTTON "Steuerung hin&zufügen",IDC_ADDCONTROL,81,88,63,14,NOT WS_VISIBLE
|
||||
CONTROL "Als &Symbol anzeigen",IDC_ASICON,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP | NOT WS_VISIBLE,223,58,64,10
|
||||
PUSHBUTTON "D&urchsuchen...",IDC_BROWSE,83,53,50,14,NOT WS_VISIBLE
|
||||
LTEXT "Datei:",IDC_FILELBL,83,27,20,8, NOT WS_VISIBLE
|
||||
EDITTEXT IDC_FILE,83,37,132,13,ES_AUTOHSCROLL | NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_RESULTOBJDESC "Fügt ein neues %s - Objekt in Ihr Dokument ein."
|
||||
IDS_RESULTFILEOBJDESC "Fügt den Inhalt der Datei als Objekt so in Ihr Dokument ein, dass Sie es mit dem Programm aktivieren können, mit dem es erstellt wurde."
|
||||
IDS_BROWSE "Durchsuchen"
|
||||
IDS_NOTOLEMOD "Die Datei ist offenbar kein gültiges OLE - Steuermodul. Die OLE - Steuerung konnte nicht registiert werden."
|
||||
IDS_NOTOLEMODCAPTION "Steuerung hinzufügen"
|
||||
}
|
55
reactos/lib/oledlg/oledlg_En.rc
Normal file
55
reactos/lib/oledlg/oledlg_En.rc
Normal file
|
@ -0,0 +1,55 @@
|
|||
/*
|
||||
* Copyright 2003 Ulrich Czekalla for CodeWeavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
|
||||
|
||||
UIINSERTOBJECT DIALOG DISCARDABLE 0, 0, 294, 151
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Insert Object"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LISTBOX IDC_OBJTYPELIST,82,19,131,66,LBS_SORT |
|
||||
LBS_NOINTEGRALHEIGHT | WS_VISIBLE | WS_VSCROLL |
|
||||
WS_TABSTOP
|
||||
LTEXT "Object Type:",IDC_OBJTYPELBL,82,7,53,8,WS_VISIBLE
|
||||
DEFPUSHBUTTON "OK",IDOK,221,7,66,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,221,24,66,14
|
||||
GROUPBOX "Result",IDC_RESULT,7,103,208,41
|
||||
CONTROL "Create New",IDC_CREATENEW,"Button",BS_AUTORADIOBUTTON |
|
||||
WS_GROUP,7,20,62,10
|
||||
CONTROL "Create Control",IDC_CREATECONTROL,"Button",
|
||||
BS_AUTORADIOBUTTON | NOT WS_VISIBLE,7,54,62,10
|
||||
CONTROL "Create From File",IDC_CREATEFROMFILE,"Button",
|
||||
BS_AUTORADIOBUTTON,7,37,67,10
|
||||
LTEXT "",IDC_RESULTDESC,49,112,159,23
|
||||
PUSHBUTTON "&Add Control...",IDC_ADDCONTROL,81,88,63,14,NOT WS_VISIBLE
|
||||
CONTROL "Display As Icon",IDC_ASICON,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP | NOT WS_VISIBLE,223,58,64,10
|
||||
PUSHBUTTON "Browse...",IDC_BROWSE,83,53,50,14,NOT WS_VISIBLE
|
||||
LTEXT "File:",IDC_FILELBL,83,27,20,8, NOT WS_VISIBLE
|
||||
EDITTEXT IDC_FILE,83,37,132,13,ES_AUTOHSCROLL | NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_RESULTOBJDESC "Insert a new %s object into your document"
|
||||
IDS_RESULTFILEOBJDESC "Insert the contents of the file as an object into your document so that you may activate it using the program which created it."
|
||||
IDS_BROWSE "Browse"
|
||||
IDS_NOTOLEMOD "File does not appear to be a valid OLE module. Unable to register OLE control."
|
||||
IDS_NOTOLEMODCAPTION "Add Control"
|
||||
}
|
55
reactos/lib/oledlg/oledlg_Es.rc
Normal file
55
reactos/lib/oledlg/oledlg_Es.rc
Normal file
|
@ -0,0 +1,55 @@
|
|||
/*
|
||||
* Copyright 2004 José Manuel Ferrer Ortiz
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_SPANISH, SUBLANG_DEFAULT
|
||||
|
||||
UIINSERTOBJECT DIALOG DISCARDABLE 0, 0, 294, 151
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Insertar objeto"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LISTBOX IDC_OBJTYPELIST,82,19,131,66,LBS_SORT |
|
||||
LBS_NOINTEGRALHEIGHT | WS_VISIBLE | WS_VSCROLL |
|
||||
WS_TABSTOP
|
||||
LTEXT "Tipo de objeto:",IDC_OBJTYPELBL,82,7,53,8,WS_VISIBLE
|
||||
DEFPUSHBUTTON "Aceptar",IDOK,221,7,66,14
|
||||
PUSHBUTTON "Cancelar",IDCANCEL,221,24,66,14
|
||||
GROUPBOX "Resultado",IDC_RESULT,7,103,208,41
|
||||
CONTROL "Crear nuevo",IDC_CREATENEW,"Button",BS_AUTORADIOBUTTON |
|
||||
WS_GROUP,7,20,62,10
|
||||
CONTROL "Crear control",IDC_CREATECONTROL,"Button",
|
||||
BS_AUTORADIOBUTTON | NOT WS_VISIBLE,7,54,62,10
|
||||
CONTROL "Crear desde archivo",IDC_CREATEFROMFILE,"Button",
|
||||
BS_AUTORADIOBUTTON,7,37,67,10
|
||||
LTEXT "",IDC_RESULTDESC,49,112,159,23
|
||||
PUSHBUTTON "&Añadir control...",IDC_ADDCONTROL,81,88,63,14,NOT WS_VISIBLE
|
||||
CONTROL "Mostrar como icono",IDC_ASICON,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP | NOT WS_VISIBLE,223,58,64,10
|
||||
PUSHBUTTON "Explorar...",IDC_BROWSE,83,53,50,14,NOT WS_VISIBLE
|
||||
LTEXT "Archivo:",IDC_FILELBL,83,27,20,8, NOT WS_VISIBLE
|
||||
EDITTEXT IDC_FILE,83,37,132,13,ES_AUTOHSCROLL | NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_RESULTOBJDESC "Inserta un nuevo objeto %s en su documento"
|
||||
IDS_RESULTFILEOBJDESC "Inserta el contenido del archivo como un objeto en su documento, con lo que podrá activarlo utilizando el programa que lo creó."
|
||||
IDS_BROWSE "Explorar"
|
||||
IDS_NOTOLEMOD "El archivo no parece ser un módulo OLE válido. Incapaz de registrar el control OLE."
|
||||
IDS_NOTOLEMODCAPTION "Añadir control"
|
||||
}
|
56
reactos/lib/oledlg/oledlg_It.rc
Normal file
56
reactos/lib/oledlg/oledlg_It.rc
Normal file
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright 2003 Ulrich Czekalla for CodeWeavers
|
||||
* Copyright 2003 Ivan Leo Puoti
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_ITALIAN, SUBLANG_DEFAULT
|
||||
|
||||
UIINSERTOBJECT DIALOG DISCARDABLE 0, 0, 294, 151
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Insersci oggetto"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LISTBOX IDC_OBJTYPELIST,82,19,131,66,LBS_SORT |
|
||||
LBS_NOINTEGRALHEIGHT | WS_VISIBLE | WS_VSCROLL |
|
||||
WS_TABSTOP
|
||||
LTEXT "Tipo di oggetto:",IDC_OBJTYPELBL,82,7,53,8,WS_VISIBLE
|
||||
DEFPUSHBUTTON "OK",IDOK,221,7,66,14
|
||||
PUSHBUTTON "Annulla",IDCANCEL,221,24,66,14
|
||||
GROUPBOX "Risultato",IDC_RESULT,7,103,208,41
|
||||
CONTROL "Crea Nuovo",IDC_CREATENEW,"Button",BS_AUTORADIOBUTTON |
|
||||
WS_GROUP,7,20,62,10
|
||||
CONTROL "Crea Controllo",IDC_CREATECONTROL,"Tasto",
|
||||
BS_AUTORADIOBUTTON | NOT WS_VISIBLE,7,54,62,10
|
||||
CONTROL "Crea da File",IDC_CREATEFROMFILE,"Tasto",
|
||||
BS_AUTORADIOBUTTON,7,37,67,10
|
||||
LTEXT "",IDC_RESULTDESC,49,112,159,23
|
||||
PUSHBUTTON "&Aggiungi Controllo...",IDC_ADDCONTROL,81,88,63,14,NOT WS_VISIBLE
|
||||
CONTROL "Visualizza come Icona",IDC_ASICON,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP | NOT WS_VISIBLE,223,58,64,10
|
||||
PUSHBUTTON "Esplora...",IDC_BROWSE,83,53,50,14,NOT WS_VISIBLE
|
||||
LTEXT "File:",IDC_FILELBL,83,27,20,8, NOT WS_VISIBLE
|
||||
EDITTEXT IDC_FILE,83,37,132,13,ES_AUTOHSCROLL | NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_RESULTOBJDESC "Inserisci un nuovo oggetto %s nel documento"
|
||||
IDS_RESULTFILEOBJDESC "Inserisci i contenuti del file come un oggetto nel documento in modo da poterlo attivare usando il programma che lo ha creato."
|
||||
IDS_BROWSE "Esplora"
|
||||
IDS_NOTOLEMOD "Il file non sembra essere un module OLE valido. Impossibile registrare il controllo OLE."
|
||||
IDS_NOTOLEMODCAPTION "Aggiungi Controllo"
|
||||
}
|
55
reactos/lib/oledlg/oledlg_Ja.rc
Normal file
55
reactos/lib/oledlg/oledlg_Ja.rc
Normal file
|
@ -0,0 +1,55 @@
|
|||
/*
|
||||
* Copyright 2004 Hajime Segawa
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
|
||||
|
||||
UIINSERTOBJECT DIALOG DISCARDABLE 0, 0, 294, 151
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "オブジェクトの挿入"
|
||||
FONT 9, "MS UI Gothic"
|
||||
BEGIN
|
||||
LISTBOX IDC_OBJTYPELIST,82,19,131,66,LBS_SORT |
|
||||
LBS_NOINTEGRALHEIGHT | WS_VISIBLE | WS_VSCROLL |
|
||||
WS_TABSTOP
|
||||
LTEXT "オブジェクトの種類:",IDC_OBJTYPELBL,82,7,53,8,WS_VISIBLE
|
||||
DEFPUSHBUTTON "OK",IDOK,221,7,66,14
|
||||
PUSHBUTTON "キャンセル",IDCANCEL,221,24,66,14
|
||||
GROUPBOX "結果",IDC_RESULT,7,103,208,41
|
||||
CONTROL "新規作成",IDC_CREATENEW,"Button",BS_AUTORADIOBUTTON |
|
||||
WS_GROUP,7,20,62,10
|
||||
CONTROL "コントロールを作成",IDC_CREATECONTROL,"Button",
|
||||
BS_AUTORADIOBUTTON | NOT WS_VISIBLE,7,54,62,10
|
||||
CONTROL "ファイルから作成",IDC_CREATEFROMFILE,"Button",
|
||||
BS_AUTORADIOBUTTON,7,37,67,10
|
||||
LTEXT "",IDC_RESULTDESC,49,112,159,23
|
||||
PUSHBUTTON "コントロールを追加(&A)...",IDC_ADDCONTROL,81,88,63,14,NOT WS_VISIBLE
|
||||
CONTROL "アイコンとして表示",IDC_ASICON,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP | NOT WS_VISIBLE,223,58,64,10
|
||||
PUSHBUTTON "参照...",IDC_BROWSE,83,53,50,14,NOT WS_VISIBLE
|
||||
LTEXT "ファイル:",IDC_FILELBL,83,27,20,8, NOT WS_VISIBLE
|
||||
EDITTEXT IDC_FILE,83,37,132,13,ES_AUTOHSCROLL | NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_RESULTOBJDESC "ドキュメントに新しい %s オブジェクトを挿入します"
|
||||
IDS_RESULTFILEOBJDESC "ファイルの内容をオブジェクトとしてドキュメントに挿入します。オブジェクトは作成したプログラムから有効にできます。"
|
||||
IDS_BROWSE "参照"
|
||||
IDS_NOTOLEMOD "ファイルは有効なOLEモジュールではないようです。OLEコントロールを登録できません。"
|
||||
IDS_NOTOLEMODCAPTION "コントロールを追加"
|
||||
}
|
56
reactos/lib/oledlg/oledlg_Nl.rc
Normal file
56
reactos/lib/oledlg/oledlg_Nl.rc
Normal file
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright 2003 Ulrich Czekalla for CodeWeavers
|
||||
* Copyright 2003 Hans Leidekker
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_DUTCH, SUBLANG_DEFAULT
|
||||
|
||||
UIINSERTOBJECT DIALOG DISCARDABLE 0, 0, 294, 151
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Object invoegen"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LISTBOX IDC_OBJTYPELIST,82,19,131,66,LBS_SORT |
|
||||
LBS_NOINTEGRALHEIGHT | WS_VISIBLE | WS_VSCROLL |
|
||||
WS_TABSTOP
|
||||
LTEXT "Objecttype:",IDC_OBJTYPELBL,82,7,53,8,WS_VISIBLE
|
||||
DEFPUSHBUTTON "OK",IDOK,221,7,66,14
|
||||
PUSHBUTTON "Annuleren",IDCANCEL,221,24,66,14
|
||||
GROUPBOX "Resultaat",IDC_RESULT,7,103,208,41
|
||||
CONTROL "Nieuw",IDC_CREATENEW,"Button",BS_AUTORADIOBUTTON |
|
||||
WS_GROUP,7,20,62,10
|
||||
CONTROL "Creëren",IDC_CREATECONTROL,"Button",
|
||||
BS_AUTORADIOBUTTON | NOT WS_VISIBLE,7,54,62,10
|
||||
CONTROL "Bestand gebruiken",IDC_CREATEFROMFILE,"Button",
|
||||
BS_AUTORADIOBUTTON,7,37,67,10
|
||||
LTEXT "",IDC_RESULTDESC,49,112,159,23
|
||||
PUSHBUTTON "Toevoegen...",IDC_ADDCONTROL,81,88,63,14,NOT WS_VISIBLE
|
||||
CONTROL "Als pictogram weergeven",IDC_ASICON,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP | NOT WS_VISIBLE,223,58,64,10
|
||||
PUSHBUTTON "Bladeren...",IDC_BROWSE,83,53,50,14,NOT WS_VISIBLE
|
||||
LTEXT "Bestandsnaam:",IDC_FILELBL,83,27,20,8, NOT WS_VISIBLE
|
||||
EDITTEXT IDC_FILE,83,37,132,13,ES_AUTOHSCROLL | NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_RESULTOBJDESC "Voeg een nieuw %s object in uw document"
|
||||
IDS_RESULTFILEOBJDESC "Voeg de inhoud van het bestand als object in uw document zodat u het later kunt bewerken met het programma waarmee u het heeft gemaakt."
|
||||
IDS_BROWSE "Bladeren"
|
||||
IDS_NOTOLEMOD "Het bestand is geen geldig OLE bestand. Registratie is mislukt."
|
||||
IDS_NOTOLEMODCAPTION "Toevoegen"
|
||||
}
|
55
reactos/lib/oledlg/oledlg_Pt.rc
Normal file
55
reactos/lib/oledlg/oledlg_Pt.rc
Normal file
|
@ -0,0 +1,55 @@
|
|||
/*
|
||||
* Copyright 2004 Marcelo Duarte
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_PORTUGUESE, SUBLANG_DEFAULT
|
||||
|
||||
UIINSERTOBJECT DIALOG DISCARDABLE 0, 0, 294, 151
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Inserir objeto"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LISTBOX IDC_OBJTYPELIST,82,19,131,66,LBS_SORT |
|
||||
LBS_NOINTEGRALHEIGHT | WS_VISIBLE | WS_VSCROLL |
|
||||
WS_TABSTOP
|
||||
LTEXT "Tipo de objeto:",IDC_OBJTYPELBL,82,7,53,8,WS_VISIBLE
|
||||
DEFPUSHBUTTON "OK",IDOK,221,7,66,14
|
||||
PUSHBUTTON "Cancelar",IDCANCEL,221,24,66,14
|
||||
GROUPBOX "Resultado",IDC_RESULT,7,103,208,41
|
||||
CONTROL "Criar novo",IDC_CREATENEW,"Button",BS_AUTORADIOBUTTON |
|
||||
WS_GROUP,7,20,62,10
|
||||
CONTROL "Criar controle",IDC_CREATECONTROL,"Button",
|
||||
BS_AUTORADIOBUTTON | NOT WS_VISIBLE,7,54,62,10
|
||||
CONTROL "Criar do arquivo",IDC_CREATEFROMFILE,"Button",
|
||||
BS_AUTORADIOBUTTON,7,37,67,10
|
||||
LTEXT "",IDC_RESULTDESC,49,112,159,23
|
||||
PUSHBUTTON "&Adicionar Controle...",IDC_ADDCONTROL,81,88,63,14,NOT WS_VISIBLE
|
||||
CONTROL "Mostrar como ícone",IDC_ASICON,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP | NOT WS_VISIBLE,223,58,64,10
|
||||
PUSHBUTTON "Procurar...",IDC_BROWSE,83,53,50,14,NOT WS_VISIBLE
|
||||
LTEXT "Arquivo:",IDC_FILELBL,83,27,20,8, NOT WS_VISIBLE
|
||||
EDITTEXT IDC_FILE,83,37,132,13,ES_AUTOHSCROLL | NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_RESULTOBJDESC "Inserir um novo objeto %s no documento"
|
||||
IDS_RESULTFILEOBJDESC "Inserir o conteúdo do arquivo como um objeto no documento de modo que possa ativá-lo usando o programa que o criou."
|
||||
IDS_BROWSE "Procurar"
|
||||
IDS_NOTOLEMOD "O arquivo não parece ser um módulo OLE válido. Impossível registrar o controle OLE."
|
||||
IDS_NOTOLEMODCAPTION "Adicionar Controle"
|
||||
}
|
309
reactos/lib/oledlg/oledlg_main.c
Normal file
309
reactos/lib/oledlg/oledlg_main.c
Normal file
|
@ -0,0 +1,309 @@
|
|||
/*
|
||||
* OLEDLG library
|
||||
*
|
||||
* Copyright 1998 Patrik Stridvall
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#define COM_NO_WINDOWS_H
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "winerror.h"
|
||||
#include "wingdi.h"
|
||||
#include "winuser.h"
|
||||
#include "oledlg.h"
|
||||
#include "wine/debug.h"
|
||||
#include "ole2.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(ole);
|
||||
|
||||
HINSTANCE OLEDLG_hInstance = 0;
|
||||
|
||||
/***********************************************************************
|
||||
* DllMain
|
||||
*/
|
||||
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
|
||||
{
|
||||
TRACE("%p 0x%lx %p\n", hinstDLL, fdwReason, fImpLoad);
|
||||
|
||||
switch(fdwReason) {
|
||||
case DLL_PROCESS_ATTACH:
|
||||
DisableThreadLibraryCalls(hinstDLL);
|
||||
OLEDLG_hInstance = hinstDLL;
|
||||
break;
|
||||
|
||||
case DLL_PROCESS_DETACH:
|
||||
OLEDLG_hInstance = 0;
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* OleUIAddVerbMenuA (OLEDLG.1)
|
||||
*/
|
||||
BOOL WINAPI OleUIAddVerbMenuA(
|
||||
LPOLEOBJECT lpOleObj, LPCSTR lpszShortType,
|
||||
HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
|
||||
BOOL bAddConvert, UINT idConvert, HMENU *lphMenu)
|
||||
{
|
||||
FIXME("(%p, %s, %p, %d, %d, %d, %d, %d, %p): stub\n",
|
||||
lpOleObj, debugstr_a(lpszShortType),
|
||||
hMenu, uPos, uIDVerbMin, uIDVerbMax,
|
||||
bAddConvert, idConvert, lphMenu
|
||||
);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* OleUIAddVerbMenuW (OLEDLG.14)
|
||||
*/
|
||||
BOOL WINAPI OleUIAddVerbMenuW(
|
||||
LPOLEOBJECT lpOleObj, LPCWSTR lpszShortType,
|
||||
HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
|
||||
BOOL bAddConvert, UINT idConvert, HMENU *lphMenu)
|
||||
{
|
||||
FIXME("(%p, %s, %p, %d, %d, %d, %d, %d, %p): stub\n",
|
||||
lpOleObj, debugstr_w(lpszShortType),
|
||||
hMenu, uPos, uIDVerbMin, uIDVerbMax,
|
||||
bAddConvert, idConvert, lphMenu
|
||||
);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* OleUICanConvertOrActivateAs (OLEDLG.2)
|
||||
*/
|
||||
BOOL WINAPI OleUICanConvertOrActivateAs(
|
||||
REFCLSID rClsid, BOOL fIsLinkedObject, WORD wFormat)
|
||||
{
|
||||
FIXME("(%p, %d, %hd): stub\n",
|
||||
rClsid, fIsLinkedObject, wFormat
|
||||
);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* OleUIInsertObjectW (OLEDLG.20)
|
||||
*/
|
||||
UINT WINAPI OleUIInsertObjectW(LPOLEUIINSERTOBJECTW lpOleUIInsertObject)
|
||||
{
|
||||
FIXME("(%p): stub\n", lpOleUIInsertObject);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return OLEUI_FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* OleUIPasteSpecialA (OLEDLG.4)
|
||||
*/
|
||||
UINT WINAPI OleUIPasteSpecialA(LPOLEUIPASTESPECIALA lpOleUIPasteSpecial)
|
||||
{
|
||||
FIXME("(%p): stub\n", lpOleUIPasteSpecial);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return OLEUI_FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* OleUIPasteSpecialW (OLEDLG.22)
|
||||
*/
|
||||
UINT WINAPI OleUIPasteSpecialW(LPOLEUIPASTESPECIALW lpOleUIPasteSpecial)
|
||||
{
|
||||
FIXME("(%p): stub\n", lpOleUIPasteSpecial);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return OLEUI_FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* OleUIEditLinksA (OLEDLG.5)
|
||||
*/
|
||||
UINT WINAPI OleUIEditLinksA(LPOLEUIEDITLINKSA lpOleUIEditLinks)
|
||||
{
|
||||
FIXME("(%p): stub\n", lpOleUIEditLinks);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return OLEUI_FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* OleUIEditLinksW (OLEDLG.19)
|
||||
*/
|
||||
UINT WINAPI OleUIEditLinksW(LPOLEUIEDITLINKSW lpOleUIEditLinks)
|
||||
{
|
||||
FIXME("(%p): stub\n", lpOleUIEditLinks);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return OLEUI_FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* OleUIChangeIconA (OLEDLG.6)
|
||||
*/
|
||||
UINT WINAPI OleUIChangeIconA(
|
||||
LPOLEUICHANGEICONA lpOleUIChangeIcon)
|
||||
{
|
||||
FIXME("(%p): stub\n", lpOleUIChangeIcon);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return OLEUI_FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* OleUIChangeIconW (OLEDLG.16)
|
||||
*/
|
||||
UINT WINAPI OleUIChangeIconW(
|
||||
LPOLEUICHANGEICONW lpOleUIChangeIcon)
|
||||
{
|
||||
FIXME("(%p): stub\n", lpOleUIChangeIcon);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return OLEUI_FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* OleUIConvertA (OLEDLG.7)
|
||||
*/
|
||||
UINT WINAPI OleUIConvertA(LPOLEUICONVERTA lpOleUIConvert)
|
||||
{
|
||||
FIXME("(%p): stub\n", lpOleUIConvert);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return OLEUI_FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* OleUIConvertW (OLEDLG.18)
|
||||
*/
|
||||
UINT WINAPI OleUIConvertW(LPOLEUICONVERTW lpOleUIConvert)
|
||||
{
|
||||
FIXME("(%p): stub\n", lpOleUIConvert);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return OLEUI_FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* OleUIBusyA (OLEDLG.8)
|
||||
*/
|
||||
UINT WINAPI OleUIBusyA(LPOLEUIBUSYA lpOleUIBusy)
|
||||
{
|
||||
FIXME("(%p): stub\n", lpOleUIBusy);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return OLEUI_FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* OleUIBusyW (OLEDLG.15)
|
||||
*/
|
||||
UINT WINAPI OleUIBusyW(LPOLEUIBUSYW lpOleUIBusy)
|
||||
{
|
||||
FIXME("(%p): stub\n", lpOleUIBusy);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return OLEUI_FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* OleUIUpdateLinksA (OLEDLG.9)
|
||||
*/
|
||||
BOOL WINAPI OleUIUpdateLinksA(
|
||||
LPOLEUILINKCONTAINERA lpOleUILinkCntr,
|
||||
HWND hwndParent, LPSTR lpszTitle, INT cLinks)
|
||||
{
|
||||
FIXME("(%p, %p, %s, %d): stub\n",
|
||||
lpOleUILinkCntr, hwndParent, debugstr_a(lpszTitle), cLinks
|
||||
);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* OleUIUpdateLinksW (OLEDLG.23)
|
||||
*/
|
||||
BOOL WINAPI OleUIUpdateLinksW(
|
||||
LPOLEUILINKCONTAINERW lpOleUILinkCntr,
|
||||
HWND hwndParent, LPWSTR lpszTitle, INT cLinks)
|
||||
{
|
||||
FIXME("(%p, %p, %s, %d): stub\n",
|
||||
lpOleUILinkCntr, hwndParent, debugstr_w(lpszTitle), cLinks
|
||||
);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* OleUIPromptUserA (OLEDLG.10)
|
||||
*/
|
||||
INT __cdecl OleUIPromptUserA(
|
||||
INT nTemplate, HWND hwndParent, ...)
|
||||
{
|
||||
FIXME("(%d, %p, ...): stub\n", nTemplate, hwndParent);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return OLEUI_FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* OleUIPromptUserW (OLEDLG.13)
|
||||
*/
|
||||
INT __cdecl OleUIPromptUserW(
|
||||
INT nTemplate, HWND hwndParent, ...)
|
||||
{
|
||||
FIXME("(%d, %p, ...): stub\n", nTemplate, hwndParent);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return OLEUI_FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* OleUIObjectPropertiesA (OLEDLG.11)
|
||||
*/
|
||||
UINT WINAPI OleUIObjectPropertiesA(
|
||||
LPOLEUIOBJECTPROPSA lpOleUIObjectProps)
|
||||
{
|
||||
FIXME("(%p): stub\n", lpOleUIObjectProps);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return OLEUI_FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* OleUIObjectPropertiesW (OLEDLG.21)
|
||||
*/
|
||||
UINT WINAPI OleUIObjectPropertiesW(
|
||||
LPOLEUIOBJECTPROPSW lpOleUIObjectProps)
|
||||
{
|
||||
FIXME("(%p): stub\n", lpOleUIObjectProps);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return OLEUI_FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* OleUIChangeSourceA (OLEDLG.12)
|
||||
*/
|
||||
UINT WINAPI OleUIChangeSourceA(
|
||||
LPOLEUICHANGESOURCEA lpOleUIChangeSource)
|
||||
{
|
||||
FIXME("(%p): stub\n", lpOleUIChangeSource);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return OLEUI_FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* OleUIChangeSourceW (OLEDLG.17)
|
||||
*/
|
||||
UINT WINAPI OleUIChangeSourceW(
|
||||
LPOLEUICHANGESOURCEW lpOleUIChangeSource)
|
||||
{
|
||||
FIXME("(%p): stub\n", lpOleUIChangeSource);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return OLEUI_FALSE;
|
||||
}
|
40
reactos/lib/oledlg/resource.h
Normal file
40
reactos/lib/oledlg/resource.h
Normal file
|
@ -0,0 +1,40 @@
|
|||
/*
|
||||
* Definitions for OLE dialog resources
|
||||
*
|
||||
* Copyright 2003 Ulrich Czekalla for CodeWeavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#define IDS_RESULTOBJDESC 101
|
||||
#define IDS_RESULTFILEOBJDESC 102
|
||||
#define IDS_BROWSE 103
|
||||
#define IDS_NOTOLEMOD 104
|
||||
#define IDS_NOTOLEMODCAPTION 105
|
||||
|
||||
#define UIINSERTOBJECT 129
|
||||
|
||||
#define IDC_OBJTYPELIST 1000
|
||||
#define IDC_RESULT 1001
|
||||
#define IDC_CREATENEW 1002
|
||||
#define IDC_CREATECONTROL 1003
|
||||
#define IDC_CREATEFROMFILE 1004
|
||||
#define IDC_OBJTYPELBL 1005
|
||||
#define IDC_RESULTDESC 1006
|
||||
#define IDC_ADDCONTROL 1007
|
||||
#define IDC_ASICON 1008
|
||||
#define IDC_BROWSE 1009
|
||||
#define IDC_FILELBL 1010
|
||||
#define IDC_FILE 1011
|
41
reactos/lib/oledlg/rsrc.rc
Normal file
41
reactos/lib/oledlg/rsrc.rc
Normal file
|
@ -0,0 +1,41 @@
|
|||
/*
|
||||
* Top level resource file for OLE Dialogs
|
||||
*
|
||||
* Copyright 2003 Ulrich Czekalla for CodeWeavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "winuser.h"
|
||||
#include "winnls.h"
|
||||
#include "resource.h"
|
||||
|
||||
/*
|
||||
* Everything specific to any language goes
|
||||
* in one of the specific files.
|
||||
* Note that you can and may override resources
|
||||
* which also have a neutral version. This is to
|
||||
* get localized bitmaps for example.
|
||||
*/
|
||||
#include "oledlg_Cs.rc"
|
||||
#include "oledlg_De.rc"
|
||||
#include "oledlg_En.rc"
|
||||
#include "oledlg_Es.rc"
|
||||
#include "oledlg_It.rc"
|
||||
#include "oledlg_Ja.rc"
|
||||
#include "oledlg_Nl.rc"
|
||||
#include "oledlg_Pt.rc"
|
Loading…
Reference in a new issue