Click here to Skip to main content
15,893,588 members
Articles / Desktop Programming / ATL

OeLibrary 1.0

Rate me:
Please Sign up or sign in to vote.
4.91/5 (19 votes)
22 Aug 2013GPL33 min read 133.7K   2.5K   56  
Opensource Outlook Express automation library
// stdafx.h : include file for standard system include files,
//      or project specific include files that are used frequently,
//      but are changed infrequently

#if !defined(AFX_STDAFX_H__10B472FB_D43E_43E2_8C2E_77CA70DD40B8__INCLUDED_)
#define AFX_STDAFX_H__10B472FB_D43E_43E2_8C2E_77CA70DD40B8__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define STRICT
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0400
#endif
#define _ATL_APARTMENT_THREADED

#include <atlbase.h>
//You may derive a class from CComModule and use it if you want to override
//something, but do not change the name of _Module
extern CComModule _Module;
#include <atlcom.h>
#include <atlapp.h>
#include <atlmisc.h>
#include <atlwin.h>

#include "OutlookInterface\\mimeole.h"
#include "OutlookInterface\\imnact.h"
#include "stl.h"
#include <list>



#define MSG_BUTTON_ENABLED		WM_APP+71 
#define MSG_BUTTON_SHOW			WM_APP+72 
#define MSG_MENUITEM_ENABLED    WM_APP+73

//MessageID
#define MSG_WINDOW_HANDLE 901
#define MSG_LOGO_CLICK    902
#define MSG_BUTTON_CLICK  903
#define MSG_OE_CREATE     904
#define MSG_OE_QUIT       905
#define MSG_MENUITEM_CLICK  906


//registered Message
static UINT OutRegMessageFromDLL=::RegisterWindowMessage(_T("OUREFEXTRAOECOMMUNICATIONCHANNELFROMDLL"));
static UINT OutRegMessageToDLL=::RegisterWindowMessage(_T("OUREFEXTRAOECOMMUNICATIONCHANNELTODLL"));

//Forward Defination;

struct myDayTime
{
	int nDaySetting;
	int nTimeSetting;
    int nDayZero;
	int nHourZero;
	char chDaySeparator;
	char chTimeSeparator;

};

struct strDateTime
{
	char csMonth[3];
	char csDay[3];
	char csYear[5];
	char csHour[3];
	char csMinute[3];

};
using std::list;

typedef struct tagMYREC
{
	//Button Name
   char  strName[100];
   //Button Image Path
   char  strImagePath[100];
   //Button Type
   DWORD type;
   //Button ID
   DWORD ID;
   //Button Seq
   DWORD nSeq;
} ButtonStruct;

struct TMenu
{
	//sequence
	DWORD nSeq;
	//parent Id
	//0 is Button is parent
	//or Parent Id of menuItem
	DWORD nParentID;
	//MenuButtonID
	DWORD nMenuButtonID;
	//Menu Item ID
	DWORD nMenuItemID;
	//Display Name
	char name[100];
	//Image Path
	char ImagePath[MAX_PATH];
	//Check That Is this SubMenu
	BOOL bHasSubMenu;
	//Handle To Menu
	HMENU hMenu;
	//i.e. separator etc.
	BOOL type;
	//check menu item is Enabled or Disabled
	BOOL bEnabled;

	
};
typedef list<TMenu>  TMenuList;

extern CString GetResStr(UINT uID);
extern CString CONTEXTMENUFILENAME;

#include <wabdefs.h>
#include <wabcode.h>
#include <wabtags.h>
#include <wabutil.h>
#include <wabiab.h>
#include <wabapi.h>
#include <wabmem.h>
#include <wabnot.h>

// Section
#define SECTION_INICOUNT _T("Count")
#define KEY_COUNT    _T("nCount")
#define KEY_MODIFY   _T("Modify")
#define KEY_HWND	 _T("hwnd")

// Key
#define KEY_NAME	_T("Name")
#define KEY_ID		_T("ID")
#define KEY_SHOW	_T("Show")
#define KEY_ENABLE  _T("Enable")
#define KEY_HELP    _T("HelpString")



//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_STDAFX_H__10B472FB_D43E_43E2_8C2E_77CA70DD40B8__INCLUDED)


By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The GNU General Public License (GPLv3)


Written By
Software Developer (Senior)
India India
He used to have biography here Smile | :) , but now he will hire someone (for free offcourse Big Grin | :-D ), Who writes his biography on his behalf Smile | :)

He is Great Fan of Mr. Johan Rosengren (his idol),Lim Bio Liong, Nishant S and DavidCrow and Believes that, he will EXCEL in his life by following there steps!!!

He started with Visual C++ then moved to C# then he become language agnostic, you give him task,tell him the language or platform, he we start immediately, if he knows the language otherwise he quickly learn it and start contributing productively

Last but not the least, For good 8 years he was Visual CPP MSMVP!

Comments and Discussions