-
VC++ 设置打印图形的位置
VC++ 6.0 设置打印图形的位置,实现所见即所得的打印功能。
if(pDC->IsPrinting())//判断是否因打印或打印预览而调用OnPrepareDC()函数
{
pDC->SetViewportOrg(250,400);//设置视口坐标原点
}
//以下为显示和打印的内容
pDC->TextOut(10,10,"实现所见即所得的打印");
pDC->SetBkMode(TRANSPARENT);
pDC->Rectangle(10,40,310,350);
pDC->Ellipse(50,50,210,220);
pDC->Ellipse(70,240,280,320)
//设置映射模式
pDC->SetMapMode(MM_ANISOTROPIC);
CSize winSize = CSize(1024,768);
pDC->SetWindowExt(winSize); //设定窗口大小
//得到实际设备每逻辑英寸的像素数量
int xLogPixPerInch,yLogPixPerInch;
xLogPixPerInch=pDC->GetDeviceCaps(LOGPIXELSX);
yLogPixPerInch=pDC->GetDeviceCaps(LOGPIXELSY);
//得到设备坐标和逻辑坐标的比例
以下是实现打印:
int xExt,yExt;
xExt=winSize.cx*600/xLogPixPerInch; //按照打印机扩大视口
yExt=winSize.cy*600/yLogPixPerInch;
pDC->SetViewportExt(xExt,yExt); //设定视口大小
- 2022-01-27 16:52:24下载
- 积分:1
-
VC++ 6.0“通讯簿”程序示例
VC++ 6.0仿Windows“通讯簿”程序示例,其实是个挺不错的程序,不管是功能或是界面,都做的不错。可对通讯录中的人进行分类管理,每个记录在通讯录中的联系人,都包括了详细信息,比如城市、传真、移动电话、家庭电话、邮编、省/自治区、街道地址、国家等信息,业务中的联系人则与普通联系人的信息不一样,比如显示、城市、部门、职务、传真、业务名、办公室、邮编、街道地址等,有兴趣可下载源码二次开发。
- 2022-05-20 01:58:32下载
- 积分:1
-
2种方案的VC++ 界面换肤模块
一个挺有用的VC++ 界面换肤模块,里面包括了了两种换肤方案,“方案一”文件夹中实现的是加载皮肤文件实现界面换肤,“方案二”文件夹中实现的是加载组件库实现界面换肤。
加载皮肤文件实现界面换肤:选择“界面修改”/“加载界面文件”命令,在打开的窗口中选择皮肤文件(.ski),即可更换界面皮肤.
另外还有加载组件库实现界面换肤,使用的是WndDll.dll,请下载源码具体测试吧。
加载窗体皮肤文件要注意:窗体各部分位图资源:
0,1,2: 分别为标题栏的左中右3部分
3,4,5: 分别为左,下,右边框
6,7,8,9,10,11: 为标题栏普通按钮和热点按钮
12,13: 表示左下角和右下角位图
14: 表示背景位图
- 2022-03-23 09:54:11下载
- 积分:1
-
VC++ 向程序中手工添加WinHelp帮助文件
VC++ 向程序中手工添加WinHelp帮助文件,也就是在程序中调用帮助。一个完善的软件系统,不可缺少帮助系统。本程序演示在VC++开发中,手动从外部添加WinHelp帮助文件,本实例 中是添加调用了Windows7系统中的两个帮助文件,点击菜单项的“帮助”,选择“帮助主题”和“绘制直线帮助”两个功能,即可演示本功能的效果。
- 2022-01-25 14:39:21下载
- 积分:1
-
VC++ 生成Brush笔刷程序
VC++ 生成Brush笔刷程序,使用了三种方法创建笔刷,第一种和第二种使用构造函数,第三种 创建CBrush类的一个对象myBrush3,调用CreateBrushIndirect()函数。创建了纯色、斜纹、网状方格三种形式的笔刷。
void CCreateBrushView::OnDraw(CDC* pDC)
{
CCreateBrushDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
// 第一种方法创建画刷
// 定义时调用构造函数
CBrush myBrush1(RGB(0,0,255));
CBrush* pOldBrush1 = pDC->SelectObject(&myBrush1);
pDC->Rectangle(100,150,250,400);
// 恢复画刷对象
pDC->SelectObject(pOldBrush1);
// 第二种方法创建画刷
// 定义时调用构造函数
CBrush myBrush2(HS_BDIAGONAL,RGB(255,0,0));
CBrush* pOldBrush2 = pDC->SelectObject(&myBrush2);
pDC->Rectangle(300,100,450,360);
// 恢复画刷对象
pDC->SelectObject(pOldBrush2);
// 第三种方法创建画刷
// 创建CBrush类的一个对象myBrush3
CBrush myBrush3;
// 设置LOGBRUSH结构;
LOGBRUSH lb;
lb.lbStyle = BS_HATCHED;
lb.lbColor = RGB(0,255,0);
lb.lbHatch = HS_CROSS;
// 调用CreateBrushIndirect()函数
myBrush3.CreateBrushIndirect(&lb);
CBrush* pOldBrush3 = pDC->SelectObject(&myBrush
- 2022-01-30 23:25:40下载
- 积分:1
-
VC++ 自定义每个Tab内的Dlg效果
VC++ 创建窗体的Tab,为每一个TAB页创建不同的Dlg,如图所示,每一个TAB内有可能是一张图片,也有可能是一个登录界面或一个Combobox,或者是一个树形菜单,总之,每个TAB除了隔离显示内容外,还自定义了多种形式的数据,增加了TAB窗口的实用性,最终运行效果请参见截图所示。
- 2022-08-21 06:29:38下载
- 积分:1
-
VC 6.0 示波器源码
一个漂亮的VC++示波器生成类附源码实例,美观实用,如果你在编写一款采样软件,那么这个示例或许对你很有用,另附上一个示例代码,希望对大家有所帮助。该类提供了一些方法可供调用,比较方便。如果要显示采集到的数据,只要简单的调用就可以了。
- 2022-10-20 06:05:04下载
- 积分:1
-
西工大C++ 毕设论文:折半查找法演示器
西工大C++ 毕设论文:折半查找法演示器,里面包括了一个毕业论文的模板,本程序演示的功能是折半查找法,测试时请输入你想要查找数据的数据表列的数据个数(1--50),还需要输入你要在其中查找数据的数据表列(%d个数据 用空格间隔 大小排序不限),然后利用折半次数计数器和循环显示每次折半查找后的表列,输出此次折半后中间数据,引用putout函数,输出该次折半后数表,最后按照从小到大顺序输出表列。
在参数定义中:count为折半次数计数器,n为数表数据个数,num存储所查数据。
更多详细代码,请下载本源码包,可作为毕业设计论文的参考资料。
- 2022-03-10 04:58:43下载
- 积分:1
-
VC++ 6.0 使用消息实现线程通信
线程通信:使用消息实现线程通信,一个了解多线程与消息通信的例子,以下是实现的主要代码:
LRESULT CThreadCommunicationDlg::OnDisplayResult(WPARAM wParam,LPARAM lParam)
{
int nResult = (int)wParam;
SetDlgItemInt(IDC_STATIC_RESULT,nResult,FALSE);
return 0;
}
void CThreadCommunicationDlg::OnButtonCalculate()
{
m_pCalculateThread=
(CCalculateThread*)AfxBeginThread(RUNTIME_CLASS(CCalculateThread));
Sleep(200);
m_pCalculateThread->PostThreadMessage(WM_CALCULATE,m_nLastOperand,NULL);
}
完整的源代码请下载本源码包。
- 2022-02-02 07:06:27下载
- 积分:1
-
VC++ 首字母大写自动转换源码
VC++拼音首字母大写自动转换程序,获取汉字的拼音首字母,并把首字母转换成大写,这是个VC.NET程序,我电脑上暂时没有编译环境,没有抓到截图,部分代码如下:
class CUpperFirstLetterApp : public CWinAppEx
{
public:
CUpperFirstLetterApp();
// 重写
public:
virtual BOOL InitInstance();
// 实现
DECLARE_MESSAGE_MAP()
};
- 2022-04-18 02:09:56下载
- 积分:1