常用函数 2
0001、获取屏幕大小 2
0002、一次只运行一个程序实例,如果已运行则退出 2
0003、得到当前鼠标所在位置 2
0004、显示和隐藏程序菜单 2
0005、获取可执行文件的图标 3
0006、窗口自动靠边程序演示 3
0007、给系统菜单添加一个菜单项 4
0008、运行其它程序 5
0009、动态增加或删除菜单 5
0010、改变应用程序的图标 6
0011、改变窗口标题 6
0012、如何将位图缩放显示在 static 控件中 6
0013、引用 mfc中获取各种类指针 7
0014、获得各种目录信息 10
0015、改变控件的大小和位置 10
0016、如何获得本机主机名和ip地址 11
常用控件 12
按钮 12动态创建、删除按钮 12
编辑框 13
列表 13树控件 25
vc中给树形控件的图标加上工具提示 25
多功能编辑控件 29
1、自定义 cricheditctrl 控件 29
提示 32向导 34
菜单 41如何enable/disable菜单项 41
对话框 42
程序启动的登陆 42
理论知识 45
自定义消息 45
定时器 50
结束进程 53
cstring操作指南 55
细谈vc程序调试的若干方法 73
vc调试 77
自绘控件 80
注册表 81
经典扩展类 84
int cx = getsystemmetrics(sm_cxscreen); 宽度x
int cy = getsystemmetrics(sm_cyscreen); 高度y
if( findwindow(null," 程序标题 ")
exit(0);
cpoint pt;
getcursorpos(&pt); 得到位置。
cwnd *pwnd=afxgetmainwnd();
if(b_m) /隐藏菜单
pwnd->setmenu(null);
pwnd->drawmenubar();
b_m=false;
else
cmenu menu;
///显示菜单也可改变菜单项
pwnd->setmenu(&menu);
pwnd->drawmenubar();
b_m=true;
hicon hicon=::extracticon(afxgetinstancehandle(),t(""0);
if (hicon &&hicon!=(hicon)-1)
pdc->drawicon(10,10,hicon);
destroyicon(hicon);
bool adjustpos(crect* lprect)
// 自动靠边
int isx=getsystemmetrics(sm_cxfullscreen);
int isy=getsystemmetrics(sm_cyfullscreen);
rect rworkarea;
bool bresult = systemparametersinfo(spi_getworkarea, sizeof(rect), rworkarea, 0);
crect rcwa;
if(!bresult)
else rcwa=rworkarea;
int ix=lprect->left;
int iy=lprect->top;
if(ix < detastep &&ix!=
if(iy < detastep &&iy!=
if(ix + lprect->width() detastep &&ix !=width())
if(iy + lprect->height() detastep &&iy !=height())
return false;
/ 然后在 onmoveing 事件中使用所下过程调用
crect r=*prect;
adjustpos(&r);
prect=(rect)r;
给系统菜单添加一个菜单项需要进行下述三个步骤:
首先,使用 resource symbols 对话(在 view 菜单中选择 resource symbols ..可以显示该对话)定义菜单项 id ,该 id 应大于 0x 0f 而小于 0xf000 ;
其次,调用 cwnd::getsystemmenu 获取系统菜单的指针并调用 cwnd:: appendmenu 将菜单项添加到菜单中。
int cmainframe:: oncreate (lpcreatestruct lpcreatestruct)
//make sure system menu item is in the right range.
assert(idm_mysysitem<0xf000);
//get pointer to system menu.
cmenu* psysmenu=getsystemmenu(false);
assert_valid(psysmenu);
//add a separator and our menu item to system menu.
cstring strmenuitem(_t ("new menu item"))
psysmenu->appendmenu(mf_separator);
VC学习过程
vc 是一个c 语言程序的编译器,因此学习vc 首先要学会c 而c 又需要较好的c基础,所以c语言也要学。如果主要目标是vc 学c可以不学它的c标准库,但是c的语法一定要学好,否则c 也不能学的很扎实,因为c 是遵从c的语法的,如果对c的语法尤其是一些细节不是很清楚,也必然不能很好得理解并编写c 学...
VC 学习笔记
vc 1 q a 2c 语法 2 杂项 2typedef 2 switch语句 3 include的写法 4 define的用法 4 声明 4函数的整体结构 4 类 4抽象,继承,封装,多态性 5 虚函数 5纯虚函数 5 函数重载 5 const 6 指针和引用传递参数 7 this指针 8 c 构...
VC 学习笔记
vc 1 q a 2c 语法 2 杂项 2typedef 2 switch语句 3 include的写法 4 define的用法 4 声明 4函数的整体结构 4 类 4抽象,继承,封装,多态性 5 虚函数 5纯虚函数 5 函数重载 5 const 6 指针和引用传递参数 7 this指针 8 c 构...