VC++问题集16
来源:互联网 发布:linux系统安装snmp服务 编辑:程序博客网 时间:2024/05/16 01:19
161.
MFC应用程序关闭了窗口但进程没有退出。
可能原因:
在构造函数和析构函数中添加了一写代码,因为在派生类的构造函数中会自动调用基类的默认构造函数,不应该手动调用,析构函数 也是如此。
162.
SCROLLINFO结构
typedef struct tagSCROLLINFO {
UINT cbSize;
UINT fMask;
int nMin;
int nMax;
UINT nPage;
int nPos;
int nTrackPos;
} SCROLLINFO, *LPSCROLLINFO;
typedef SCROLLINFO CONST *LPCSCROLLINFO;
//////////////////
cbSize是结构大小,填sizeof(SCROLLINFO)
fMask指定使用结构中哪些成员,不指定的就不使用
可以是以下几个值的任意组合
SIF_ALL
SIF_DISABLENOSCROLL
SIF_PAGE
SIF_POS
SIF_RANGE
SIF_TRACKPOS
后面是最小位置,最大位置,page size,设置(或获得)位置, immediate position
nPage是每滚动一页的大小,也就是在滚动条空白区域点击的效果,滚动条的长度是一页的大小相对于总的范围的大小。
163.
如何获得一组单选按钮中选中的单选按钮:
设置一组单选按钮中选中的按钮可以用CWnd::CheckRadioButton(...);
获得可以用CWnd::GetCheckRadioButton(...);
164.
如何从Dll文件中导出C++类。
新建Win32 Dynamic-Link library工程。在此工程中定义要导出的类名。声明为__declspec(dllexport)
例如:
class __declspec(dllexport) A{
A(){};
~A(){};
void ShowMessage(){
AfxMessageBox("I am Wjh");
}
};
即可,编译生成Dll文件和lib文件。
然后新建一个工程dlltest用来测试刚生成的dll文件。
把前面生成的两个文件拷贝到dlltest目录下。然后拷贝一下类的声明,
class __declspec(dllimport) A{
A();
~A();
void ShowMessage();
};
把标识__declspec(dllexport)改成__declspec(dllimport)即可。
在工程中设置lib文件的路径,这样就可以定义类A使用了。
165.
如何在输入列表框项目中直接给CComboBox空间添加多条数据?
直接输入数据,若需要多条数据可按ctrl+回车,换行输入即可.
166.
如何让应用程序窗口一创建就全屏显示,但不覆盖任务栏?
方法如下:
1.得到屏幕的宽度和高度;
2.得到任务栏的窗口指针,进而得到任务栏的高度.
3.CMainFrame::PreCreateWindow调用前设置CREATESTRUCT& cs.我们可以把这些设置放在CMainFrame::PreCreateWindow调用的最前面即可.
示例代码如下:
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
//改变窗口显示大小,让窗口一创建的时候就全屏显示,但不覆盖状态栏
cs.x=0;
cs.y=0;
cs.cx=::GetSystemMetrics(SM_CXSCREEN);
HWND hWnd=::FindWindow("Shell_TrayWnd",0);//得到状态栏窗口指针
RECT Rect;
if(::GetWindowRect(hWnd,&Rect)) //得到状态栏窗口矩形
{
cs.cy=::GetSystemMetrics(SM_CYSCREEN)-Rect.bottom+Rect.top;
}
else{
cs.cy=::GetSystemMetrics(SM_CYSCREEN)-25;
}
m_clientRect.SetRect(0,0,cs.cx,cs.cy);//记下窗口显示区域
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
cs.dwExStyle &= ~WS_EX_CLIENTEDGE;
cs.lpszClass = AfxRegisterWndClass(0);
return TRUE;
}
167.
设置连续单选框中选中按钮.
调用函数CheckRadioButton即可.
168.
如何设置编辑框中显示的字体。
只需调用函数CWnd::SetFont(...);即可。注意:字体要为全局变量在编辑框作用范围过程中该字体要一直保存着。
169.
内存分配问题。
我在视图A中定义了一个自定义空间类型的指针aa,但在OnCreate中用new的方法给他分配内存,总是出现异常。
我的视图A和框架F和视图B的关系是:框架F中先创建视图B,在B中有个单击事件创建视图A,但A的父窗口指定为F.这样就出现了new的异常.
经过一番检查后我把A指向的父窗口改成B就没问题了.
我不知道是因为不能指向框架F的原因还是因为在B中没有得到框架F的正确指针的问题.
170.
error LNK2001: unresolved external symbol __endthreadex
error LNK2001: unresolved external symbol __beginthreadex错误。
解决办法:
alt+f7-->c++--->分类--->code grnerate--->use runtime lib to 多线程
- VC++问题集16
- VC++问题集4
- VC++问题集5
- VC++问题集6
- VC++问题集7
- VC++问题集8
- VC++问题集9
- VC++问题集10
- VC++问题集11
- VC++问题集12
- VC++问题集13
- vc++问题集14
- VC++问题集15
- vc 编译ffmpeg问题集
- vc问题
- VC++ 问题
- VC问题
- VC问题
- QuickPart应用(2)-------实现QuickPart 属性定制
- 在同一台机器上运行多个MySQL服务器
- jdk自带vm分析工具jps,jstat,jmap,jconsole
- Useful Function Modules -- 更新中
- UCOS-II移植到三星S3C44B0X(ARM7)
- VC++问题集16
- asp.net播放mp3,wma, avi音频视频
- 唯大英雄能真本色——leo推荐程序员小说《敏捷无敌》
- TortoiseSVN简明教程
- QuickPart应用(3)---------利用QuickPart实现webpart connection
- 综合布线系统设计与实现
- 浅谈php插件扩展--self_concat
- Java性能优化的策略和常见方法(二)
- 导出SQL2000的数据模型图为脚本