您的位置:首页 > 数据库 > Oracle

Oracle客户端的配置(配置Oracle本地命名服务)

2010-12-15 13:23 316 查看
[align=left]vc之tablectrl控件操作[/align]
[align=left] [/align]
[align=left](1) 在主对话框中加入一个tab control[/align]
[align=left](2) 主对话框的类中增加变量CTabCtrl m_tabCtrl;[/align]
[align=left](3) 在资源文件中增加对话框,有几个页就增加几个对话框(一个对话框对应一页)。可以在页对应的对话框中做一些基本操作,增加组件,以及组件的操作。[/align]
[align=left](4) 在主对话框的初始化中增加页与各对话框的连接操作,代码如下:[/align]
[align=left]TCITEM item; [/align]
[align=left] item.mask = TCIF_TEXT; [/align]
[align=left] [/align]
[align=left] item.pszText = TEXT("参数配置"); [/align]
[align=left] m_tabCtrl.InsertItem (0,&item); [/align]
[align=left] [/align]
[align=left] item.pszText =TEXT("设备测试");[/align]
[align=left] m_tabCtrl.InsertItem (1,&item);[/align]
[align=left] [/align]
[align=left] item.pszText =TEXT("U盘测试"); [/align]
[align=left] m_tabCtrl.InsertItem (2,&item);[/align]
[align=left] [/align]
[align=left] m_dlgPage1.Create(IDD_PAGE1,&m_tabCtrl); [/align]
[align=left] m_dlgPage2.Create(IDD_PAGE2,&m_tabCtrl);[/align]
[align=left] m_dlgPage3.Create(IDD_PAGE3,&m_tabCtrl);[/align]
[align=left] [/align]
[align=left] m_dlgPage1.SetWindowPos(NULL,10,30,400,400,SWP_SHOWWINDOW); [/align]
[align=left] m_dlgPage2.SetWindowPos(NULL,10,30,400,400,SWP_HIDEWINDOW); [/align]
[align=left] m_dlgPage3.SetWindowPos(NULL,10,30,400,400,SWP_HIDEWINDOW);[/align]
[align=left] [/align]
[align=left](5) 增加CTabCtrl的换页操作,在此动态显示当前选择的页[/align]
[align=left](6) 各个页中的操作,在各页对应的对话框中完成。[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left]对话框中响应按键消息[/align]
[align=left] [/align]
[align=left]在对话框中重载virtual BOOL PreTranslateMessage(MSG* pMsg) 函数[/align]
[align=left] [/align]
[align=left]BOOL CTestDlg::PreTranslateMessage(MSG* pMsg) [/align]
[align=left] { [/align]
[align=left] if(pMsg->message == WM_KEYDOWN) [/align]
[align=left] { [/align]
[align=left] switch(pMsg->wParam) [/align]
[align=left] { [/align]
[align=left] case VK_RETURN: [/align]
[align=left] ……[/align]
[align=left] break;[/align]
[align=left] case VK_SPACE:[/align]
[align=left] ……[/align]
[align=left] break;[/align]
[align=left] case VK_ESCAPE:[/align]
[align=left] ……[/align]
[align=left] Break;[/align]
[align=left] } [/align]
[align=left] } [/align]
[align=left] return CDialog::PreTranslateMessage(pMsg); [/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left]设置控件的背景色和字体颜色[/align]
[align=left] [/align]
[align=left]响应对话框的WM_CTLCOLOR消息:消息映射ON_WM_CTLCOLOR,以及响应函数:[/align]
[align=left]HBRUSH CTestDialog::OnCtlColor(CDC* pDC,CWnd* pWnd,UINT nCtlColor)[/align]
[align=left]{ [/align]
[align=left] HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);[/align]
[align=left] [/align]
[align=left] if(nCtlColor == CTLCOLOR_STATIC) [/align]
[align=left] {[/align]
[align=left] //设置静态控件背景色和文字的颜色[/align]
[align=left] if(pWnd->GetDlgCtrlID() == IDC_STATIC_TEST)[/align]
[align=left] {[/align]
[align=left] pDC->SetBkMode(TRANSPARENT);[/align]
[align=left] pDC->SetTextColor(RGB(0,255,255)); [/align]
[align=left] return m_winBrush;[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] //其他控件设置自己默认的颜色和背景刷.[/align]
[align=left] return hbr; [/align]
[align=left]}[/align]
[align=left] vc中栈之局部变量[/align]
闲来没事,在vc6中玩了下栈对局部变量的存储方式,主要有以下几点:
1) 栈的增长方式,是从高地址向低地址方向增长的
例如在某函数中有以下局部变量:
int nA = 1;
int nB = 2;
则:nA是放在栈的高32位地址处,nB则是放在比nA小4的32位低地址处
2) 数组的存放方式,是从右到左的方式依次入栈的
例如在某函数中有以下数组的局部变量:
unsigned char cArray[16] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
那么如果cArray[15]的地址是A15(代表某一个32位16进制的整数),那么cArray[14]的地址就是A15-1;
3) 不同类型变量之间的存放方式,每一个变量都是占32位(4字节对齐)
例如在某个函数中有如下定义:
unsigned char cA[3] = {1,2,3};
unsigned char c1 = 11;
unsigned char c2 = 12;
unsigned short sh1 = 21;
那么地址依次如下:addr(cA[2]) = A; addr(cA[1]) = A-1; addr(cA[0]) = A-2;
addr(c1) = A-2-4; addr(c2) = A-2-4-4; addr(sh1) = A-2-4-4-4;在此,对于c1, c2, sh1不论类型为unsigned char, unsigned short, char, short, int 等内置类型地址都是一样的。本文出自 “bluefish” 博客,请务必保留此出处http://bluefish.blog.51cto.com/214870/158445
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: