小第正在入门VC,问一些问题,可能对你们来说很简单,我的msdn不完全,我是真查不到才问的,只要答一题就可得10分。
问题1:怎么读出列表框中用户选中的行的字符串,我试过了用:GetLBText(),可提示它不是列表框的成员函数。问题2:
怎么得到组合框中用户输入的字符串,我知道它有GetLBText()成员函数,可参数是多少呢?我用GetCurSel()试了,只要不选择,它返回的是-1,所以肯定不行。问题3:
我用MFC建了个基于对话框的工程,于是生成CAboutDlg,CXXXApp,CXXXXDlg三个类,请问他们的关系,谁调用谁,还是并列?问题4:
类似于
//{{AFX_DATA(...)
...
...
}}//AFX_DATA
中的东西是什么,哪些数据会被放在里面?问题5:
类似于enum{IDD=IDD_ABOUTBOX}的语句是什么东西?问题6:
假如我做了三个Edit框,UpDateData()会更新所有三个框中的数据,如果我只要更新一个怎么办?问题7:
请告诉我一个发声函数,越简单越好,没有参数的最好,我只是调试时用。问题8:
LINK:Waring LNK4089:all references to "SHELL32.dll" discarded by OPT:RET
是什么错误,但我用共享dll编译程序时,却没有此错误,只有在用静态时才有。问题9:
AfxMessageBox("xxxx");AfxMessageBox(TEXT("xxxx"));
AfxMessageBox(_T("xxxx"));这三个调用有什么区别?问题10:
在用SDK编程时,消息处理函数前我见过两种标识LRESULT FAR PASCAL和
LRESULT CALLBACK请问他们的区别在哪里,是什么意思?
问题1:怎么读出列表框中用户选中的行的字符串,我试过了用:GetLBText(),可提示它不是列表框的成员函数。问题2:
怎么得到组合框中用户输入的字符串,我知道它有GetLBText()成员函数,可参数是多少呢?我用GetCurSel()试了,只要不选择,它返回的是-1,所以肯定不行。问题3:
我用MFC建了个基于对话框的工程,于是生成CAboutDlg,CXXXApp,CXXXXDlg三个类,请问他们的关系,谁调用谁,还是并列?问题4:
类似于
//{{AFX_DATA(...)
...
...
}}//AFX_DATA
中的东西是什么,哪些数据会被放在里面?问题5:
类似于enum{IDD=IDD_ABOUTBOX}的语句是什么东西?问题6:
假如我做了三个Edit框,UpDateData()会更新所有三个框中的数据,如果我只要更新一个怎么办?问题7:
请告诉我一个发声函数,越简单越好,没有参数的最好,我只是调试时用。问题8:
LINK:Waring LNK4089:all references to "SHELL32.dll" discarded by OPT:RET
是什么错误,但我用共享dll编译程序时,却没有此错误,只有在用静态时才有。问题9:
AfxMessageBox("xxxx");AfxMessageBox(TEXT("xxxx"));
AfxMessageBox(_T("xxxx"));这三个调用有什么区别?问题10:
在用SDK编程时,消息处理函数前我见过两种标识LRESULT FAR PASCAL和
LRESULT CALLBACK请问他们的区别在哪里,是什么意思?
解决方案 »
- 请问一下我用MarkupSTL解析时,有的内容是大结果就解出乱码来了,这个怎么办啊?
- 使用IHTMLDocument2,如何获取页面上的text控件名和控件中的内容
- UDP通信中,能实时接收50ms/帧(1000字节)的数据吗?
- [中等难度问题]关于系统对个别绘图函数不兼容问题?我在W_ME和W2K下的结果不同?
- 如何用回车切换控件的焦点?
- 请问怎么关掉一个SOCKET连接?
- 请教那个函数可以把一个字符串转换成GBK编码的,例如
- 请问:用CFilDialog打开多个文件时,如何纪录下所打开的多个文件名???(很急)(100请进)
- 请教
- 绝望,加100分,为什么我的try catch 编译总通不过,系统说在try 后要加分号
- 对话框最小化恢复后闪动
- 了解rle压缩请帮帮忙
int CListBox::GetCurSel();
int GetText( int nIndex, LPTSTR lpszBuffer ) const;
void GetText( int nIndex, CString& rString ) const;
得到当前选择的字符串
假如你的列表框控件为listbox;
CString str;
listbox.GetText(listbox.GetCurSel(),str);问题2:
响应CComboBox的CBN_EDITCHANGE消息,调用CComboBox::GetWindowText(CString &str)得到输入的字符.
问题3,建议你看看MFC程序设计之类的书,上面讲的很详细.问题4:
For dialog boxes, form views, and record views, ClassWizard creates and edits three other sections that are ed with special format comments: Member variable declarations in the class header file:
//{{AFX_DATA
..
//}}AFX_DATAMember variable initialization in the class implementation file:
//{{AFX_DATA_INIT
..
//}}AFX_DATA_INITData-exchange macros in the implementation file:
//{{AFX_DATA_MAP
..
//}}AFX_DATA_MAP
问题5:
如果仅从语法角度看,是一个枚举变量的声明,它表示对话框的资源ID.问题6:
你可以调用任一派生自CWnd的C++类的UpdateData()函数.问题7:
BOOL MessageBeep(
UINT uType // sound type
);
Parameters
uType
Specifies the sound type, as identified by an entry in the [sounds] section of the registry. This parameter can be one of the following values: Value Sound
0xFFFFFFFF Standard beep using the computer speaker
MB_ICONASTERISK SystemAsterisk
MB_ICONEXCLAMATION SystemExclamation
MB_ICONHAND SystemHand
MB_ICONQUESTION SystemQuestion
MB_OK SystemDefault 没有时间了,剩下的三个一会再帖出来:)
我去买部完整的msdn,可能就不会问很低级的问题了,因为有些东西虽然低级,但只要不知道,再
好的戏也出不来啊!
OPT:RET ?!
没有这个选项,应该是OPT:REF吧?
使用 /OPT:REF 来排除没有引用的函数或数据.是编译器优化的结果.问题9:
_T和_TEXT是一样的,用以在声明_UNICODE 的情况下把其所映射的字符转化为相应的unicode字符集.问题10:
CALLBACK 在应用程序回调函数如windows 过程和对话框过程中取代FAR PASCAL .后者现在已经被废弃.讲到这里就一定要谈下calling conventions:
__cdecl, __stdcall, __fastcall,他们声明的函数在栈的维护和参数入栈顺序方面存在差异以满足不同的需要.规则如下:
关键字 栈的清空(维护者) 参数传递
__cdecl 调用者 入栈,反序(右->左)
__stdcall 被调用者 入栈,反序(右->左)
__fastcall 被调用者 存寄存器,入栈
thiscall(不是关键字) 被调用者 入栈,this指针存入ECX废弃的关键字:
__pascal, __fortran, 和 __syscall
对三个Edit框设置响应变量(类型为CEdit)m_edit1,m_edit2,m_edit3
选择你需要更新的(如m_edit1),在代码中m_eidt1.UpdateData();