最近在做一个配置管理软件碰到的一些小问题

突然发现每天晚上把当天遇到的问题记录下来是一个很好的习惯。

◆PropertySheet中去掉下方默认的按钮的方式,以及重新绘制按钮添加响应函数的代码:

GetDlgItem(IDOK)->ShowWindow(SW_HIDE); 
    GetDlgItem(IDCANCEL)->ShowWindow(SW_HIDE); 
    GetDlgItem(ID_APPLY_NOW)->ShowWindow(SW_HIDE); 
	GetDlgItem(IDHELP)->ShowWindow(SW_HIDE);
	//SetDlgItemText(IDHELP,"退出");
    /* CRect btnRect;
 	GetDlgItem(IDCANCEL)->GetWindowRect(&btnRect); 
 	//获取窗体尺寸
 	CRect wdnRect; 
	GetWindowRect(&wdnRect);
 	//调整窗体大小 
 	::SetWindowPos(this->m_hWnd, HWND_TOP, 0,0,wdnRect.Width(),wdnRect.Height() - btnRect.Height(), SWP_NOMOVE | SWP_NOZORDER); 
	*/
    CButton *m_applyBtn = new CButton();
	CRect rect, tabrect;
	int width;
	//Get button sizes and positions
	GetDlgItem(IDOK)->GetWindowRect(rect);
	GetTabControl()->GetWindowRect(tabrect);
	ScreenToClient(rect); 
	ScreenToClient(tabrect);
	//New button -> width, height and Y-coordiate of IDOK
	// -> X-coordinate of tab control
	width = rect.Width();
	rect.left = tabrect.left+200; rect.right = tabrect.left + width+280;
	//Create new "Add" button and set standard font
	m_applyBtn->Create("应用",BS_PUSHBUTTON|WS_CHILD|WS_VISIBLE|WS_TABSTOP, rect, this, IDC_BUTTON_APPLY);
	m_applyBtn->SetFont(GetFont());
◆将控件多个控件编组方便组操作的代码:

CIPAddressCtrl m_IP[10];
void CServerIP::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CServerIP)
	//}}AFX_DATA_MAP
	DDX_Control(pDX, IDC_IP1, m_IP[0]);
	DDX_Control(pDX, IDC_IP9, m_IP[8]);
	DDX_Control(pDX, IDC_IP8, m_IP[7]);
	DDX_Control(pDX, IDC_IP7, m_IP[6]);
	DDX_Control(pDX, IDC_IP6, m_IP[5]);
	DDX_Control(pDX, IDC_IP5, m_IP[4]);
	DDX_Control(pDX, IDC_IP4, m_IP[3]);
	DDX_Control(pDX, IDC_IP3, m_IP[2]);
	DDX_Control(pDX, IDC_IP2, m_IP[1]);
	DDX_Control(pDX, IDC_IP10, m_IP[9]);
}
想要操作控件时轮询数组即可。

CIPAddressCtrl类的使用(IP地址与CString的互相转化):

//将CString   型IP地址在IPAddressCtrl中显示  
CString   strIP="192.168.0.10";  
DWORD   dwIP;  
dwIP   =   inet_addr(strIP);  
unsigned   char   *pIP   =   (unsigned   char*)&dwIP;  
m_ipAddr.SetAddress(*pIP,   *(pIP+1),   *(pIP+2),   *(pIP+3));  

//将IPAddressCtrl中的IP地址获得并转换成CString型  
unsigned   char   *pIP;  
CString   strIP;  
DWORD   dwIP;  
m_ipAddr.GetAddress(dwIP);  
pIP   =   (unsigned   char*)&dwIP;  
strIP.Format("%u.%u.%u.%u",*(pIP+3),   *(pIP+2),   *(pIP+1),   *pIP);
 
BYTE nf1,nf2,nf3,nf4;
 pIP->GetAddress(nf1,nf2,nf3,nf4);
 CString str;
 str.Format("%d.%d.%d.%d",nf1,nf2,nf3,nf4);//这里的nf得到的值是IP值了.
 MessageBox(str);
◆CComboBox的注意:

在使用CComboBox时必须进行初始化,如果不进行初始化,系统会报错。

在使用CComboBox的页面,必须先激活否则还是会报错。

SetActivePage,激活属性页。

◆CStdioFile类进行读写文件:

        CStdioFile myFile;
	if (myFile.Open(CLIENTPATH, CFile::modeCreate|CFile::modeWrite) == FALSE)
	{
		return;
	}
	sprintf(buf,"%s\r\n","20");
	myFile.WriteString(buf);
读文件是ReadString

◆通过索引名查询索引所在表:

select user_ind_columns.column_position from user_ind_columns where user_ind_columns.index_name = "索引名";









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

春阳CYang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值