亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? demomfc.cpp

?? 用于oracle開發用于查詢數據庫編寫存儲過
?? CPP
字號:
// PL/SQL Developer Plug-In demo
// Copyright 1999 Allround Automations
// support@allroundautomations.nl
// http://www.allroundautomations.nl
// Demo Developed by David Maisonave (david@axter.com)

// This demo shows an elementary interface

// DemoMfc.cpp : Defines the initialization routines for the DLL.

// To debug the demo, change the project property settings in the LINK tab
// Change the [Output File Name] field from
// Debug/DemoMfc.dll
// To the following:
// C:\Program Files\PLSQL Developer\PlugIns/DemoMfc.dll
// Change the above directory to reflect the correct location of the PLSQL Developer directory.
// The above change will make the compiler compile the code to the PlugIns directory

// The project property settings in the debug tab should also be changed to reflect correct PLSQL Dev directory
// Check the following field: [Project]->[Settings]->[Debug](tab)->[Executable For Debug Session](field)

#include "stdafx.h"
#include "DemoMfc.h"
#include "PlSql_functions.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif


/////////////////////////////////////////////////////////////////////////////
// CDemoMfcApp

BEGIN_MESSAGE_MAP(CDemoMfcApp, CWinApp)
	//{{AFX_MSG_MAP(CDemoMfcApp)
		// NOTE - the ClassWizard will add and remove mapping macros here.
		//    DO NOT EDIT what you see in these blocks of generated code!
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

bool UseAutoSetCursorPosition = false;
/////////////////////////////////////////////////////////////////////////////
// CDemoMfcApp construction

CDemoMfcApp::CDemoMfcApp()
{
	// TODO: add construction code here,
	// Place all significant initialization in InitInstance
}
CDemoMfcApp::~CDemoMfcApp()
{
	WriteProfileInt("CursorPosOption","UseAutoSetCursorPosition",(UseAutoSetCursorPosition)?1:0);
}
/////////////////////////////////////////////////////////////////////////////
// The one and only CDemoMfcApp object

CDemoMfcApp theApp;



/////////////////////////////////////////////////////////////////////////////
// CDemoMfcApp initialization

BOOL CDemoMfcApp::InitInstance()
{
	if (!AfxSocketInit())
	{
		AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
		return FALSE;
	}

    UseAutoSetCursorPosition = (GetProfileInt("CursorPosOption","UseAutoSetCursorPosition",0))?true:false;
	return TRUE;
}

const char* IntToStr(int n)
{
	static CString s;
	s.Format("%i", n);
	return s;
}

void ShowMessage(const char* Data)
{
	MessageBox(NULL,Data, "Msg from AddIn",0);
}
char* MenuItemInterface(int Index, bool CreateMenuItem_);


//---------------------------------------------------------------------------
// Creating menus
char* CreateMenuItem(int Index)
{
	return MenuItemInterface(Index, true);
}

//---------------------------------------------------------------------------
// Show configuration dialog
void  Configure()
{
	ShowMessage("No configue menu");
}

//---------------------------------------------------------------------------
// Plug-In identification, a unique identifier is received and
// the description is returned
char* IdentifyPlugIn(int ID)
{
	PlugInID = ID;
	return Desc;
}
//---------------------------------------------------------------------------
void OnMenuClick(int Index)
{
	MenuItemInterface(Index, false);
}
//---------------------------------------------------------------------------
// Called when someone logs on or off
void OnConnectionChange()
{
}
//---------------------------------------------------------------------------
// Called when another item in the browser gets selected
void OnBrowserChange()
{
  char *Type, *Owner, *Name;

  IDE_GetBrowserInfo(&Type, &Owner, &Name);
}
//---------------------------------------------------------------------------
// Called when the Plug-In is created
void OnCreate()
{ 
}
//---------------------------------------------------------------------------
// Called when the Plug-In is activated
void OnActivate()
{
  OnBrowserChange();
  OnConnectionChange();
  OnWindowChange();
}
//---------------------------------------------------------------------------
// Called when the Plug-In is destroyed
void OnDestroy()
{
}
//---------------------------------------------------------------------------
void DoSQLForm()
{
}

//---------------------------------------------------------------------------
void ShowBrowserObject()
{
	char *Type, *Owner, *Name;
	char s[100];
	
	IDE_GetBrowserInfo(&Type, &Owner, &Name);
	s[0] = 0;
	strcat(s, Type);
	strcat(s, "\n");
	strcat(s, Owner);
	strcat(s, "\n");
	strcat(s, Name);
	ShowMessage(s);
}
//---------------------------------------------------------------------------
void ShowConnectionInfo()
{
	char *Username, *Password, *Database;
	char s[100];
	
	IDE_GetConnectionInfo(&Username, &Password, &Database);
	s[0] = 0;
	strcat(s, Username);
	strcat(s, "\n");
	strcat(s, Password);
	strcat(s, "\n");
	strcat(s, Database);
	ShowMessage(s);
}
//---------------------------------------------------------------------------
void SetSelection(char *s)
{
	int H = IDE_GetEditorHandle();
	if (H > 0)
	{
		SendMessage((HWND)H, EM_REPLACESEL, true, (int)s);
	}
}
//---------------------------------------------------------------------------
void MaximizeWindow()
{
	int H = IDE_GetChildHandle();
	int M = IDE_GetClientHandle();
	if (H > 0)
	{
		SendMessage((HWND)M, WM_MDIMAXIMIZE, H, (int)0);
	}
}
void SaveAndExecute()
{
	IDE_SaveFile();
	IDE_Perform(pcmd_Execute);
}

DWORD GetCurrentCusorPosition(int &x, int &y)
{
	HWND H = (HWND)IDE_GetEditorHandle();
	DWORD StartingPos;
	SendMessage(H, EM_GETSEL, (WPARAM) (LPDWORD) &StartingPos, NULL);
	DWORD StartingPos_x = StartingPos;
	y = SendMessage(H, EM_LINEFROMCHAR, (WPARAM) StartingPos, NULL);
	x = StartingPos - SendMessage(H, EM_LINEINDEX, y, NULL);
	return StartingPos_x;
}

int OnWindowClose(int WindowType, BOOL Changed)
{
	int x,y;
	DWORD StartingPos = GetCurrentCusorPosition(x,y);
	CString FileName = IDE_Filename();
	theApp.WriteProfileInt("CursorPos",FileName,y);
	return 0;
}

bool WindowJustOpened = false;

void OnWindowCreate(int WindowType)
{
	WindowJustOpened = true;
}
void OnWindowChange()
{
	if (UseAutoSetCursorPosition && WindowJustOpened)
	{
		WindowJustOpened = false;
		CString FileName = IDE_Filename();
		DWORD LastPos = theApp.GetProfileInt("CursorPos",FileName,1);
		HWND H = (HWND)IDE_GetEditorHandle();
		DWORD p = SendMessage(H, EM_LINEINDEX, LastPos, NULL);
		SendMessage(H, EM_SETSEL, p, p);
	}
}

void DisplayCurrentCusorLineNumber(void)
{
	int x,y;
	DWORD StartingPos = GetCurrentCusorPosition(x,y);
	CString Msg;
	Msg.Format("Current line number = %i %i %i", x, y, StartingPos);
	ShowMessage(Msg);
}

char* MenuItemInterface(int Index, bool CreateMenuItem_)
{
	switch (Index)
	{
    case 1 : 
		if (CreateMenuItem_) return "Session / Save and Execute";
		SaveAndExecute();
		return NULL;
    case 2 : 
		if (CreateMenuItem_) return "Edit / Test display Cursor position";
		DisplayCurrentCusorLineNumber();
		return NULL;
    case 3 :
		if (CreateMenuItem_) return "Tools / &Plug-In 2 Demo / &Maximize Window";
		MaximizeWindow();
		return NULL;
    case 4 :
		if (CreateMenuItem_) return "Tools / &Plug-In 2 Demo / &ReadOnly / &On";
		IDE_SetReadOnly(true);
		return NULL;
    case 5 :
		if (CreateMenuItem_) return "Tools / &Plug-In 2 Demo / &ReadOnly / O&ff";
		IDE_SetReadOnly(false);
		return NULL;
    case 6 :
		if (CreateMenuItem_) return "Tools / &Plug-In 2 Demo / &Editor/ ShowHandle...";
		ShowMessage(IntToStr(IDE_GetEditorHandle()));
		return NULL;
    case 7 :
		if (CreateMenuItem_) return "Tools / &Plug-In 2 Demo / &Editor/ SetSelection";
		SetSelection("New selected text");
		return NULL;
    case 8 :
		if (CreateMenuItem_) return "Tools / &Plug-In 2 Demo / &Auto Cursor / &On";
		UseAutoSetCursorPosition = true;
		return NULL;
    case 9 :
		if (CreateMenuItem_) return "Tools / &Plug-In 2 Demo / &Auto Cursor / O&ff";
		UseAutoSetCursorPosition = false;
		return NULL;
	}
	return "";
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av午夜精品一区二区三区| 久久久综合精品| 久久久激情视频| 亚洲超碰精品一区二区| 风间由美性色一区二区三区| 欧美亚洲愉拍一区二区| 久久精品视频网| 午夜电影网亚洲视频| 97精品久久久久中文字幕| 精品国产第一区二区三区观看体验| 亚洲美女视频在线| 成人一区二区三区在线观看 | 色哟哟一区二区三区| 精品国产污污免费网站入口 | 亚洲欧美另类在线| 国产精品一区在线观看乱码| 91精品国产黑色紧身裤美女| 亚洲精品va在线观看| gogo大胆日本视频一区| 日本一区二区免费在线观看视频| 蜜臀av一区二区在线观看| 欧美性受xxxx黑人xyx| 亚洲男人电影天堂| 成人h动漫精品| 欧美极品另类videosde| 国模套图日韩精品一区二区 | 国内精品第一页| 日韩美一区二区三区| 婷婷中文字幕一区三区| 欧美视频一区二区| 亚洲高清免费在线| 精品视频一区三区九区| 亚洲国产精品一区二区久久| 色婷婷精品大视频在线蜜桃视频| 亚洲美女视频一区| 在线日韩av片| 日韩专区中文字幕一区二区| 欧美日韩精品福利| 日本不卡免费在线视频| 日韩视频一区二区| 久久国产福利国产秒拍| 2021中文字幕一区亚洲| 国产精品77777| 欧美国产日本视频| 91在线精品一区二区| 最近日韩中文字幕| 欧美日韩亚洲国产综合| 麻豆精品一区二区综合av| 精品欧美一区二区三区精品久久| 激情综合网av| 国产精品水嫩水嫩| 色婷婷综合激情| 秋霞午夜鲁丝一区二区老狼| 26uuu亚洲| 99国产精品国产精品毛片| 夜夜嗨av一区二区三区网页| 91精品国产91热久久久做人人| 麻豆精品一区二区三区| 国产精品天干天干在观线| 欧亚洲嫩模精品一区三区| 日本三级亚洲精品| 国产偷国产偷亚洲高清人白洁| 91在线观看成人| 丝瓜av网站精品一区二区| 久久久久久亚洲综合影院红桃| 成+人+亚洲+综合天堂| 亚洲成人动漫一区| 国产欧美精品区一区二区三区| 91丨九色porny丨蝌蚪| 日韩中文字幕区一区有砖一区| 欧美mv日韩mv国产网站| 91网站在线播放| 免费高清在线一区| 亚洲女爱视频在线| 欧美成人a视频| 欧美在线观看你懂的| 国产真实乱偷精品视频免| 亚洲一区二区三区四区在线免费观看 | 成人性生交大片免费看中文网站| 亚洲亚洲人成综合网络| 国产亚洲一区二区在线观看| 欧美日韩综合不卡| 成人精品视频网站| 日本中文字幕一区二区视频| 亚洲欧美中日韩| 久久久99久久精品欧美| 欧美性欧美巨大黑白大战| 丁香亚洲综合激情啪啪综合| 视频一区中文字幕| 亚洲激情一二三区| 欧美激情在线一区二区三区| 精品久久一二三区| 欧美日韩中文精品| 91天堂素人约啪| 国产精品羞羞答答xxdd| 美女视频黄免费的久久 | 精品日韩欧美一区二区| 欧美精品乱码久久久久久按摩| 色综合 综合色| 成人污视频在线观看| 国产中文字幕精品| 毛片av一区二区| 蜜臀久久99精品久久久久宅男 | 最新高清无码专区| 欧美高清在线精品一区| 久久久影视传媒| 日韩欧美色综合网站| 91精品欧美久久久久久动漫| 欧美视频精品在线观看| 欧美日韩卡一卡二| 欧美网站一区二区| 欧美日产在线观看| 欧美军同video69gay| 欧美日韩夫妻久久| 欧美在线播放高清精品| 欧美专区日韩专区| 欧美视频精品在线观看| 欧美日韩精品综合在线| 欧美猛男男办公室激情| 91精品中文字幕一区二区三区| 欧美另类z0zxhd电影| 91精品国产综合久久久久久| 欧美顶级少妇做爰| 91精品蜜臀在线一区尤物| 日韩欧美电影一二三| 久久久久久久久久久久久夜| 久久九九99视频| 亚洲欧洲三级电影| 亚洲v精品v日韩v欧美v专区| 日本不卡的三区四区五区| 国产一区二区三区不卡在线观看| 国产乱码字幕精品高清av | 国产精品自在欧美一区| 国产suv一区二区三区88区| av综合在线播放| 欧美亚洲高清一区| 日韩一区二区三区精品视频| 精品国产sm最大网站| 中文字幕一区二区视频| 亚洲一区二区黄色| 免费成人你懂的| 懂色av噜噜一区二区三区av| 在线视频国内自拍亚洲视频| 日韩三级视频在线观看| 亚洲国产精品激情在线观看| 亚洲美女视频在线观看| 另类欧美日韩国产在线| 国产91清纯白嫩初高中在线观看| 91麻豆国产精品久久| 日韩一区二区三区在线观看 | 日韩中文字幕1| 国产成人在线网站| 一片黄亚洲嫩模| 亚洲视频 欧洲视频| 亚洲成人在线免费| 成人性视频免费网站| 欧美色成人综合| 国产日本一区二区| 五月天激情综合网| 成人免费不卡视频| 欧美一区中文字幕| 亚洲欧美色一区| 国产成人综合在线| 欧美精品九九99久久| 亚洲欧洲av另类| 久久99精品国产.久久久久| 91浏览器在线视频| 精品国产自在久精品国产| 欧美少妇xxx| 久久亚洲综合色| 欧美另类高清zo欧美| 亚洲欧美日韩电影| 青青草精品视频| 成人av网站在线观看| 久久天堂av综合合色蜜桃网| 国产精品色婷婷久久58| 亚洲bdsm女犯bdsm网站| 国模大尺度一区二区三区| 欧美久久免费观看| 国产精品久久久久7777按摩 | 欧美精品一区二区三| 26uuu另类欧美亚洲曰本| 亚洲视频免费在线| 五月天亚洲精品| 不卡视频一二三| 欧美一区二区免费视频| 婷婷综合另类小说色区| 91麻豆免费视频| 久久精品人人做人人爽人人| 亚洲综合区在线| 欧洲亚洲国产日韩| 中文字幕在线一区免费| 捆绑调教一区二区三区| 欧美一区二区视频网站| 一区二区三区在线观看动漫| 99精品视频中文字幕| 欧美裸体一区二区三区| 亚洲国产欧美在线| 99久久综合国产精品| 中文字幕中文字幕在线一区 |