2012-08-06 06:43
⁄ 工业·编程
⁄ 共 771字
char* 转成CString
Ø 可以直接构造.如下:
char * p = "test";
CString str(p);
Ø 可以用成员函数Format 如下:
char* p = "test”;
CString str;
str.Format("%s", p);
char* 转...
VC阅读全文
2012-08-04 23:05
⁄ 工业·编程
⁄ 共 167字
CString转std::string : CString strMfc=“test“; std::string strStl; strStl=strMfc.GetBuffer(0);
std::string转CString: CString strMfc; std::string strStl=“test“; strMfc=strStl.c_str();
VC阅读全文
2012-08-04 23:03
⁄ 工业·编程
⁄ 共 1658字
progress control主要用来在进行数据读写,文件拷贝等操作总显示当前的工作进度,因此其主要操作就是设置进度条的位置和范围,并不断更新当前位置。
VC自带的进度条控件,除了在进度条上显示一个蓝色的光带外,没有其他的说明。下面我写了一个自己的控件类,如果对OnPaint函数进行一些修改的话就可以实现各种动画的功能了。
//MyTextProgressCtr.h
#ifndef define MYTEXTPROGRESSCTRL
#d...
VC阅读全文
2012-08-04 23:03
⁄ 工业·编程
⁄ 共 589字
所谓套接字,就是一个指向传输提供者的句柄。可以使用socket或者WSASocket来创建套接字。 应用结构sockaddr_in结构来指定IP地址和服务器端口信息。 struct sockaddr_in { short sin_family; u_short sin_port; struct in_addr sin_addr; char sin_zero[8]; } sin_family ...
VC阅读全文
2012-08-04 22:47
⁄ 工业·编程
⁄ 共 1386字
当我们在处理大程序时,常常需要耗很长时间,为了不让用户错误的认为系统已经死机,我们要给程序添加进度条,但是大家知道如果就直接添加进度条,并在程序里面控制它的进度,往往得到的结果是程序仍然像死机状态,直到处理完毕才显示进度条进度为100%,中间的过程看不到了,那么怎么办呢,是为什么呢?
原因是我们处理大程序和进度条显示是在同一个线程中进行的,这样往往因为处理大程序...
VC阅读全文
2012-08-03 23:09
⁄ 工业·编程
⁄ 共 1562字
一、如何添加/删除Combo Box内容
1. 在Combo Box控件属性的Data标签里面添加,一行表示ComboBox下拉列表中的一行。换行用ctrl+回车。
2. 在程序初始化时动态添加
CString strTemp;
((CComboBox*)GetDlgItem(IDC_COMBO_CF))->ResetContent();//消除现有所有内容
for(inti=1;i<=100;i++)
{
strTemp.Format("%d",i);
&...
VC阅读全文
2012-08-03 23:07
⁄ 工业·编程
⁄ 共 1374字
在一个Dialog的OnPaint按照下面的方法实现:
voidCMyDialog::OnPaint()
{
CWnd*pWnd=GetDlgItem(IDC_STATIC1);
CDC*pDC=pWnd->GetDC();
pWnd->Invalidate();//
pWnd->UpdateWindow();//
pDC->SelectStockObject(BLACK_BRUSH);
pDC->Rectangle(0,0,10,10);
pWnd->ReleaseDC(pDC);
}
按照MSDN上的说明,通过 UpdateWindow 会向窗口发送 WM_PAINT 的消息,那么相应改消息的时候是否又会调用 OnPaint 函数...
VC阅读全文
2012-08-03 23:05
⁄ 工业·编程
⁄ 共 5064字
如果你曾经在 Windows 环境下编过程序,有时候就会发现:有一个现成的窗口,几乎有你所需要的全部功能,但还不完全一样。如果你需要一个具有过滤特殊字符功能的 Edit 控件。当然最直接的方法就是自己用代码来实现,但这的确是一个费时又很困难的任务,而子类化就可以用来做这种事情。
子类化允许你接管被子类化的窗口,使你对它有绝对的控制权。举个例子了来阐明一下:例如你需要一个只...
VC阅读全文
2012-08-03 23:01
⁄ 工业·编程
⁄ 共 1592字
方法一:调用CWinApp类的成员函数SetDialogBkColor来实现。
其中函数的第一个参数指定了背景颜色,第二个参数指定了文本颜色。
下面的例子是将应用程序对话框设置为蓝色背景和红色文本,步骤如下:
①新建一个基于Dialog的MFC AppWizard应用程序ExampleDlg。
②在CExampleDlgApp::InitInstance()中添加如下代码:
BOOL CExampleDlgApp:: InitInstance ()
{
…
CExampleDlgDlg dlg;
m_pMainWnd = &dlg;
//先于DoModal()调用,将...
VC阅读全文
2012-08-03 22:58
⁄ 工业·编程
⁄ 共 4488字
VC++中static text字体改变
窗口都有2个和字体有关的函数:
CWnd::GetFont()和SetFont(CFont*, BOOL);
1)CFont* pFont = m_static.GetFont();
2)LOGFONT LogFont;
pFont->GetLogFont(&LogFont);
3)对LogFont直接操纵修改里面的字体选项//如LogFont.lfUnderline = 1;设置下划线
LogFont.lfHeight=30; //字体大小设置
strcpy(LogFont.lfFaceName, "楷体_GB2312"); ...
VC阅读全文